Changes in / [66f8528:5802a4f]
- Files:
-
- 7 added
- 40 deleted
- 70 edited
-
.gitignore (modified) (1 diff)
-
Jenkinsfile (modified) (3 diffs)
-
Makefile.am (modified) (1 diff)
-
Makefile.in (modified) (6 diffs)
-
aclocal.m4 (modified) (2 diffs)
-
automake/config.guess (deleted)
-
automake/config.sub (deleted)
-
configure (modified) (16 diffs)
-
configure.ac (modified) (4 diffs)
-
doc/proposals/NOTE.txt (deleted)
-
doc/proposals/closure.md (deleted)
-
doc/proposals/concurrency/Makefile (modified) (1 diff)
-
doc/proposals/concurrency/concurrency.tex (modified) (28 diffs)
-
doc/proposals/concurrency/glossary.tex (modified) (1 diff)
-
doc/proposals/concurrency/style.tex (modified) (1 diff)
-
doc/proposals/concurrency/version (modified) (1 diff)
-
doc/proposals/references.md (deleted)
-
doc/proposals/references.pdf (deleted)
-
doc/proposals/virtual.txt (deleted)
-
doc/proposals/void_ptr.md (deleted)
-
doc/proposals/void_ptr.pdf (deleted)
-
doc/proposals/zero_one.md (deleted)
-
doc/proposals/zero_one.pdf (deleted)
-
doc/working/resolver_design.md (modified) (1 diff)
-
src/CodeGen/CodeGenerator.cc (modified) (4 diffs)
-
src/CodeGen/CodeGenerator.h (modified) (2 diffs)
-
src/CodeGen/GenType.cc (modified) (2 diffs)
-
src/CodeGen/OperatorTable.cc (modified) (2 diffs)
-
src/Common/Assert.cc (modified) (4 diffs)
-
src/Common/utility.h (modified) (2 diffs)
-
src/InitTweak/FixInit.cc (modified) (1 diff)
-
src/InitTweak/InitTweak.cc (modified) (5 diffs)
-
src/Makefile.am (modified) (1 diff)
-
src/Makefile.in (modified) (6 diffs)
-
src/Parser/DeclarationNode.cc (modified) (8 diffs)
-
src/Parser/ExpressionNode.cc (modified) (2 diffs)
-
src/Parser/ParseNode.h (modified) (5 diffs)
-
src/Parser/TypeData.cc (modified) (8 diffs)
-
src/Parser/TypeData.h (modified) (3 diffs)
-
src/Parser/lex.cc (modified) (25 diffs)
-
src/Parser/lex.ll (modified) (3 diffs)
-
src/Parser/parser.cc (modified) (240 diffs)
-
src/Parser/parser.h (modified) (3 diffs)
-
src/Parser/parser.yy (modified) (36 diffs)
-
src/Parser/parseutility.cc (modified) (3 diffs)
-
src/ResolvExpr/CommonType.cc (modified) (4 diffs)
-
src/ResolvExpr/Resolver.cc (modified) (3 diffs)
-
src/ResolvExpr/Unify.cc (modified) (1 diff)
-
src/ResolvExpr/Unify.h (modified) (2 diffs)
-
src/SymTab/Autogen.h (modified) (3 diffs)
-
src/SynTree/Declaration.h (modified) (4 diffs)
-
src/SynTree/DeclarationWithType.cc (modified) (3 diffs)
-
src/SynTree/Expression.cc (modified) (1 diff)
-
src/SynTree/Type.h (modified) (1 diff)
-
src/driver/Makefile.am (modified) (1 diff)
-
src/driver/Makefile.in (modified) (6 diffs)
-
src/driver/cfa.cc (modified) (2 diffs)
-
src/examples/ArrayN.c (deleted)
-
src/examples/Bench.c (deleted)
-
src/examples/Makefile.am (modified) (1 diff)
-
src/examples/Makefile.in (modified) (11 diffs)
-
src/examples/zero_one.c (deleted)
-
src/libcfa/Makefile.am (modified) (3 diffs)
-
src/libcfa/Makefile.in (modified) (25 diffs)
-
src/libcfa/assert (deleted)
-
src/libcfa/assert.c (deleted)
-
src/libcfa/builtins.c (added)
-
src/libcfa/builtins.def (added)
-
src/libcfa/concurrency/CtxSwitch-i386.S (deleted)
-
src/libcfa/concurrency/CtxSwitch-i686.S (deleted)
-
src/libcfa/concurrency/CtxSwitch-x86_64.S (deleted)
-
src/libcfa/concurrency/invoke.c (deleted)
-
src/libcfa/concurrency/invoke.h (deleted)
-
src/libcfa/concurrency/threads (deleted)
-
src/libcfa/concurrency/threads.c (deleted)
-
src/libcfa/extras.c (added)
-
src/libcfa/extras.regx (added)
-
src/libcfa/libhdr.h (deleted)
-
src/libcfa/libhdr/libalign.h (deleted)
-
src/libcfa/libhdr/libdebug.h (deleted)
-
src/libcfa/libhdr/libtools.h (deleted)
-
src/libcfa/prelude.cf (added)
-
src/libcfa/prototypes.awk (added)
-
src/libcfa/prototypes.c (added)
-
src/libcfa/stdhdr/assert.h (modified) (1 diff)
-
src/main.cc (modified) (3 diffs)
-
src/prelude/Makefile.am (deleted)
-
src/prelude/Makefile.in (deleted)
-
src/prelude/builtins.c (deleted)
-
src/prelude/builtins.def (deleted)
-
src/prelude/extras.c (deleted)
-
src/prelude/extras.regx (deleted)
-
src/prelude/prelude.cf (deleted)
-
src/prelude/prototypes.awk (deleted)
-
src/prelude/prototypes.c (deleted)
-
src/tests/.expect/32/declarationSpecifier.txt (modified) (25 diffs)
-
src/tests/.expect/32/extension.txt (modified) (2 diffs)
-
src/tests/.expect/32/gccExtensions.txt (modified) (3 diffs)
-
src/tests/.expect/64/declarationSpecifier.txt (modified) (1 diff)
-
src/tests/.expect/64/extension.txt (modified) (2 diffs)
-
src/tests/.expect/64/gccExtensions.txt (modified) (3 diffs)
-
src/tests/.expect/castError.txt (modified) (1 diff)
-
src/tests/.expect/completeTypeError.txt (modified) (1 diff)
-
src/tests/.expect/constant0-1DP.txt (modified) (1 diff)
-
src/tests/.expect/constant0-1NDDP.txt (modified) (1 diff)
-
src/tests/.expect/coroutine.txt (deleted)
-
src/tests/.expect/declarationErrors.txt (modified) (1 diff)
-
src/tests/.expect/dtor-early-exit-ERR1.txt (modified) (1 diff)
-
src/tests/.expect/dtor-early-exit-ERR2.txt (modified) (1 diff)
-
src/tests/.expect/memberCtors-ERR1.txt (modified) (1 diff)
-
src/tests/.expect/scopeErrors.txt (modified) (1 diff)
-
src/tests/.expect/voidPtr.txt (deleted)
-
src/tests/Makefile.am (modified) (4 diffs)
-
src/tests/Makefile.in (modified) (10 diffs)
-
src/tests/coroutine.c (deleted)
-
src/tests/test.py (modified) (9 diffs)
-
src/tests/voidPtr.c (deleted)
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r66f8528 r5802a4f 29 29 src/driver/cfa-cpp 30 30 31 src/ prelude/builtins.cf32 src/ prelude/extras.cf31 src/libcfa/builtins.cf 32 src/libcfa/extras.cf 33 33 src/libcfa/libcfa-prelude.c 34 34 -
Jenkinsfile
r66f8528 r5802a4f 23 23 //escapes the sandbox 24 24 //Also specify the compiler by hand 25 sh "./configure CXX=${currentCC.cpp_cc} ${flags} --with-backend-compiler=${currentCC.cfa_backend_cc} --prefix=${install_dir} --enable-silent-rules --quiet"25 sh "./configure CXX=${currentCC.cpp_cc} CXXFLAGS=${flags} CFAFLAGS=${flags} --with-backend-compiler=${currentCC.cfa_backend_cc} --prefix=${install_dir} --enable-silent-rules --quiet" 26 26 27 27 //Compile the project … … 33 33 dir ('src/tests') { 34 34 if (full_build) { 35 sh 'make all-tests debug=yes' 36 sh 'make all-tests debug=no' 35 sh 'make all-tests' 37 36 } 38 37 else { … … 167 166 168 167 bIsFullBuild = isFullBuild == 'true' 169 architectureFlag = '' 170 if (buildArchitecture == '64-bit') { 171 architectureFlag = '--host=x86_64 CXXFLAGS="-m64" CFAFLAGS="-m64"' 172 } else if (buildArchitecture == '32-bit'){ 173 architectureFlag = '--host=i386 CXXFLAGS="-m32" CFAFLAGS="-m32"' 174 } else { 175 architectureFlag = 'ERROR' 176 } 168 architectureFlag = buildArchitecture == '64-bit' ? '-m64' : (buildArchitecture == '32-bit' ? '-m32' : 'ERROR') 177 169 178 170 echo "FULL BUILD = ${isFullBuild}\nArchitecture = ${buildArchitecture} (flag ${architectureFlag})" -
Makefile.am
r66f8528 r5802a4f 11 11 ## Created On : Sun May 31 22:14:18 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Wed Dec 14 14:20:48 201614 ## Update Count : 1 513 ## Last Modified On : Fri Jun 17 14:56:18 2016 14 ## Update Count : 13 15 15 ############################################################################### 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 SUBDIRS = src/driver src src/ prelude src/libcfa # order important, src before preludebecause cfa-cpp used to build prelude18 SUBDIRS = src/driver src src/libcfa # order important, src before libcfa because cfa-cpp used to build prelude 19 19 EXTRA_DIST = Docs # non-source files 20 20 BACKEND_CC = @BACKEND_CC@ # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command -
Makefile.in
r66f8528 r5802a4f 35 35 PRE_UNINSTALL = : 36 36 POST_UNINSTALL = : 37 build_triplet = @build@38 host_triplet = @host@39 37 subdir = . 40 38 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ 41 39 $(srcdir)/Makefile.in $(srcdir)/config.h.in \ 42 40 $(top_srcdir)/configure INSTALL automake/compile \ 43 automake/ config.guess automake/config.sub automake/depcomp\44 automake/ install-sh automake/missing automake/ylwrap41 automake/depcomp automake/install-sh automake/missing \ 42 automake/ylwrap 45 43 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 46 44 am__aclocal_m4_deps = $(top_srcdir)/configure.ac … … 126 124 BACKEND_CC = @BACKEND_CC@ # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command 127 125 CC = @CC@ 128 CCAS = @CCAS@129 CCASDEPMODE = @CCASDEPMODE@130 CCASFLAGS = @CCASFLAGS@131 126 CCDEPMODE = @CCDEPMODE@ 132 127 CFA_BACKEND_CC = @CFA_BACKEND_CC@ … … 163 158 LIBS = @LIBS@ 164 159 LTLIBOBJS = @LTLIBOBJS@ 165 MACHINE_TYPE = @MACHINE_TYPE@166 160 MAINT = @MAINT@ 167 161 MAKEINFO = @MAKEINFO@ … … 195 189 am__untar = @am__untar@ 196 190 bindir = @bindir@ 197 build = @build@198 191 build_alias = @build_alias@ 199 build_cpu = @build_cpu@200 build_os = @build_os@201 build_vendor = @build_vendor@202 192 builddir = @builddir@ 203 193 datadir = @datadir@ … … 206 196 dvidir = @dvidir@ 207 197 exec_prefix = @exec_prefix@ 208 host = @host@209 198 host_alias = @host_alias@ 210 host_cpu = @host_cpu@211 host_os = @host_os@212 host_vendor = @host_vendor@213 199 htmldir = @htmldir@ 214 200 includedir = @includedir@ … … 235 221 top_srcdir = @top_srcdir@ 236 222 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 237 SUBDIRS = src/driver src src/ prelude src/libcfa # order important, src before preludebecause cfa-cpp used to build prelude223 SUBDIRS = src/driver src src/libcfa # order important, src before libcfa because cfa-cpp used to build prelude 238 224 EXTRA_DIST = Docs # non-source files 239 225 MAINTAINERCLEANFILES = lib/* bin/* src/examples/.deps/* src/tests/.deps/* src/tests/.out/* -
aclocal.m4
r66f8528 r5802a4f 60 60 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) 61 61 62 # Figure out how to run the assembler. -*- Autoconf -*-63 64 # Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.65 #66 # This file is free software; the Free Software Foundation67 # gives unlimited permission to copy and/or distribute it,68 # with or without modifications, as long as this notice is preserved.69 70 # serial 571 72 # AM_PROG_AS73 # ----------74 AC_DEFUN([AM_PROG_AS],75 [# By default we simply use the C compiler to build assembly code.76 AC_REQUIRE([AC_PROG_CC])77 test "${CCAS+set}" = set || CCAS=$CC78 test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS79 AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)])80 AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])81 _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl82 ])83 84 62 # AM_AUX_DIR_EXPAND -*- Autoconf -*- 85 63 … … 135 113 # expand $ac_aux_dir to an absolute path 136 114 am_aux_dir=`cd $ac_aux_dir && pwd` 137 ])138 139 # AM_COND_IF -*- Autoconf -*-140 141 # Copyright (C) 2008, 2010 Free Software Foundation, Inc.142 #143 # This file is free software; the Free Software Foundation144 # gives unlimited permission to copy and/or distribute it,145 # with or without modifications, as long as this notice is preserved.146 147 # serial 3148 149 # _AM_COND_IF150 # _AM_COND_ELSE151 # _AM_COND_ENDIF152 # --------------153 # These macros are only used for tracing.154 m4_define([_AM_COND_IF])155 m4_define([_AM_COND_ELSE])156 m4_define([_AM_COND_ENDIF])157 158 159 # AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])160 # ---------------------------------------161 # If the shell condition COND is true, execute IF-TRUE, otherwise execute162 # IF-FALSE. Allow automake to learn about conditional instantiating macros163 # (the AC_CONFIG_FOOS).164 AC_DEFUN([AM_COND_IF],165 [m4_ifndef([_AM_COND_VALUE_$1],166 [m4_fatal([$0: no such condition "$1"])])dnl167 _AM_COND_IF([$1])dnl168 if test -z "$$1_TRUE"; then :169 m4_n([$2])[]dnl170 m4_ifval([$3],171 [_AM_COND_ELSE([$1])dnl172 else173 $3174 ])dnl175 _AM_COND_ENDIF([$1])dnl176 fi[]dnl177 115 ]) 178 116 -
configure
r66f8528 r5802a4f 616 616 YFLAGS 617 617 YACC 618 am__fastdepCCAS_FALSE619 am__fastdepCCAS_TRUE620 CCASDEPMODE621 CCASFLAGS622 CCAS623 618 am__fastdepCC_FALSE 624 619 am__fastdepCC_TRUE … … 644 639 CXXFLAGS 645 640 CXX 646 MACHINE_TYPE647 host_os648 host_vendor649 host_cpu650 host651 build_os652 build_vendor653 build_cpu654 build655 641 CFA_FLAGS 656 642 CFA_LIBDIR … … 658 644 CFA_INCDIR 659 645 CFA_PREFIX 660 BUILD_NO_LIB_FALSE661 BUILD_NO_LIB_TRUE662 BUILD_DEBUG_FALSE663 BUILD_DEBUG_TRUE664 BUILD_RELEASE_FALSE665 BUILD_RELEASE_TRUE666 646 CFA_BACKEND_CC 667 647 BACKEND_CC … … 740 720 enable_maintainer_mode 741 721 with_backend_compiler 742 enable_target_release743 enable_target_debug744 722 enable_dependency_tracking 745 723 ' … … 755 733 CC 756 734 CFLAGS 757 CCAS758 CCASFLAGS759 735 YACC 760 736 YFLAGS … … 1363 1339 --program-suffix=SUFFIX append SUFFIX to installed program names 1364 1340 --program-transform-name=PROGRAM run sed PROGRAM on installed program names 1365 1366 System types:1367 --build=BUILD configure for building on BUILD [guessed]1368 --host=HOST cross-compile to build programs to run on HOST [BUILD]1369 1341 _ACEOF 1370 1342 fi … … 1384 1356 --disable-maintainer-mode disable make rules and dependencies not useful 1385 1357 (and sometimes confusing) to the casual installer 1386 --enable-target-release Build and install the release target1387 --enable-target-debug Build and install the debug target1388 1358 --disable-dependency-tracking speeds up one-time build 1389 1359 --enable-dependency-tracking do not reject slow dependency extractors … … 1404 1374 CC C compiler command 1405 1375 CFLAGS C compiler flags 1406 CCAS assembler compiler command (defaults to CC)1407 CCASFLAGS assembler compiler flags (defaults to CFLAGS)1408 1376 YACC The `Yet Another Compiler Compiler' implementation to use. 1409 1377 Defaults to the first program found out of: `bison -y', `byacc', … … 3111 3079 3112 3080 3113 3114 3115 # Check whether --enable-target-release was given.3116 if test "${enable_target_release+set}" = set; then :3117 enableval=$enable_target_release;3118 fi3119 3120 # Check whether --enable-target-debug was given.3121 if test "${enable_target_debug+set}" = set; then :3122 enableval=$enable_target_debug;3123 fi3124 3125 3126 case "$enable_target_release" in3127 yes)3128 case "$enable_target_debug" in3129 yes)3130 build_release="yes"3131 build_debug="yes"3132 ;;3133 no)3134 build_release="yes"3135 build_debug="no"3136 ;;3137 *)3138 build_release="yes"3139 build_debug="no"3140 ;;3141 esac3142 ;;3143 no)3144 case "$enable_target_debug" in3145 yes)3146 build_release="no"3147 build_debug="yes"3148 ;;3149 no)3150 build_release="no"3151 build_debug="no"3152 ;;3153 *)3154 build_release="no"3155 build_debug="yes"3156 ;;3157 esac3158 ;;3159 *)3160 case "$enable_target_debug" in3161 yes)3162 build_release="no"3163 build_debug="yes"3164 ;;3165 no)3166 build_release="yes"3167 build_debug="no"3168 ;;3169 *)3170 build_release="yes"3171 build_debug="yes"3172 ;;3173 esac3174 ;;3175 esac3176 3177 if test "x$build_release" = "xyes"; then3178 BUILD_RELEASE_TRUE=3179 BUILD_RELEASE_FALSE='#'3180 else3181 BUILD_RELEASE_TRUE='#'3182 BUILD_RELEASE_FALSE=3183 fi3184 3185 if test "x$build_debug" = "xyes"; then3186 BUILD_DEBUG_TRUE=3187 BUILD_DEBUG_FALSE='#'3188 else3189 BUILD_DEBUG_TRUE='#'3190 BUILD_DEBUG_FALSE=3191 fi3192 3193 if test "x$build_release$build_debug" = "xnono"; then3194 BUILD_NO_LIB_TRUE=3195 BUILD_NO_LIB_FALSE='#'3196 else3197 BUILD_NO_LIB_TRUE='#'3198 BUILD_NO_LIB_FALSE=3199 fi3200 3201 3202 3081 if test "x$prefix" = "xNONE"; then 3203 3082 cfa_prefix=${ac_default_prefix} … … 3258 3137 3259 3138 CFA_FLAGS=${CFAFLAGS} 3260 3261 3262 # Make sure we can run config.sub.3263 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||3264 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 53265 3266 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&53267 $as_echo_n "checking build system type... " >&6; }3268 if ${ac_cv_build+:} false; then :3269 $as_echo_n "(cached) " >&63270 else3271 ac_build_alias=$build_alias3272 test "x$ac_build_alias" = x &&3273 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`3274 test "x$ac_build_alias" = x &&3275 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 53276 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||3277 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 53278 3279 fi3280 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&53281 $as_echo "$ac_cv_build" >&6; }3282 case $ac_cv_build in3283 *-*-*) ;;3284 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;3285 esac3286 build=$ac_cv_build3287 ac_save_IFS=$IFS; IFS='-'3288 set x $ac_cv_build3289 shift3290 build_cpu=$13291 build_vendor=$23292 shift; shift3293 # Remember, the first character of IFS is used to create $*,3294 # except with old shells:3295 build_os=$*3296 IFS=$ac_save_IFS3297 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac3298 3299 3300 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&53301 $as_echo_n "checking host system type... " >&6; }3302 if ${ac_cv_host+:} false; then :3303 $as_echo_n "(cached) " >&63304 else3305 if test "x$host_alias" = x; then3306 ac_cv_host=$ac_cv_build3307 else3308 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||3309 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 53310 fi3311 3312 fi3313 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&53314 $as_echo "$ac_cv_host" >&6; }3315 case $ac_cv_host in3316 *-*-*) ;;3317 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;3318 esac3319 host=$ac_cv_host3320 ac_save_IFS=$IFS; IFS='-'3321 set x $ac_cv_host3322 shift3323 host_cpu=$13324 host_vendor=$23325 shift; shift3326 # Remember, the first character of IFS is used to create $*,3327 # except with old shells:3328 host_os=$*3329 IFS=$ac_save_IFS3330 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac3331 3332 3333 MACHINE_TYPE=$host_cpu3334 3139 3335 3140 … … 4698 4503 am__fastdepCC_TRUE='#' 4699 4504 am__fastdepCC_FALSE= 4700 fi4701 4702 4703 # By default we simply use the C compiler to build assembly code.4704 4705 test "${CCAS+set}" = set || CCAS=$CC4706 test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS4707 4708 4709 4710 depcc="$CCAS" am_compiler_list=4711 4712 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&54713 $as_echo_n "checking dependency style of $depcc... " >&6; }4714 if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :4715 $as_echo_n "(cached) " >&64716 else4717 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then4718 # We make a subdir and do the tests there. Otherwise we can end up4719 # making bogus files that we don't know about and never remove. For4720 # instance it was reported that on HP-UX the gcc test will end up4721 # making a dummy file named `D' -- because `-MD' means `put the output4722 # in D'.4723 rm -rf conftest.dir4724 mkdir conftest.dir4725 # Copy depcomp to subdir because otherwise we won't find it if we're4726 # using a relative directory.4727 cp "$am_depcomp" conftest.dir4728 cd conftest.dir4729 # We will build objects and dependencies in a subdirectory because4730 # it helps to detect inapplicable dependency modes. For instance4731 # both Tru64's cc and ICC support -MD to output dependencies as a4732 # side effect of compilation, but ICC will put the dependencies in4733 # the current directory while Tru64 will put them in the object4734 # directory.4735 mkdir sub4736 4737 am_cv_CCAS_dependencies_compiler_type=none4738 if test "$am_compiler_list" = ""; then4739 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`4740 fi4741 am__universal=false4742 4743 4744 for depmode in $am_compiler_list; do4745 # Setup a source with many dependencies, because some compilers4746 # like to wrap large dependency lists on column 80 (with \), and4747 # we should not choose a depcomp mode which is confused by this.4748 #4749 # We need to recreate these files for each test, as the compiler may4750 # overwrite some of them when testing with obscure command lines.4751 # This happens at least with the AIX C compiler.4752 : > sub/conftest.c4753 for i in 1 2 3 4 5 6; do4754 echo '#include "conftst'$i'.h"' >> sub/conftest.c4755 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with4756 # Solaris 8's {/usr,}/bin/sh.4757 touch sub/conftst$i.h4758 done4759 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf4760 4761 # We check with `-c' and `-o' for the sake of the "dashmstdout"4762 # mode. It turns out that the SunPro C++ compiler does not properly4763 # handle `-M -o', and we need to detect this. Also, some Intel4764 # versions had trouble with output in subdirs4765 am__obj=sub/conftest.${OBJEXT-o}4766 am__minus_obj="-o $am__obj"4767 case $depmode in4768 gcc)4769 # This depmode causes a compiler race in universal mode.4770 test "$am__universal" = false || continue4771 ;;4772 nosideeffect)4773 # after this tag, mechanisms are not by side-effect, so they'll4774 # only be used when explicitly requested4775 if test "x$enable_dependency_tracking" = xyes; then4776 continue4777 else4778 break4779 fi4780 ;;4781 msvc7 | msvc7msys | msvisualcpp | msvcmsys)4782 # This compiler won't grok `-c -o', but also, the minuso test has4783 # not run yet. These depmodes are late enough in the game, and4784 # so weak that their functioning should not be impacted.4785 am__obj=conftest.${OBJEXT-o}4786 am__minus_obj=4787 ;;4788 none) break ;;4789 esac4790 if depmode=$depmode \4791 source=sub/conftest.c object=$am__obj \4792 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \4793 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \4794 >/dev/null 2>conftest.err &&4795 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&4796 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&4797 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&4798 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then4799 # icc doesn't choke on unknown options, it will just issue warnings4800 # or remarks (even with -Werror). So we grep stderr for any message4801 # that says an option was ignored or not supported.4802 # When given -MP, icc 7.0 and 7.1 complain thusly:4803 # icc: Command line warning: ignoring option '-M'; no argument required4804 # The diagnosis changed in icc 8.0:4805 # icc: Command line remark: option '-MP' not supported4806 if (grep 'ignoring option' conftest.err ||4807 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else4808 am_cv_CCAS_dependencies_compiler_type=$depmode4809 break4810 fi4811 fi4812 done4813 4814 cd ..4815 rm -rf conftest.dir4816 else4817 am_cv_CCAS_dependencies_compiler_type=none4818 fi4819 4820 fi4821 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&54822 $as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }4823 CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type4824 4825 if4826 test "x$enable_dependency_tracking" != xno \4827 && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then4828 am__fastdepCCAS_TRUE=4829 am__fastdepCCAS_FALSE='#'4830 else4831 am__fastdepCCAS_TRUE='#'4832 am__fastdepCCAS_FALSE=4833 4505 fi 4834 4506 … … 6184 5856 6185 5857 6186 ac_config_files="$ac_config_files Makefile src/driver/Makefile src/Makefile src/examples/Makefile src/tests/Makefile src/ prelude/Makefile src/libcfa/Makefile"5858 ac_config_files="$ac_config_files Makefile src/driver/Makefile src/Makefile src/examples/Makefile src/tests/Makefile src/libcfa/Makefile" 6187 5859 6188 5860 … … 6308 5980 Usually this means the macro was only invoked conditionally." "$LINENO" 5 6309 5981 fi 6310 if test -z "${BUILD_RELEASE_TRUE}" && test -z "${BUILD_RELEASE_FALSE}"; then6311 as_fn_error $? "conditional \"BUILD_RELEASE\" was never defined.6312 Usually this means the macro was only invoked conditionally." "$LINENO" 56313 fi6314 if test -z "${BUILD_DEBUG_TRUE}" && test -z "${BUILD_DEBUG_FALSE}"; then6315 as_fn_error $? "conditional \"BUILD_DEBUG\" was never defined.6316 Usually this means the macro was only invoked conditionally." "$LINENO" 56317 fi6318 if test -z "${BUILD_NO_LIB_TRUE}" && test -z "${BUILD_NO_LIB_FALSE}"; then6319 as_fn_error $? "conditional \"BUILD_NO_LIB\" was never defined.6320 Usually this means the macro was only invoked conditionally." "$LINENO" 56321 fi6322 5982 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then 6323 5983 as_fn_error $? "conditional \"AMDEP\" was never defined. … … 6330 5990 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then 6331 5991 as_fn_error $? "conditional \"am__fastdepCC\" was never defined. 6332 Usually this means the macro was only invoked conditionally." "$LINENO" 56333 fi6334 if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then6335 as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.6336 5992 Usually this means the macro was only invoked conditionally." "$LINENO" 5 6337 5993 fi … … 6947 6603 "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;; 6948 6604 "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;; 6949 "src/prelude/Makefile") CONFIG_FILES="$CONFIG_FILES src/prelude/Makefile" ;;6950 6605 "src/libcfa/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcfa/Makefile" ;; 6951 6606 … … 7678 7333 7679 7334 7680 if test -z "$BUILD_RELEASE_TRUE"; then :7681 if test -z "$BUILD_DEBUG_TRUE"; then :7682 { $as_echo "$as_me:${as_lineno-$LINENO}: Building libcfa for target: release & debug" >&57683 $as_echo "$as_me: Building libcfa for target: release & debug" >&6;}7684 else7685 { $as_echo "$as_me:${as_lineno-$LINENO}: Building libcfa for target: release" >&57686 $as_echo "$as_me: Building libcfa for target: release" >&6;}7687 fi7688 else7689 if test -z "$BUILD_DEBUG_TRUE"; then :7690 { $as_echo "$as_me:${as_lineno-$LINENO}: Building libcfa for target: debug" >&57691 $as_echo "$as_me: Building libcfa for target: debug" >&6;}7692 else7693 { $as_echo "$as_me:${as_lineno-$LINENO}: Running cfa without libcfa" >&57694 $as_echo "$as_me: Running cfa without libcfa" >&6;}7695 fi7696 fi7697 7698 7335 # Final text 7699 7336 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Cforall configuraton completed. Type \"make -j 8 install\"." >&5 -
configure.ac
r66f8528 r5802a4f 53 53 AC_SUBST(CFA_BACKEND_CC) 54 54 55 56 57 AC_ARG_ENABLE(target-release, AS_HELP_STRING([--enable-target-release], [Build and install the release target]))58 AC_ARG_ENABLE(target-debug, AS_HELP_STRING([--enable-target-debug], [Build and install the debug target]))59 60 case "$enable_target_release" in61 yes)62 case "$enable_target_debug" in63 yes)64 build_release="yes"65 build_debug="yes"66 ;;67 no)68 build_release="yes"69 build_debug="no"70 ;;71 *)72 build_release="yes"73 build_debug="no"74 ;;75 esac76 ;;77 no)78 case "$enable_target_debug" in79 yes)80 build_release="no"81 build_debug="yes"82 ;;83 no)84 build_release="no"85 build_debug="no"86 ;;87 *)88 build_release="no"89 build_debug="yes"90 ;;91 esac92 ;;93 *)94 case "$enable_target_debug" in95 yes)96 build_release="no"97 build_debug="yes"98 ;;99 no)100 build_release="yes"101 build_debug="no"102 ;;103 *)104 build_release="yes"105 build_debug="yes"106 ;;107 esac108 ;;109 esac110 111 AM_CONDITIONAL([BUILD_RELEASE], [test "x$build_release" = "xyes"])112 AM_CONDITIONAL([BUILD_DEBUG], [test "x$build_debug" = "xyes"])113 AM_CONDITIONAL([BUILD_NO_LIB], [test "x$build_release$build_debug" = "xnono"])114 115 55 if test "x$prefix" = "xNONE"; then 116 56 cfa_prefix=${ac_default_prefix} … … 148 88 AC_SUBST(CFA_FLAGS, ${CFAFLAGS}) 149 89 150 AC_CANONICAL_HOST151 AC_SUBST([MACHINE_TYPE],[$host_cpu])152 153 90 # Checks for programs. 154 91 AC_PROG_CXX 155 92 AC_PROG_CC 156 AM_PROG_AS157 93 AM_PROG_CC_C_O # deprecated 158 94 # These are often not installed and people miss seeing the "no", so stop the configure. … … 192 128 src/examples/Makefile 193 129 src/tests/Makefile 194 src/prelude/Makefile195 130 src/libcfa/Makefile 196 131 ]) … … 198 133 AC_OUTPUT 199 134 200 AM_COND_IF([BUILD_RELEASE],201 [AM_COND_IF([BUILD_DEBUG],202 [AC_MSG_NOTICE(Building libcfa for target: release & debug)],203 [AC_MSG_NOTICE(Building libcfa for target: release)])],204 [AM_COND_IF([BUILD_DEBUG],205 [AC_MSG_NOTICE(Building libcfa for target: debug)],206 [AC_MSG_NOTICE(Running cfa without libcfa)])])207 208 135 # Final text 209 136 AC_MSG_RESULT(Cforall configuraton completed. Type "make -j 8 install".) -
doc/proposals/concurrency/Makefile
r66f8528 r5802a4f 9 9 SOURCES = ${addsuffix .tex, \ 10 10 concurrency \ 11 style \12 glossary \13 11 } 14 12 -
doc/proposals/concurrency/concurrency.tex
r66f8528 r5802a4f 1 1 % requires tex packages: texlive-base texlive-latex-base tex-common texlive-humanities texlive-latex-extra texlive-fonts-recommended 2 2 3 % inline code ©...©(copyright symbol) emacs: C-q M-)4 % red highlighting ®...®(registered trademark symbol) emacs: C-q M-.5 % blue highlighting ß...ß(sharp s symbol) emacs: C-q M-_6 % green highlighting ¢...¢(cent symbol) emacs: C-q M-"7 % LaTex escape §...§(section symbol) emacs: C-q M-'8 % keyword escape ¶...¶(pilcrow symbol) emacs: C-q M-^3 % inline code �...� (copyright symbol) emacs: C-q M-) 4 % red highlighting �...� (registered trademark symbol) emacs: C-q M-. 5 % blue highlighting �...� (sharp s symbol) emacs: C-q M-_ 6 % green highlighting �...� (cent symbol) emacs: C-q M-" 7 % LaTex escape �...� (section symbol) emacs: C-q M-' 8 % keyword escape �...� (pilcrow symbol) emacs: C-q M-^ 9 9 % math escape $...$ (dollar symbol) 10 10 … … 100 100 101 101 \section{Introduction} 102 This proposal provides a minimal core concurrency API that is both simple, efficient and can be reused to build higher-level features. The simplest possible concurrency core is a thread and a lock but this low-level approach is hard to master. An easier approach for users is to support higher-level constructs as the basis of the concurrency in \CFA. Indeed, for highly productive parallel programming, high-level approaches are much more popular~\cite{HPP:Study}. Examples are task based , message passing and implicit threading.103 104 There are actually two problems that need to be solved in the design of the concurrency for a programming language : which concurrency tools are available to the users and which parallelism tools are available. While these two concepts are often seen together, they are in fact distinct concepts that require different sorts of tools~\cite{Buhr05a}. Concurrency tools need to handle mutual exclusion and synchronization, while parallelism tools are more about performance, cost and resource utilization.102 This proposal provides a minimal core concurrency API that is both simple, efficient and can be reused to build higher-level features. The simplest possible concurrency core is a thread and a lock but this low-level approach is hard to master. An easier approach for users is to support higher-level constructs as the basis of the concurrency in \CFA. Indeed, for highly productive parallel programming, high-level approaches are much more popular~\cite{HPP:Study}. Examples are task based parallelism, message passing and implicit threading. 103 104 There are actually two problems that need to be solved in the design of the concurrency for a programming language. Which concurrency tools are available to the users and which parallelism tools are available. While these two concepts are often seen together, they are in fact distinct concepts that require different sorts of tools~\cite{Buhr05a}. Concurrency tools need to handle mutual exclusion and synchronization, while parallelism tools are more about performance, cost and resource utilization. 105 105 106 106 % ##### ####### # # ##### # # ###### ###### ####### # # ##### # # … … 113 113 114 114 \section{Concurrency} 115 Several tool can be used to solve concurrency challenges. Since these challenges always appear with the use of mutable shared -state, some languages and libraries simply disallow mutable shared-state (Erlang~\cite{Erlang}, Haskell~\cite{Haskell}, Akka (Scala)~\cite{Akka}). In these paradigms, interaction among concurrent objects relies on message passing~\cite{Thoth,Harmony,V-Kernel} or other paradigms that closely relate to networking concepts (channels\cit for example). However, in languages that use routine calls as their core abstraction mechanism, these approaches force a clear distinction between concurrent and non-concurrent paradigms (i.e., message passing versus routine call). Which in turn means that, in order to be effective, programmers need to learn two sets of designs patterns. This distinction can be hidden away in library code, but effective use of the librairy still has to take both paradigms into account. Approaches based on shared memory are more closely related to non-concurrent paradigms since they often rely on basic constructs like routine calls and objects. At a lower level these can be implemented as locks and atomic operations. Many such mechanisms have been proposed, including semaphores~\cite{Dijkstra68b} and path expressions~\cite{Campbell74}. However, for productivity reasons it is desireable to have a higher-level construct be the core concurrency paradigm~\cite{HPP:Study}. An approach that is worth mentionning because it is gaining in popularity is transactionnal memory~\cite{Dice10}[Check citation]. While this approach is even pursued by system languages like \CC\cit, the performance and feature set is currently too restrictive to add such a paradigm to a language like C or \CC\cit, which is why it was rejected as the core paradigm for concurrency in \CFA. One of the most natural, elegant, and efficient mechanisms for synchronization and communication, especially for shared memory systems, is the \emph{monitor}. Monitors were first proposed by Brinch Hansen~\cite{Hansen73} and later described and extended by C.A.R.~Hoare~\cite{Hoare74}. Many programming languages---e.g., Concurrent Pascal~\cite{ConcurrentPascal}, Mesa~\cite{Mesa}, Modula~\cite{Modula-2}, Turing~\cite{Turing:old}, Modula-3~\cite{Modula-3}, NeWS~\cite{NeWS}, Emerald~\cite{Emerald}, \uC~\cite{Buhr92a} and Java~\cite{Java}---provide monitors as explicit language constructs. In addition, operating-system kernels and device drivers have a monitor-like structure, although they often use lower-level primitives such as semaphores or locks to simulate monitors. For these reasons, this project proposes monitors as the core concurrency construct.115 Several tool can be used to solve concurrency challenges. Since these challenges always appear with the use of mutable shared state, some languages and libraries simply disallow mutable shared-state (Erlang~\cite{Erlang}, Haskell~\cite{Haskell}, Akka (Scala)~\cite{Akka}). In these paradigms, interaction among concurrent objects relies on message passing~\cite{Thoth,Harmony,V-Kernel} or other paradigms that closely relate to networking concepts. However, in languages that use routine calls as their core abstraction mechanism, these approaches force a clear distinction between concurrent and non-concurrent paradigms (i.e. message passing versus routine call). Which in turn means that, in order to be effective, programmers need to learn two sets of designs patterns. This distinction can be hidden away in library code, but effective use of the librairy will still have to take both paradigms into account. Approaches based on shared memory are more closely related to non-concurrent paradigms since they often rely on non-concurrent constructs like routine calls and objects. At a lower level these can be implemented as locks and atomic operations. Many such mechanisms have been proposed, including semaphores~\cite{Dijkstra68b} and path expressions~\cite{Campbell74}. However, for productivity reasons it is desireable to have a higher-level construct to be the core concurrency paradigm~\cite{HPP:Study}. An approach that is worth mentionning because it is gaining in popularity is transactionnal memory~\cite{Dice10}[Check citation]. While this approach is even pursued by system languages like \CC\cit, the performance and feature set is currently too restrictive to be possible to add such a paradigm to a language like C or \CC\cit, which is why it was rejected as the core paradigm for concurrency in \CFA. One of the most natural, elegant, and efficient mechanisms for synchronization and communication, especially for shared memory systems, is the \emph{monitor}. Monitors were first proposed by Brinch Hansen~\cite{Hansen73} and later described and extended by C.A.R.~Hoare~\cite{Hoare74}. Many programming languages---e.g., Concurrent Pascal~\cite{ConcurrentPascal}, Mesa~\cite{Mesa}, Modula~\cite{Modula-2}, Turing~\cite{Turing:old}, Modula-3~\cite{Modula-3}, NeWS~\cite{NeWS}, Emerald~\cite{Emerald}, \uC~\cite{Buhr92a} and Java~\cite{Java}---provide monitors as explicit language constructs. In addition, operating-system kernels and device drivers have a monitor-like structure, although they often use lower-level primitives such as semaphores or locks to simulate monitors. For these reasons, this project proposes Monitors as the core concurrency construct. 116 116 117 117 % # # ####### # # ### ####### ####### ###### ##### … … 144 144 145 145 \subsubsection{Call semantics} \label{call} 146 The above monitor example displays some of the intrinsic characteristics. Indeed, it is necessary to use pass-by-reference over pass-by-value for monitor routines. This semantics is important because at their core, monitors are implicit mutual-exclusion objects (locks), and these objects cannot be copied. Therefore, monitors are implicitly non-copyable.147 148 Another aspect to consider is when a monitor acquires its mutual exclusion. For example, a monitor may need to be passed through multiple helper routines that do not acquire the monitor mutual -exclusion on entry. Pass through can be both generic helper routines (\code{swap}, \code{sort}, etc.) or specific helper routines like the following to implement an atomiccounter :149 150 \begin{lstlisting} 151 mutex struct counter_t { /*... see section §\ref{data}§...*/ };152 153 void ?{}(counter_t & nomutex this); //constructor154 size_t ++?(counter_t & mutex this); //increment146 The above monitor example displays some of their intrinsic characteristics. Indeed, it is necessary to use pass-by-reference over pass-by-value for monitor routines. This semantics is important because at their core, monitors are implicit mutual-exclusion objects (locks), and these objects cannot be copied. Therefore, monitors are implicitly non-copyable. 147 148 Another aspect to consider is when a monitor acquires its mutual exclusion. For example, a monitor may need to be passed through multiple helper routines that do not acquire the monitor mutual exclusion on entry. Pass through can be both generic helper routines (\code{swap}, \code{sort}, etc.) or specific helper routines like the following to implement an atomic large counter : 149 150 \begin{lstlisting} 151 mutex struct counter_t { /*...*/ }; 152 153 void ?{}(counter_t & nomutex this); 154 size_t ++?(counter_t & mutex this); 155 155 156 156 //need for mutex is platform dependent here 157 void ?{}(size_t * this, counter_t & mutex cnt); //conversion 158 \end{lstlisting} 159 160 Here, the constructor(\code{?\{\}}) uses the \code{nomutex} keyword to signify that it does not acquire the monitor mutual exclusion when constructing. This semantics is because an object not yet constructed should never be shared and therefore does not require mutual exclusion. The prefix increment operator uses \code{mutex} to protect the incrementing process from race conditions. Finally, there is a conversion operator from \code{counter_t} to \code{size_t}. This conversion may or may not require the \code{mutex} key word depending on whether or not reading an \code{size_t} is an atomic operation or not. 161 162 Having both \code{mutex} and \code{nomutex} keywords could be argued to be redundant based on the meaning of a routine having neither of these keywords. For example, given a routine without wualifiers \code{void foo(counter_t & this)} then one could argue that it should default to the safest option \code{mutex}. On the other hand, the option of having routine \code{void foo(counter_t & this)} mean \code{nomutex} is unsafe by default and may easily cause subtle errors. It can be argued that \code{nomutex} is the more "normal" behaviour, the \code{nomutex} keyword effectively stating explicitly that "this routine has nothing special". Another alternative is to make having exactly one of these keywords mandatory, which would provide the same semantics but without the ambiguity of supporting routine \code{void foo(counter_t & this)}. Mandatory keywords would also have the added benefice of being self-documented but at the cost of extra typing. In the end, which solution should be picked is still up for debate. For the reminder of this proposal, the explicit approach is used for clarity. 163 164 The next semantic decision is to establish when mutex/nomutex may be used as a type qualifier. Consider the following declarations: 157 void ?{}(size_t * this, counter_t & mutex cnt); 158 \end{lstlisting} 159 *semantics of the declaration of \code{mutex struct counter_t} are discussed in details in section \ref{data} 160 161 Here, the constructor(\code(?{})) uses the \code{nomutex} keyword to signify that it does not acquire the monitor mutual exclusion when constructing. This semantics is because object not yet constructed should never be shared and therefore do not require mutual exclusion. The prefix increment operator uses \code{mutex} to protect the incrementing process from race conditions. Finally, there is a conversion operator from \code{counter_t} to \code{size_t}. This conversion may or may not require the \code{mutex} key word depending on whether or not reading an \code{size_t} is an atomic operation or not. 162 163 Having both \code{mutex} and \code{nomutex} keywords could be argued to be redundant based on the meaning of a routine having neither of these keywords. If there were a meaning to routine \code{void foo(counter_t & this)} then one could argue that it should default to the safest option : \code{mutex}. On the other hand, the option of having routine \code{void foo(counter_t & this)} mean \code{nomutex} is unsafe by default and may easily cause subtle errors. It can be argued that this is the more "normal" behavior, \code{nomutex} effectively stating explicitly that "this routine has nothing special". Another alternative is to make having exactly one of these keywords mandatory, which would provide the same semantics but without the ambiguity of supporting routine \code{void foo(counter_t & this)}. Mandatory keywords would also have the added benefice of being self-documented but at the cost of extra typing. In the end, which solution should be picked is still up for debate. For the reminder of this proposal, the explicit approach is used for clarity. 164 165 Regardless of which keyword is kept, it is important to establish when mutex/nomutex may be used as a type qualifier. Consider : 165 166 \begin{lstlisting} 166 167 int f1(monitor & mutex m); … … 170 171 int f5(graph(monitor*) & mutex m); 171 172 \end{lstlisting} 172 The problem is to indentify which object(s) should be acquired. Furthermore, each object needs to be acquired only once. In the case of simple routines like \code{f1} and \code{f2} it is easy to identify an exhaustive list of objects to acquire on entry. Adding indirections (\code{f3}) still allows the compiler and programmer to indentify which object is acquired. However, adding in arrays (\code{f4}) makes it much harder. Array lengths are not necessarily known in C and even then making sure we only acquire objects once becomes also none trivial. This can be extended to absurd limits like \code{f5}, which uses a graph of monitors. To keep everyone as sane as possible~\cite{Chicken}, this projects imposes the requirement that a routine may only acquire one monitor per parameter and it must be the type of the parameter (ignoring potential qualifiers and indirections). Also note that while routine \code{f3} can be supported, meaning that monitor \code{**m} is be acquired, passing an array to this routine would be type safe and yet result in undefined behavior because only the first element of the array is acquired. However, this ambiguity is part of the C type system with respects to arrays. For this reason, it would also be reasonnable to disallow mutex in the context where arrays may be passed. 173 174 The problem is to indentify which object(s) should be acquired. Furthermore, each object needs to be acquired only once. In case of simple routines like \code{f1} and \code{f2} it is easy to identify an exhaustive list of objects to acquire on entering. Adding indirections (\code{f3}) still allows the compiler and programmer to indentify which object is acquired. However, adding in arrays (\code{f4}) makes it much harder. Array lengths are not necessarily known in C and even then making sure we only acquire objects once becomes also none trivial. This can be extended to absurd limits like \code{f5}, which uses a graph of monitors. To keep everyone as sane as possible~\cite{Chicken}, this projects imposes the requirement that a routine may only acquire one monitor per parameter and it must be the type of the parameter (ignoring potential qualifiers and indirections). Also note that while routine \code{f3} can be supported, meaning that monitor \code{**m} will be acquired, passing an array to this routine would be type safe and result in undefined behavior. For this reason, it would also be reasonnable to disallow mutex in the context where arrays may be passed. 173 175 174 176 % ###### # ####### # … … 181 183 182 184 \subsubsection{Data semantics} \label{data} 183 Once the call semantics are established, the next step is to establish data semantics. Indeed, until now a monitor is used simply as a generic handle but in most cases monitors contian shared data. This data should be intrinsic to the monitor declaration to prevent any accidental use of data without its appr opriate protection. For example, here is a complete version of the counter showed in section \ref{call}:185 Once the call semantics are established, the next step is to establish data semantics. Indeed, until now a monitor is used simply as a generic handle but in most cases monitors contian shared data. This data should be intrinsic to the monitor declaration to prevent any accidental use of data without its appripriate protection. For example here is a more fleshed-out version of the counter showed in \ref{call}: 184 186 \begin{lstlisting} 185 187 mutex struct counter_t { … … 201 203 \end{lstlisting} 202 204 203 This simple counter is used as follows:205 This simple counter offers an example of monitor usage. Notice how the counter is used without any explicit synchronisation and yet supports thread-safe semantics for both reading and writting : 204 206 \begin{center} 205 207 \begin{tabular}{c @{\hskip 0.35in} c @{\hskip 0.35in} c} 206 208 \begin{lstlisting} 207 //shared counter208 209 counter_t cnt; 209 210 210 //multiple threads access counter211 211 thread 1 : cnt++; 212 212 thread 2 : cnt++; … … 218 218 \end{center} 219 219 220 Notice how the counter is used without any explicit synchronisation and yet supports thread-safe semantics for both reading and writting. Unlike object-oriented monitors, where calling a mutex member \emph{implicitly} acquires mutual-exclusion, \CFA uses an explicit mechanism to acquire mutual-exclusion. A consequence of this approach is that it extendsto multi-monitor calls.220 These simple mutual exclusion semantics also naturally expand to multi-monitor calls. 221 221 \begin{lstlisting} 222 222 int f(MonitorA & mutex a, MonitorB & mutex b); … … 226 226 f(a,b); 227 227 \end{lstlisting} 228 This code acquires both locks before entering the critical section, called \emph{\gls{group-acquire}}. In practice, writing multi-locking routines that do not lead to deadlocks is tricky. Having language support for such a feature is therefore a significant asset for \CFA. In the case presented above, \CFA guarantees that the order of aquisition is consistent across calls to routines using the same monitors as arguments. However, since \CFA monitors use multi-acquisition locks, users can effectively force the acquiring order. For example, notice which routines use \code{mutex}/\code{nomutex} and how this affects aquiring order : 229 \begin{lstlisting} 230 void foo(A & mutex a, B & mutex b) { //acquire a & b 228 229 This code acquires both locks before entering the critical section (Referenced as \gls{group-acquire} from now on). In practice, writing multi-locking routines that can not lead to deadlocks can be tricky. Having language support for such a feature is therefore a significant asset for \CFA. In the case presented above, \CFA guarantees that the order of aquisition will be consistent across calls to routines using the same monitors as arguments. However, since \CFA monitors use multi-acquiring locks users can effectively force the acquiring order. For example, notice which routines use \code{mutex}/\code{nomutex} and how this affects aquiring order : 230 \begin{lstlisting} 231 void foo(A & mutex a, B & mutex a) { 231 232 //... 232 233 } 233 234 234 void bar(A & mutex a, B & nomutex b) { //acquire a235 void bar(A & mutex a, B & nomutex a) 235 236 //... 236 foo(a, b); //acquire b237 foo(a, b); 237 238 //... 238 239 } 239 240 240 void baz(A & nomutex a, B & mutex b) { //acquire b241 void baz(A & nomutex a, B & mutex a) 241 242 //... 242 foo(a, b); //acquire a243 foo(a, b); 243 244 //... 244 245 } 245 246 \end{lstlisting} 246 247 247 The multi-acquisition monitor lock allows a monitor lock to be acquired by both \code{bar} or \code{baz} and acquired again in \code{foo}. In the calls to \code{bar} and \code{baz} the monitors are acquired in opposite order. such use leads to nested monitor call problems~\cite{Lister77}, which is a specific implementation of the lock acquiring order problem. In the example above, the user uses implicit ordering in the case of function \code{foo} but explicit ordering in the case of \code{bar} and \code{baz}. This subtle mistake means that calling these routines concurrently may lead to deadlock and is therefore undefined behavior. As shown on several occasion\cit, solving this problem requires:248 Such a use will lead to nested monitor call problems~\cite{Lister77}, which are a specific implementation of the lock acquiring order problem. In the example above, the user uses implicit ordering in the case of function \code{foo} but explicit ordering in the case of \code{bar} and \code{baz}. This subtle mistake means that calling these routines concurrently may lead to deadlocks, depending on the implicit ordering matching the explicit ordering. As shown on several occasion\cit, solving this problems requires to : 248 249 \begin{enumerate} 249 \item Dynamically track ing of the monitor-call order.250 \item Dynamically track the monitor call order. 250 251 \item Implement rollback semantics. 251 252 \end{enumerate} 252 253 253 While the first requirement is already a significant constraint on the system, implementing a general rollback semantics in a C-like language is prohibitively complex \cit. In \CFA ,users simply need to be carefull when acquiring multiple monitors at the same time.254 While the first requirement is already a significant constraint on the system, implementing a general rollback semantics in a C-like language is prohibitively complex \cit. In \CFA users simply need to be carefull when acquiring multiple monitors at the same time. 254 255 255 256 % ###### ####### ####### # ### # ##### … … 270 271 271 272 \subsubsection{Implementation Details: Interaction with polymorphism} 272 At first glance, interaction between monitors and \CFA's concept of polymorphism seems complex to support. However, it is shown that entry-point locking can solve most of the issues. 273 274 Before looking into complex control flow, it is important to present the difference between the two acquiring options : \gls{callsite-locking} and \gls{entry-point-locking}, i.e. acquiring the monitors before making a mutex call or as the first instruction of the mutex call. For example: 275 276 \begin{center} 277 \begin{tabular}{|c|c|c|} 278 Code & \gls{callsite-locking} & \gls{entry-point-locking} \\ 279 \CFA & pseudo-code & pseudo-code \\ 280 \hline 281 \begin{lstlisting} 282 void foo(monitor & mutex a) { 283 284 285 286 //Do Work 287 //... 288 289 } 290 291 void main() { 292 monitor a; 293 294 295 296 foo(a); 297 298 } 299 \end{lstlisting} &\begin{lstlisting} 300 foo(& a) { 301 302 303 304 //Do Work 305 //... 306 307 } 308 309 main() { 310 monitor a; 311 //calling routine 312 //handles concurrency 313 acquire(a); 314 foo(a); 315 release(a); 316 } 317 \end{lstlisting} &\begin{lstlisting} 318 foo(& a) { 319 //called routine 320 //handles concurrency 321 acquire(a); 322 //Do Work 323 //... 324 release(a); 325 } 326 327 main() { 328 monitor a; 329 330 331 332 foo(a); 333 334 } 335 \end{lstlisting} 336 \end{tabular} 337 \end{center} 338 339 First of all, interaction between \code{otype} polymorphism and monitors is impossible since monitors do not support copying. Therefore, the main question is how to support \code{dtype} polymorphism. Since a monitor's main purpose is to ensure mutual exclusion when accessing shared data, this implies that mutual exclusion is only required for routines that do in fact access shared data. However, since \code{dtype} polymorphism always handles incomplete types (by definition), no \code{dtype} polymorphic routine can access shared data since the data requires knowledge about the type. Therefore, the only concern when combining \code{dtype} polymorphism and monitors is to protect access to routines. \Gls{callsite-locking} would require a significant amount of work, since any \code{dtype} routine may have to obtain some lock before calling a routine, depending on whether or not the type passed is a monitor. However, with \gls{entry-point-locking} calling a monitor routine becomes exactly the same as calling it from anywhere else. 340 341 273 At first glance, interaction between monitors and \CFA's concept of polymorphism seem complex to support. However, it can be reasoned that entry-point locking can solve most of the issues that could be present with polymorphism. 274 275 First of all, interaction between \code{otype} polymorphism and monitors is impossible since monitors do not support copying. Therefore, the main question is how to support \code{dtype} polymorphism. Since a monitor's main purpose is to ensure mutual exclusion when accessing shared data, this implies that mutual exclusion is only required for routines that do in fact access shared data. However, since \code{dtype} polymorphism always handles incomplete types (by definition), no \code{dtype} polymorphic routine can access shared data since the data requires knowledge about the type. Therefore the only concern when combining \code{dtype} polymorphism and monitors is to protect access to routines. \Gls{callsite-locking}\footnotemark would require a significant amount of work, since any \code{dtype} routine may have to obtain some lock before calling a routine, depending on whether or not the type passed is a monitor. However, with \gls{entry-point-locking}\footnotemark[\value{footnote}] calling a monitor routine becomes exactly the same as calling it from anywhere else. 276 \footnotetext{See glossary for a definition of \gls{callsite-locking} and \gls{entry-point-locking}} 342 277 343 278 % ### # # ####### ##### ##### # # ####### ###### … … 350 285 351 286 \subsection{Internal scheduling} \label{insched} 352 Monitors also need to schedule waiting threads internallyas a mean of synchronization. Internal scheduling is one of the simple examples of such a feature. It allows users to declare condition variables and have threads wait and signaled from them. Here is a simple example of such a technique :287 Monitors also need to schedule waiting threads within it as a mean of synchronization. Internal scheduling is one of the simple examples of such a feature. It allows users to declare condition variables and have threads wait and signaled from them. Here is a simple example of such a technique : 353 288 354 289 \begin{lstlisting} … … 368 303 \end{lstlisting} 369 304 370 Note that in \CFA, \code{condition} have no particular need to be stored inside a monitor, beyond any software engineering reasons.Here routine \code{foo} waits for the \code{signal} from \code{bar} before making further progress, effectively ensuring a basic ordering. This semantic can easily be extended to multi-monitor calls by offering the same guarantee.305 Here routine \code{foo} waits for the \code{signal} from \code{bar} before making further progress, effectively ensuring a basic ordering. This semantic can easily be extended to multi-monitor calls by offering the same guarantee. 371 306 \begin{center} 372 307 \begin{tabular}{ c @{\hskip 0.65in} c } … … 402 337 condition e; 403 338 404 //acquire a & b405 339 void foo(monitor & mutex a, 406 340 monitor & mutex b) { 407 341 408 wait(e); //release a & b342 wait(e); 409 343 } 410 344 … … 418 352 condition e; 419 353 354 void bar(monitor & mutex a, 355 monitor & nomutex b) { 356 foo(a,b); 357 } 358 359 void foo(monitor & mutex a, 360 monitor & mutex b) { 361 wait(e); 362 } 363 364 bar(a, b); 365 \end{lstlisting} &\begin{lstlisting} 366 condition e; 367 368 void bar(monitor & mutex a, 369 monitor & nomutex b) { 370 baz(a,b); 371 } 372 373 void baz(monitor & nomutex a, 374 monitor & mutex b) { 375 wait(e); 376 } 377 378 bar(a, b); 379 \end{lstlisting} 380 \end{tabular} 381 \end{center} 382 383 Note that in \CFA, \code{condition} have no particular need to be stored inside a monitor, beyond any software engineering reasons. Context 1 is the simplest way of acquiring more than one monitor (\gls{group-acquire}), using a routine wiht multiple parameters having the \code{mutex} keyword. Context 2 also uses \gls{group-acquire} as well in routine \code{foo}. However, the routine is called by routine \code{bar} which only acquires monitor \code{a}. Since monitors can be acquired multiple times this will not cause a deadlock by itself but it does force the acquiring order to \code{a} then \code{b}. Context 3 also forces the acquiring order to be \code{a} then \code{b} but does not use \gls{group-acquire}. The previous example tries to illustrate the semantics that must be established to support releasing monitors in a \code{wait} statement. In all cases the behavior of the wait statment is to release all the locks that were acquired my the inner-most monitor call. That is \code{a & b} in context 1 and 2 and \code{b} only in context 3. Here are a few other examples of this behavior. 384 385 386 \begin{center} 387 \begin{tabular}{|c|c|c|} 388 \begin{lstlisting} 389 condition e; 390 391 //acquire a 392 void foo(monitor & nomutex a, 393 monitor & mutex b) { 394 bar(a,b); 395 } 396 420 397 //acquire a 421 398 void bar(monitor & mutex a, 422 399 monitor & nomutex b) { 423 foo(a,b); 424 } 425 426 //acquire a & b 427 void foo(monitor & mutex a, 428 monitor & mutex b) { 429 wait(e); //release a & b 430 } 431 432 bar(a, b); 433 \end{lstlisting} &\begin{lstlisting} 434 condition e; 435 436 //acquire a 437 void bar(monitor & mutex a, 438 monitor & nomutex b) { 439 baz(a,b); 440 } 441 442 //acquire b 443 void baz(monitor & nomutex a, 444 monitor & mutex b) { 445 wait(e); //release b 446 } 447 448 bar(a, b); 449 \end{lstlisting} 450 \end{tabular} 451 \end{center} 452 453 Context 1 is the simplest way of acquiring more than one monitor (\gls{group-acquire}), using a routine with multiple parameters having the \code{mutex} keyword. Context 2 also uses \gls{group-acquire} as well in routine \code{foo}. However, the routine is called by routine \code{bar}, which only acquires monitor \code{a}. Since monitors can be acquired multiple times this does not cause a deadlock by itself but it does force the acquiring order to \code{a} then \code{b}. Context 3 also forces the acquiring order to be \code{a} then \code{b} but does not use \gls{group-acquire}. The previous example tries to illustrate the semantics that must be established to support releasing monitors in a \code{wait} statement. In all cases, the behavior of the wait statment is to release all the locks that were acquired my the inner-most monitor call. That is \code{a & b} in context 1 and 2 and \code{b} only in context 3. Here are a few other examples of this behavior. 454 455 456 \begin{center} 457 \begin{tabular}{|c|c|c|} 458 \begin{lstlisting} 459 condition e; 460 461 //acquire b 462 void foo(monitor & nomutex a, 463 monitor & mutex b) { 464 bar(a,b); 465 } 466 467 //acquire a 468 void bar(monitor & mutex a, 469 monitor & nomutex b) { 470 471 wait(e); //release a 472 //keep b 400 401 //release a 402 //keep b 403 wait(e); 473 404 } 474 405 … … 487 418 monitor & nomutex b) { 488 419 489 wait(e); //release b 490 //keep a 420 //release b 421 //keep a 422 wait(e); 491 423 } 492 424 … … 505 437 monitor & nomutex b) { 506 438 507 wait(e); //release a & b 508 //keep none 439 //release a & b 440 //keep none 441 wait(e); 509 442 } 510 443 … … 513 446 \end{tabular} 514 447 \end{center} 515 Note the right-most example is actually a trick pulled on the reader. Monitor state information is stored in thread local storage rather then in the routine context, which means that helper routines and other \code{nomutex} routines are invisible to the runtime system in regards to concurrency. This means that in the right-most example, the routine parameters are completly unnecessary. However, calling this routine from outside a valid monitor context is undefined. 516 517 These semantics imply that in order to release of subset of the monitors currently held, users must write (and name) a routine that only acquires the desired subset and simply calls wait. While users can use this method, \CFA offers the \code{wait_release}\footnote{Not sure if an overload of \code{wait} would work...} which will release only the specified monitors. In the center previous examples, the code in the center uses the \code{bar} routine to only release monitor \code{b}. Using the \code{wait_release} helper, this can be rewritten without having the name two routines : 518 \begin{center} 519 \begin{tabular}{ c c c } 520 \begin{lstlisting} 521 condition e; 522 523 //acquire a & b 524 void foo(monitor & mutex a, 525 monitor & mutex b) { 526 bar(a,b); 527 } 528 529 //acquire b 530 void bar(monitor & mutex a, 531 monitor & nomutex b) { 532 533 wait(e); //release b 534 //keep a 535 } 536 537 foo(a, b); 538 \end{lstlisting} &\begin{lstlisting} 539 => 540 \end{lstlisting} &\begin{lstlisting} 541 condition e; 542 543 //acquire a & b 544 void foo(monitor & mutex a, 545 monitor & mutex b) { 546 wait_release(e,b); //release b 547 //keep a 548 } 549 550 foo(a, b); 551 \end{lstlisting} 552 \end{tabular} 553 \end{center} 554 555 Regardless of the context in which the \code{wait} statement is used, \code{signal} must be called holding the same set of monitors. In all cases, signal only needs a single parameter, the condition variable that needs to be signalled. But \code{signal} needs to be called from the same monitor(s) that call to \code{wait}. Otherwise, mutual exclusion cannot be properly transferred back to the waiting monitor. 448 Note the right-most example which uses a helper routine and therefore is not relevant to find which monitors will be released. 449 450 These semantics imply that in order to release of subset of the monitors currently held, users must write (and name) a routine that only acquires the desired subset and simply calls wait. While users can use this method, \CFA offers the \code{wait_release}\footnote{Not sure if an overload of \code{wait} would work...} which will release only the specified monitors. 451 452 Regardless of the context in which the \code{wait} statement is used, \code{signal} must used holding the same set of monitors. In all cases, signal only needs a single parameter, the condition variable that needs to be signalled. But \code{signal} needs to be called from the same monitor(s) that call to \code{wait}. Otherwise, mutual exclusion cannot be properly transferred back to the waiting monitor. 556 453 557 454 Finally, an additional semantic which can be very usefull is the \code{signal_block} routine. This routine behaves like signal for all of the semantics discussed above, but with the subtelty that mutual exclusion is transferred to the waiting task immediately rather than wating for the end of the critical section. … … 567 464 \newpage 568 465 \subsection{External scheduling} \label{extsched} 569 A n alternative to internal scheduling is to use external scheduling instead. This method is more constrained and explicit which may help users tone down the undeterministic nature of concurrency. Indeed, as the following examples demonstrates, external scheduling allows users to wait for events from other threads without the concern of unrelated events occuring. External scheduling can generally be done either in terms of control flow (ex: \uC) or in terms of data (ex: Go). Of course, both of these paradigms have their own strenghts and weaknesses but for this project control flow semantics where chosen to stay consistent with the rest of the languages semantics. Two challenges specific to \CFA arise when trying to add external scheduling with loose object definitions and multi-monitor routines. The following example showsa simple use \code{accept} versus \code{wait}/\code{signal} and its advantages.466 As one might expect, the alternative to Internal scheduling is to use External scheduling instead. This method is somewhat more robust to deadlocks since one of the threads keeps a relatively tight control on scheduling. Indeed, as the following examples will demonstrate, external scheduling allows users to wait for events from other threads without the concern of unrelated events occuring. External scheduling can generally be done either in terms of control flow (ex: \uC) or in terms of data (ex: Go). Of course, both of these paradigms have their own strenghts and weaknesses but for this project control flow semantics where chosen to stay consistent with the rest of the languages semantics. Two challenges specific to \CFA arise when trying to add external scheduling with loose object definitions and multi-monitor routines. The following example shows what a simple use \code{accept} versus \code{wait}/\code{signal} and its advantages. 570 467 571 468 \begin{center} … … 585 482 586 483 public: 587 void f() { /*...*/ }484 void f(); 588 485 void g() { _Accept(f); } 589 486 private: … … 593 490 \end{center} 594 491 595 In the case of internal scheduling, the call to \code{wait} only guarantees that \code{g} is the last routine to access the monitor. This intails that the routine \code{f} may have acquired mutual exclusion several times while routine \code{h} was waiting. On the other hand, external scheduling guarantees that while routine \code{h} was waiting, no routine other than \code{g} could acquire the monitor.492 In the case of internal scheduling, the call to \code{wait} only guarantees that \code{g} was the last routine to access the monitor. This intails that the routine \code{f} may have acquired mutual exclusion several times while routine \code{h} was waiting. On the other hand, external scheduling guarantees that while routine \code{h} was waiting, no routine other than \code{g} could acquire the monitor. 596 493 \\ 597 494 … … 776 673 % # # # # # # # ####### ####### ####### ####### ### ##### # # 777 674 \section{Parallelism} 778 Historically, computer performance was about processor speeds and instructions count. However, with heat dissipation being a direct consequence of speed increase, parallelism has become the new source for increased performance~\cite{Sutter05, Sutter05b}. In this decade, it is not longer reasonnable to create a high-performance application without caring about parallelism. Indeed, parallelism is an important aspect of performance and more specifically throughput and hardware utilization. The lowest-level approach of parallelism is to use \glspl{kthread} in combination with semantics like \code{fork}, \code{join}, etc. However, since these have significant costs and limitations,\glspl{kthread} are now mostly used as an implementation tool rather than a user oriented one. There are several alternatives to solve these issues that all have strengths and weaknesses. While there are many variations of the presented paradigms, most of these variations do not actually change the guarantees or the semantics, they simply move costs in order to achieve better performance for certain workloads.675 Historically, computer performance was about processor speeds and instructions count. However, with heat dissipation being a direct consequence of speed increase, parallelism has become the new source for increased performance~\cite{Sutter05, Sutter05b}. In this decade, it is not longer reasonnable to create high-performance application without caring about parallelism. Indeed, parallelism is an important aspect of performance and more specifically throughput and hardware utilization. The lowest level approach of parallelism is to use \glspl{kthread} in combination with semantics like \code{fork}, \code{join}, etc. However, since these have significant costs and limitations \glspl{kthread} are now mostly used as an implementation tool rather than a user oriented one. There are several alternatives to solve these issues that all have strengths and weaknesses. While there are many variations of the presented paradigms, most of these variations do not actually change the guarantees or the semantics, they simply move costs in order to achieve better performance for certain workloads. 779 676 780 677 \subsection{User-level threads} 781 A direct improvement on the \gls{kthread} approach is to use \glspl{uthread}. These threads offer most of the same features that the operating system already provide but can be used on a much larger scale. This approach is the most powerfull solution as it allows all the features of multi-threading ,while removing several of the more expensives costs of using kernel threads. The down side is that almost none of the low-level threading problems are hidden, users still have to think about data races, deadlocks and synchronization issues. These issues can be somewhat alleviated by a concurrency toolkit with strong garantees but the parallelism toolkit offers very little to reduce complexity in itself.782 783 Examples of languages that support \glspl{uthread}are Erlang~\cite{Erlang} and \uC~\cite{uC++book}.784 785 \subs ubsection{Fibers : user-level threads without preemption}786 A popular varient of \glspl{uthread} is what is often reffered to as \glspl{fiber}. However, \glspl{fiber} do not present meaningful semantical differences with \glspl{uthread}. Advocates of \glspl{fiber} list their high performance and ease of implementation as majors strenghts of \glspl{fiber} but the performance difference between \glspl{uthread} and \glspl{fiber} is controversial and the ease of implementation, while true, is a weak argument in the context of language design. Therefore this proposal largely ignore fibers.678 A direct improvement on the \gls{kthread} approach is to use \glspl{uthread}. These threads offer most of the same features that the operating system already provide but can be used on a much larger scale. This approach is the most powerfull solution as it allows all the features of multi-threading while removing several of the more expensives costs of using kernel threads. The down side is that almost none of the low-level threading problems are hidden, users still have to think about data races, deadlocks and synchronization issues. These issues can be somewhat alleviated by a concurrency toolkit with strong garantees but the parallelism toolkit offers very little to reduce complexity in itself. 679 680 Examples of languages that support are Erlang~\cite{Erlang} and \uC~\cite{uC++book}. 681 682 \subsection{Fibers : user-level threads without preemption} 683 In the middle of the flexibility versus complexity spectrum lay \glspl{fiber} which offer \glspl{uthread} without the complexity of preemption by using cooperative scheduling. On a single core machine this means users need not worry about concurrency. On multi-core machines, while concurrency is still a concern, it is only a problem for fibers across cores but not while on the same core. This extra guarantee plus the fact that creating and destroying fibers are implicit synchronizing points means preventing mutable shared ressources still leaves many control flow options. However, multi-core processors can still execute fibers in parallel. This means users either need to worry about mutual exclusion, deadlocks and race conditions, or limit themselves to subset of concurrency primitives, raising the complexity in both cases. In this aspect, fibers can be seen as a more powerfull alternative to \glspl{job}. 787 684 788 685 An example of a language that uses fibers is Go~\cite{Go} 789 686 790 687 \subsection{Jobs and thread pools} 791 The approach on the opposite end of the spectrum is to base parallelism on \glspl{pool}. Indeed, \glspl{pool} offer limited flexibility but at the benefit of a simpler user interface. In \gls{pool} based systems, users express parallelism as units of work and a dependency graph (either explicit or implicit) that tie them together. This approach means users need not worry about concurrency but significantly limits the interaction that can occur among jobs. Indeed, any \gls{job} that blocks also blocks the underlying worker, which effectively means the CPU utilization, and therefore throughput, suffers noticeably. It can be argued that a solution to this problem is to use more workers than available cores. However, unless the number of jobs and the number of workers are comparable, having a significant amount of blocked jobsalways results in idles cores.688 The approach on the opposite end of the spectrum is to base parallelism on \glspl{pool}. Indeed, \glspl{pool} offer limited flexibility but at the benefit of a simpler user interface. In \gls{pool} based systems, users express parallelism as units of work and the dependency graph (either explicit or implicit) that tie them together. This approach means users need not worry about concurrency but significantly limits the interaction that can occur between different jobs. Indeed, any \gls{job} that blocks also blocks the underlying worker, which effectively means the CPU utilization, and therefore throughput, suffers noticeably. It can be argued that a solution to this problem is to use more workers than available cores. However, unless the number of jobs and the number of workers are comparable, having a significant amount of blocked jobs will always results in idles cores. 792 689 793 690 The gold standard of this implementation is Intel's TBB library~\cite{TBB}. 794 691 795 692 \subsection{Paradigm performance} 796 While the choice between the three paradigms listed above may have significant performance implication, it is difficult to pindown the performance implications of chosing a model at the language level. Indeed, in many situations one of these paradigms may show better performance but it all strongly depends on the workload. Having a large amount of mostly independent units of work to execute almost guarantess that the \gls{pool} based system has the best performance thanks to the lower memory overhead. However, interactions between jobs can easily exacerbate contention. User-level threads allow fine-grain context switching, which results in better resource utilisation, but context switches will be more expansive and the extra control means users need to tweak more variables to get the desired performance. Furthermore, if the units of uninterrupted work are large enough the paradigm choice islargely amorticised by the actual work done.693 While the choice between the three paradigms listed above may have significant performance implication, it is difficult to pindown the performance implications of chosing a model at the language level. Indeed, in many situations one of these paradigms may show better performance but it all strongly depends on the workload. Having a large amount of mostly independent units of work to execute almost guarantess that the \gls{pool} based system has the best performance thanks to the lower memory overhead. However, interactions between jobs can easily exacerbate contention. User-level threads may allows fine grain context switching which may result in better resource utilisation but context switches will be more expansive and it is also harder for users to get perfect tunning. As with every example, fibers sit somewhat in the middle of the spectrum. Furthermore, if the units of uninterrupted work are large enough the paradigm choice will be largely amorticised by the actual work done. 797 694 798 695 % ##### ####### # ####### ###### ###### … … 805 702 806 703 \section{\CFA 's Thread Building Blocks} 807 As a system-level language, \CFA should offer both performance and flexibilty as its primary goals, simplicity and user-friendliness being a secondary concern. Therefore, the core of parallelism in \CFA should prioritize power and efficiency. With this said, deconstructing popular paradigms in order to get simple building blocks yields \glspl{uthread} as the core parallelism block. \Glspl{pool} and other parallelism paradigms can then be built on top of the underlying threading model. 704 As a system level language, \CFA should offer both performance and flexibilty as its primary goals, simplicity and user-friendliness being a secondary concern. Therefore, the core of parallelism in \CFA should prioritize power and efficiency. With this said, it is possible to deconstruct the three paradigms details aboved in order to get simple building blocks. Here is a table showing the core caracteristics of the mentionned paradigms : 705 \begin{center} 706 \begin{tabular}[t]{| r | c | c |} 707 \cline{2-3} 708 \multicolumn{1}{ c| }{} & Has a stack & Preemptive \\ 709 \hline 710 \Glspl{pool} & X & X \\ 711 \hline 712 \Glspl{fiber} & \checkmark & X \\ 713 \hline 714 \Glspl{uthread} & \checkmark & \checkmark \\ 715 \hline 716 \end{tabular} 717 \end{center} 718 719 This table is missing several variations (for example jobs on \glspl{uthread} or \glspl{fiber}), but these variation affect mostly performance and do not effect the guarantees as the presented paradigm do. 720 721 As shown in section \ref{cfaparadigms} these different blocks being available in \CFA it is trivial to reproduce any of these paradigm. 808 722 809 723 % ####### # # ###### ####### # ###### ##### … … 816 730 817 731 \subsection{Thread Interface} 818 The basic building blocks of \CFA are \glspl{cfathread}. By default these are implemented as \glspl{uthread} , and as such, offer a flexible and lightweight threading interface (lightweight comparedto \glspl{kthread}). A thread can be declared using a struct declaration with prefix \code{thread} as follows :732 The basic building blocks of \CFA are \glspl{cfathread}. By default these are implemented as \glspl{uthread} and as such offer a flexible and lightweight threading interface (lightweight comparatievely to \glspl{kthread}). A thread can be declared using a struct declaration with prefix \code{thread} as follows : 819 733 820 734 \begin{lstlisting} … … 822 736 \end{lstlisting} 823 737 824 Obviously, for this thread implementation to be usefull it must run some user code. Several other threading interfaces use a function-pointer representation as the interface of threads (for example : \Csharp~\cite{Csharp} and Scala~\cite{Scala}). However, this proposal considers that statically tying a \code{main} routine to a thread superseeds this approach. Since the \code{main} routine is already a special routine in \CFA (where the program begins), the existing syntax for declaring routines names with special semanticscan be extended, i.e. operator overloading. As such the \code{main} routine of a thread can be defined as :738 Obviously, for this thread implementation to be usefull it must run some user code. Several other threading interfaces use some function pointer representation as the interface of threads (for example : \Csharp~\cite{Csharp} and Scala~\cite{Scala}). However, this proposal considers that statically tying a \code{main} routine to a thread superseeds this approach. Since the \code{main} routine is definitely a special routine in \CFA, the existing syntax for declaring routines with unordinary name can be extended, i.e. operator overloading. As such the \code{main} routine of a thread can be defined as : 825 739 \begin{lstlisting} 826 740 thread struct foo {}; 827 741 828 void ?main( foo* this) {829 sout | "Hello World!" | endl;830 } 831 \end{lstlisting} 832 833 In this example, threads of type \code{foo} will start there execution in the \code{void ?main(foo*)} routine which in this case prints \code{"Hello World!"}. While this proposoal encourages this approach which is enforces strongly type programming. Users may prefer to use the routine based thread semantics for the sake of simplicity.With these semantics it is trivial to write a thread type that takes a function pointer as parameter and executes it on its stack asynchronously :742 void ?main(thread foo* this) { 743 /*... Some useful code ...*/ 744 } 745 \end{lstlisting} 746 747 With these semantics it is trivial to write a thread type that takes a function pointer as parameter and executes it on its stack asynchronously : 834 748 \begin{lstlisting} 835 749 typedef void (*voidFunc)(void); … … 840 754 841 755 //ctor 842 void ?{}( FuncRunner* this, voidFunc inFunc) {756 void ?{}(thread FuncRunner* this, voidFunc inFunc) { 843 757 func = inFunc; 844 758 } 845 759 846 760 //main 847 void ?main( FuncRunner* this) {761 void ?main(thread FuncRunner* this) { 848 762 this->func(); 849 763 } 850 764 \end{lstlisting} 851 765 852 Of course for threads to be useful, it must be possible to start and stop threads and wait for them to complete execution. While using an \acrshort{api} such as \code{fork} and \code{join} is relatively common in the literature, such an interface is unnecessary. Indeed, the simplest approach is to use \acrshort{raii} principles and have threads \code{fork} once the constructor has completed and \code{join} before the destructor runs. 853 \begin{lstlisting} 854 thread struct World; //FuncRunner declared above 855 856 void ?main(thread World* this) { 766 % In this example \code{func} is a function pointer stored in \acrfull{tls}, which is \CFA is both easy to use and completly typesafe. 767 768 Of course for threads to be useful, it must be possible to start and stop threads and wait for them to complete execution. While using an \acrshort{api} such as \code{fork} and \code{join} is relatively common in the literature, such an interface is not needed. Indeed, the simplest approach is to use \acrshort{raii} principles and have threads \code{fork} once the constructor has completed and \code{join} before the destructor runs. 769 \begin{lstlisting} 770 thread struct FuncRunner; //FuncRunner declared above 771 772 void world() { 857 773 sout | "World!" | endl; 858 774 } 859 775 860 776 void main() { 861 World w;777 FuncRunner run = {world}; 862 778 //Thread run forks here 863 779 … … 868 784 } 869 785 \end{lstlisting} 870 This semantic has several advantages over explicit semantics : typesafety is guaranteed, a thread is always started and stopped exaclty once and users cannot make any progamming errors. However, one of the apparent drawbacks of this system is that threads now always form a lattice, that is they are always destroyed in opposite order of construction. While this seems like a significant limitation, existing \CFA semantics can solve this problem. Indeed, by using dynamic allocation to create threads will naturally let threads outlive the scope in which the thread was created much like dynamically allocating memory will let objects outlive the scope in which thy were created : 871 786 This semantic has several advantages over explicit semantics : typesafety is guaranteed, a thread is always started and stopped exaclty once and users cannot make any progamming errors. Furthermore it naturally follows the memory allocation semantics, which means users do not need to learn multiple semantics. 787 788 These semantics also naturally scale to multiple threads meaning basic synchronisation is very simple : 872 789 \begin{lstlisting} 873 790 thread struct MyThread { … … 876 793 877 794 //ctor 878 void ?{}(MyThread* this, 879 bool is_special = false) { 880 //... 881 } 795 void ?{}(thread MyThread* this) {} 882 796 883 797 //main 884 void ?main(MyThread* this) { 885 //... 886 } 887 888 void foo() { 889 MyThread* special_thread; 890 { 891 MyThread thrds = {false}; 892 //Start a thread at the beginning of the scope 893 894 DoStuff(); 895 896 //create a other thread that will outlive the thread in this scope 897 special_thread = new MyThread{true}; 898 899 //Wait for the thread to finish 900 } 901 DoMoreStuff(); 902 903 //Now wait for the special 904 } 905 \end{lstlisting} 906 907 Another advantage of this semantic is that it naturally scale to multiple threads meaning basic synchronisation is very simple : 908 909 \begin{lstlisting} 910 thread struct MyThread { 911 //... 912 }; 913 914 //ctor 915 void ?{}(MyThread* this) {} 916 917 //main 918 void ?main(MyThread* this) { 798 void ?main(thread MyThread* this) { 919 799 //... 920 800 } … … 928 808 //Wait for the 10 threads to finish 929 809 } 930 \end{lstlisting} 931 932 \subsection{Coroutines : A stepping stone}\label{coroutine} 933 While the main focus of this proposal is concurrency and paralellism, it is important to adress coroutines which are actually a significant underlying aspect of the concurrency system. Indeed, while having nothing todo with parallelism and arguably very little to do with concurrency, coroutines need to deal with context-switchs and and other context management operations. Therefore, this proposal includes coroutines both as an intermediate step for the implementation of threads and a first class feature of \CFA. 934 935 The core API of coroutines revolve around two features : independent stacks and suspedn/resume. Much like threads the syntax for declaring a coroutine is declaring a type and a main routine for it to start : 936 \begin{lstlisting} 937 coroutine struct MyCoroutine { 938 //... 939 }; 940 941 //ctor 942 void ?{}(MyCoroutine* this) { 943 944 } 945 946 //main 947 void ?main(MyCoroutine* this) { 948 sout | "Hello World!" | endl; 949 } 950 \end{lstlisting} 951 952 One a coroutine is created, users can context switch to it using \code{suspend} and come back using \code{resume}. Here is an example of a solution to the fibonnaci problem using coroutines : 953 \begin{lstlisting} 954 coroutine struct Fibonacci { 955 int fn; // used for communication 956 }; 957 958 void ?main(Fibonacci* this) { 959 int fn1, fn2; // retained between resumes 960 this->fn = 0; 961 fn1 = this->fn; 962 suspend(this); // return to last resume 963 964 this->fn = 1; 965 fn2 = fn1; 966 fn1 = this->fn; 967 suspend(this); // return to last resume 968 969 for ( ;; ) { 970 this->fn = fn1 + fn2; 971 fn2 = fn1; 972 fn1 = this->fn; 973 suspend(this); // return to last resume 974 } 975 } 976 977 int next(Fibonacci& this) { 978 resume(&this); // transfer to last suspend 979 return this.fn; 980 } 981 982 void main() { 983 Fibonacci f1, f2; 984 for ( int i = 1; i <= 10; i += 1 ) { 985 sout | next(f1) | '§\verb+ +§' | next(f2) | endl; 986 } 810 811 void bar() { 812 MyThread* thrds = new MyThread[10]; 813 //Start 10 threads at the beginning of the scope 814 815 DoStuff(); 816 817 //Wait for the 10 threads to finish 818 delete MyThread; 987 819 } 988 820 \end{lstlisting} 989 821 990 822 \newpage 991 \ bf{WORK IN PROGRESS}823 \large{\textbf{WORK IN PROGRESS}} 992 824 \subsection{The \CFA Kernel : Processors, Clusters and Threads}\label{kernel} 993 825 -
doc/proposals/concurrency/glossary.tex
r66f8528 r5802a4f 14 14 15 15 \longnewglossaryentry{group-acquire} 16 {name={ bulked acquiring}}16 {name={grouped acquiring}} 17 17 { 18 18 Implicitly acquiring several monitors when entering a monitor. -
doc/proposals/concurrency/style.tex
r66f8528 r5802a4f 2 2 3 3 \lstset{ 4 morekeywords=[2]{nomutex,mutex,thread,wait,wait_release,signal,signal_block,accept,monitor ,suspend,resume,coroutine},4 morekeywords=[2]{nomutex,mutex,thread,wait,wait_release,signal,signal_block,accept,monitor}, 5 5 keywordstyle=[2]\color{blue}, % second set of keywords for concurency 6 6 basicstyle=\linespread{0.9}\tt\small, % reduce line spacing and use typewriter font -
doc/proposals/concurrency/version
r66f8528 r5802a4f 1 0. 7.481 0.5.150 -
doc/working/resolver_design.md
r66f8528 r5802a4f 1382 1382 hypothesis needs to be empirically validated. 1383 1383 1384 Another approach would be to abandon expression-tree ordering for1385 subexpression matching, and order by "most constrained symbol"; symbols would1386 be more constrained if there were fewer matching declarations, fewer1387 subexpressions yet to resolve, or possibly fewer possible types the expression1388 could resolve to. Ordering the expressions in a priority-queue by this metric1389 would not necessarily produce a top-down or a bottom-up order, but would add1390 opportunities for pruning based on memoized upper and lower bounds.1391 1392 1384 Both Baker and Cormack explicitly generate all possible interpretations of a 1393 1385 given expression; thinking of the set of interpretations of an expression as a -
src/CodeGen/CodeGenerator.cc
r66f8528 r5802a4f 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 14:51:27201613 // Update Count : 3 6212 // Last Modified On : Thu Aug 4 13:35:30 2016 13 // Update Count : 352 14 14 // 15 15 … … 57 57 if ( decl->get_extension() ) { 58 58 output << "__extension__ "; 59 } // if60 } // extension61 62 void CodeGenerator::asmName( DeclarationWithType * decl ) {63 if ( ConstantExpr * asmName = decl->get_asmName() ) {64 output << " asm ( " << asmName->get_constant()->get_value() << " )";65 59 } // if 66 60 } // extension … … 147 141 } // if 148 142 149 asmName( functionDecl );150 151 143 // acceptAll( functionDecl->get_oldDecls(), *this ); 152 144 if ( functionDecl->get_statements() ) { … … 161 153 handleStorageClass( objectDecl ); 162 154 output << genType( objectDecl->get_type(), mangleName( objectDecl ) ); 163 164 asmName( objectDecl );165 155 166 156 if ( objectDecl->get_init() ) { -
src/CodeGen/CodeGenerator.h
r66f8528 r5802a4f 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 13:51:53201613 // Update Count : 3 912 // Last Modified On : Thu Aug 4 13:37:07 2016 13 // Update Count : 38 14 14 // 15 15 … … 108 108 }; 109 109 110 void asmName( DeclarationWithType *decl );111 112 110 void extension( Expression *expr ); 113 111 void extension( Declaration *decl ); -
src/CodeGen/GenType.cc
r66f8528 r5802a4f 204 204 void GenType::visit( ZeroType *zeroType ) { 205 205 // ideally these wouldn't hit codegen at all, but should be safe to make them ints 206 typeString = " longint " + typeString;206 typeString = "int " + typeString; 207 207 handleQualifiers( zeroType ); 208 208 } … … 210 210 void GenType::visit( OneType *oneType ) { 211 211 // ideally these wouldn't hit codegen at all, but should be safe to make them ints 212 typeString = " longint " + typeString;212 typeString = "int " + typeString; 213 213 handleQualifiers( oneType ); 214 214 } -
src/CodeGen/OperatorTable.cc
r66f8528 r5802a4f 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : T ue Dec 13 14:33:05201613 // Update Count : 1011 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu Apr 14 16:48:27 2016 13 // Update Count : 9 14 14 // 15 15 … … 21 21 const OperatorInfo tableValues[] = { 22 22 { "?[?]", "", "_operator_index", OT_INDEX }, 23 { "?{}", "=", "_constructor", OT_CTOR },23 { "?{}", "=", "_constructor", OT_CTOR }, 24 24 { "^?{}", "", "_destructor", OT_DTOR }, 25 25 { "?()", "", "_operator_call", OT_CALL }, -
src/Common/Assert.cc
r66f8528 r5802a4f 1 // 1 // 2 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 3 // 4 4 // The contents of this file are covered under the licence agreement in the 5 5 // file "LICENCE" distributed with Cforall. 6 // 7 // Assert.cc -- 8 // 6 // 7 // Assert.cc -- 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Aug 18 13:26:59 2016 … … 12 12 // Last Modified On : Fri Aug 19 17:07:08 2016 13 13 // Update Count : 10 14 // 14 // 15 15 16 16 #include <assert.h> … … 35 35 va_start( args, fmt ); 36 36 vfprintf( stderr, fmt, args ); 37 va_end( args );38 fprintf( stderr, "\n" );39 37 abort(); 40 38 } … … 45 43 // compile-command: "make install" // 46 44 // End: // 45 -
src/Common/utility.h
r66f8528 r5802a4f 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Dec 14 21:25:25201613 // Update Count : 3112 // Last Modified On : Fri Sep 23 11:46:47 2016 13 // Update Count : 28 14 14 // 15 15 … … 36 36 } 37 37 38 template< typename T, typename U>38 template<typename T, typename U> 39 39 struct maybeBuild_t { 40 40 static T * doit( const U *orig ) { -
src/InitTweak/FixInit.cc
r66f8528 r5802a4f 346 346 347 347 if ( VariableExpr * function = dynamic_cast< VariableExpr * > ( appExpr->get_function() ) ) { 348 if ( LinkageSpec::isBuiltin( function->get_var()->get_linkage() )) {348 if ( function->get_var()->get_linkage() == LinkageSpec::Intrinsic ) { 349 349 // optimization: don't need to copy construct in order to call intrinsic functions 350 350 return appExpr; -
src/InitTweak/InitTweak.cc
r66f8528 r5802a4f 304 304 305 305 namespace { 306 DeclarationWithType * getCalledFunction( Expression * expr );307 308 template<typename CallExpr>309 DeclarationWithType * handleDerefCalledFunction( CallExpr * expr ) {310 // (*f)(x) => should get "f"311 std::string name = getFunctionName( expr );312 assertf( name == "*?", "Unexpected untyped expression: %s", name.c_str() );313 assertf( ! expr->get_args().empty(), "Can't get called function from dereference with no arguments" );314 return getCalledFunction( expr->get_args().front() );315 }316 317 306 DeclarationWithType * getCalledFunction( Expression * expr ) { 318 307 assert( expr ); … … 323 312 } else if ( CastExpr * castExpr = dynamic_cast< CastExpr * >( expr ) ) { 324 313 return getCalledFunction( castExpr->get_arg() ); 325 } else if ( UntypedExpr * untypedExpr = dynamic_cast< UntypedExpr * >( expr ) ) {326 return handleDerefCalledFunction( untypedExpr );327 } else if ( ApplicationExpr * appExpr = dynamic_cast< ApplicationExpr * > ( expr ) ) {328 return handleDerefCalledFunction( appExpr );329 314 } 330 315 return nullptr; … … 392 377 393 378 namespace { 394 std::string funcName( Expression * func );395 396 template<typename CallExpr>397 std::string handleDerefName( CallExpr * expr ) {398 // (*f)(x) => should get name "f"399 std::string name = getFunctionName( expr );400 assertf( name == "*?", "Unexpected untyped expression: %s", name.c_str() );401 assertf( ! expr->get_args().empty(), "Can't get function name from dereference with no arguments" );402 return funcName( expr->get_args().front() );403 }404 405 379 std::string funcName( Expression * func ) { 406 380 if ( NameExpr * nameExpr = dynamic_cast< NameExpr * >( func ) ) { … … 414 388 } else if ( UntypedMemberExpr * memberExpr = dynamic_cast< UntypedMemberExpr * > ( func ) ) { 415 389 return funcName( memberExpr->get_member() ); 416 } else if ( UntypedExpr * untypedExpr = dynamic_cast< UntypedExpr * >( func ) ) {417 return handleDerefName( untypedExpr );418 } else if ( ApplicationExpr * appExpr = dynamic_cast< ApplicationExpr * >( func ) ) {419 return handleDerefName( appExpr );420 390 } else { 421 391 assertf( false, "Unexpected expression type being called as a function in call expression" ); … … 425 395 426 396 std::string getFunctionName( Expression * expr ) { 427 // there's some unforunate overlap here with getCalledFunction. Ideally this would be able to use getCalledFunction and428 // return the name of the DeclarationWithType, but this needs to work for NameExpr and UntypedMemberExpr, where getCalledFunction429 // can't possibly do anything reasonable.430 397 if ( ApplicationExpr * appExpr = dynamic_cast< ApplicationExpr * >( expr ) ) { 431 398 return funcName( appExpr->get_function() ); -
src/Makefile.am
r66f8528 r5802a4f 41 41 driver_cfa_cpp_SOURCES = ${SRC} 42 42 driver_cfa_cpp_LDADD = ${LEXLIB} -ldl # yywrap 43 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT -O243 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT 44 44 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 45 45 -
src/Makefile.in
r66f8528 r5802a4f 69 69 PRE_UNINSTALL = : 70 70 POST_UNINSTALL = : 71 build_triplet = @build@72 host_triplet = @host@73 71 DIST_COMMON = $(srcdir)/CodeGen/module.mk $(srcdir)/Common/module.mk \ 74 72 $(srcdir)/ControlStruct/module.mk $(srcdir)/GenPoly/module.mk \ … … 261 259 BACKEND_CC = @BACKEND_CC@ 262 260 CC = @CC@ 263 CCAS = @CCAS@264 CCASDEPMODE = @CCASDEPMODE@265 CCASFLAGS = @CCASFLAGS@266 261 CCDEPMODE = @CCDEPMODE@ 267 262 CFA_BACKEND_CC = @CFA_BACKEND_CC@ … … 298 293 LIBS = @LIBS@ 299 294 LTLIBOBJS = @LTLIBOBJS@ 300 MACHINE_TYPE = @MACHINE_TYPE@301 295 MAINT = @MAINT@ 302 296 MAKEINFO = @MAKEINFO@ … … 330 324 am__untar = @am__untar@ 331 325 bindir = @bindir@ 332 build = @build@333 326 build_alias = @build_alias@ 334 build_cpu = @build_cpu@335 build_os = @build_os@336 build_vendor = @build_vendor@337 327 builddir = @builddir@ 338 328 datadir = @datadir@ … … 341 331 dvidir = @dvidir@ 342 332 exec_prefix = @exec_prefix@ 343 host = @host@344 333 host_alias = @host_alias@ 345 host_cpu = @host_cpu@346 host_os = @host_os@347 host_vendor = @host_vendor@348 334 htmldir = @htmldir@ 349 335 includedir = @includedir@ … … 432 418 driver_cfa_cpp_SOURCES = ${SRC} 433 419 driver_cfa_cpp_LDADD = ${LEXLIB} -ldl # yywrap 434 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT -O2420 driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${abs_top_srcdir}/src/include -DYY_NO_INPUT 435 421 driver_cfa_cpp_LDFLAGS = -Xlinker -export-dynamic 436 422 all: $(BUILT_SOURCES) -
src/Parser/DeclarationNode.cc
r66f8528 r5802a4f 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 14:43:38 201613 // Update Count : 6 6012 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 651 14 14 // 15 15 … … 48 48 type( nullptr ), 49 49 storageClass( NoStorageClass ), 50 bitfieldWidth( nullptr ),51 50 isInline( false ), 52 51 isNoreturn( false ), 52 bitfieldWidth( nullptr ), 53 initializer( nullptr ), 53 54 hasEllipsis( false ), 54 55 linkage( ::linkage ), 55 asmName( nullptr ),56 initializer( nullptr ),57 56 extension( false ) { 58 57 … … 76 75 delete type; 77 76 delete bitfieldWidth; 78 // asmName, no delete, passed to next stage79 77 delete initializer; 80 78 } … … 92 90 newnode->set_next( maybeClone( get_next() ) ); 93 91 newnode->linkage = linkage; 94 newnode->asmName = maybeClone( asmName );95 92 96 93 // newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr; … … 286 283 DeclarationNode * newnode = new DeclarationNode; 287 284 newnode->type = nullptr; 288 assert( ! newnode->name ); 285 assert( ! newnode->name ); 289 286 // newnode->variable.name = name; 290 287 newnode->name = name; … … 375 372 newnode->type = new TypeData( TypeData::Builtin ); 376 373 newnode->builtin = bt; 377 newnode->type->builtintype = newnode->builtin;378 374 return newnode; 379 375 } // DeclarationNode::newBuiltinType … … 644 640 } 645 641 646 DeclarationNode * DeclarationNode::addAsmName( ConstantExpr * newname ) {647 assert( ! asmName );648 asmName = newname;649 return this;650 }651 652 642 DeclarationNode * DeclarationNode::addBitfield( ExpressionNode * size ) { 653 643 bitfieldWidth = size; … … 956 946 957 947 if ( type ) { 958 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, asmName,maybeBuild< Initializer >(initializer) )->set_extension( extension );948 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, maybeBuild< Initializer >(initializer) )->set_extension( extension ); 959 949 } // if 960 950 961 951 if ( ! isInline && ! isNoreturn ) { 962 952 assertf( name, "ObjectDecl are assumed to have names\n" ); 963 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_ asmName( asmName )->set_extension( extension );953 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_extension( extension ); 964 954 } // if 965 955 -
src/Parser/ExpressionNode.cc
r66f8528 r5802a4f 46 46 // type. 47 47 48 Type::Qualifiers emptyQualifiers; // no qualifiers on constants48 static Type::Qualifiers emptyQualifiers; // no qualifiers on constants 49 49 50 50 static inline bool checkU( char c ) { return c == 'u' || c == 'U'; } … … 172 172 } // build_constantStr 173 173 174 Expression *build_constantZeroOne( const std::string & str ) {175 Expression * ret = new ConstantExpr( Constant( str == "0" ? (Type*)new ZeroType( emptyQualifiers ) : (Type*)new OneType( emptyQualifiers ), str ) );176 delete &str; // created by lex177 return ret;178 } // build_constantChar179 180 174 Expression * build_field_name_FLOATINGconstant( const std::string & str ) { 181 175 // str is of the form A.B -> separate at the . and return member expression -
src/Parser/ParseNode.h
r66f8528 r5802a4f 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 15:37:33201613 // Update Count : 6 4312 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 636 14 14 // 15 15 … … 154 154 Expression * build_constantFloat( const std::string &str ); 155 155 Expression * build_constantChar( const std::string &str ); 156 Expression * build_constantZeroOne( const std::string &str );157 156 ConstantExpr * build_constantStr( const std::string &str ); 158 157 Expression * build_field_name_FLOATINGconstant( const std::string & str ); … … 205 204 enum Aggregate { Struct, Union, Trait, NoAggregate }; 206 205 enum TypeClass { Otype, Dtype, Ftype, NoTypeClass }; 207 enum BuiltinType { Valist , Zero, One, NoBuiltinType};206 enum BuiltinType { Valist }; 208 207 209 208 static const char * storageName[]; … … 257 256 DeclarationNode * addAssertions( DeclarationNode * ); 258 257 DeclarationNode * addName( std::string * ); 259 DeclarationNode * addAsmName( ConstantExpr * );260 258 DeclarationNode * addBitfield( ExpressionNode * size ); 261 259 DeclarationNode * addVarArgs(); … … 310 308 TypeData * type; 311 309 StorageClass storageClass; 310 bool isInline, isNoreturn; 311 std::list< std::string > attributes; 312 312 ExpressionNode * bitfieldWidth; 313 bool isInline, isNoreturn;314 313 std::unique_ptr<ExpressionNode> enumeratorValue; 314 InitializerNode * initializer; 315 315 bool hasEllipsis; 316 316 LinkageSpec::Spec linkage; 317 ConstantExpr *asmName;318 std::list< std::string > attributes;319 InitializerNode * initializer;320 317 bool extension = false; 321 318 std::string error; -
src/Parser/TypeData.cc
r66f8528 r5802a4f 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 13:40:33201613 // Update Count : 4 2012 // Last Modified On : Sat Sep 24 11:14:26 2016 13 // Update Count : 415 14 14 // 15 15 … … 215 215 break; 216 216 case Builtin: 217 assert( builtintype == DeclarationNode::Zero || builtintype == DeclarationNode::One );218 newtype->builtintype = builtintype;217 assert( false ); 218 // newtype->builtin = builtin; 219 219 break; 220 220 } // switch … … 444 444 return buildTypeof( td ); 445 445 case TypeData::Builtin: 446 if(td->builtintype == DeclarationNode::Zero) { 447 return new ZeroType( emptyQualifiers ); 448 } 449 else if(td->builtintype == DeclarationNode::One) { 450 return new OneType( emptyQualifiers ); 451 } 452 else { 453 return new VarArgsType( buildQualifiers( td ) ); 454 } 446 return new VarArgsType( buildQualifiers( td ) ); 455 447 case TypeData::Symbolic: 456 448 case TypeData::Enum: … … 582 574 const_cast<TypeData *>(td)->basictype = DeclarationNode::Int; 583 575 goto Integral; 584 default:585 assert(false);586 return nullptr;587 576 } // switch 588 577 … … 721 710 } // buildTypeof 722 711 723 Declaration * buildDecl( const TypeData * td, const string &name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Spec linkage, ConstantExpr *asmName,Initializer * init ) {712 Declaration * buildDecl( const TypeData * td, const string &name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Spec linkage, Initializer * init ) { 724 713 if ( td->kind == TypeData::Function ) { 725 714 FunctionDecl * decl; … … 743 732 } // for 744 733 buildList( td->function.oldDeclList, decl->get_oldDecls() ); 745 return decl ->set_asmName( asmName );734 return decl; 746 735 } else if ( td->kind == TypeData::Aggregate ) { 747 736 return buildAggregate( td ); … … 751 740 return buildSymbolic( td, name, sc ); 752 741 } else { 753 return (new ObjectDecl( name, sc, linkage, bitfieldWidth, typebuild( td ), init, list< Attribute * >(), isInline, isNoreturn ))->set_asmName( asmName);742 return new ObjectDecl( name, sc, linkage, bitfieldWidth, typebuild( td ), init, list< Attribute * >(), isInline, isNoreturn ); 754 743 } // if 755 744 return nullptr; … … 769 758 break; 770 759 default: 771 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( buildDecl( td->base, "", DeclarationNode::NoStorageClass, nullptr, false, false, LinkageSpec::Cforall , nullptr) ) );760 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( buildDecl( td->base, "", DeclarationNode::NoStorageClass, nullptr, false, false, LinkageSpec::Cforall ) ) ); 772 761 } // switch 773 762 } else { -
src/Parser/TypeData.h
r66f8528 r5802a4f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // TypeData.h -- 7 // TypeData.h -- 8 8 // 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 13:39:39201613 // Update Count : 14 312 // Last Modified On : Mon Oct 3 12:34:08 2016 13 // Update Count : 142 14 14 // 15 15 … … 74 74 DeclarationNode::Signedness signedness = DeclarationNode::NoSignedness; 75 75 DeclarationNode::Length length = DeclarationNode::NoLength; 76 DeclarationNode::BuiltinType builtintype = DeclarationNode::NoBuiltinType;77 76 typedef std::bitset< DeclarationNode::NoQualifier > Qualifiers; 78 77 Qualifiers qualifiers; … … 111 110 TupleType * buildTuple( const TypeData * ); 112 111 TypeofType * buildTypeof( const TypeData * ); 113 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClass, Expression *, bool isInline, bool isNoreturn, LinkageSpec::Spec, ConstantExpr *asmName,Initializer * init = nullptr );112 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClass, Expression *, bool isInline, bool isNoreturn, LinkageSpec::Spec, Initializer * init = nullptr ); 114 113 FunctionType * buildFunction( const TypeData * ); 115 114 -
src/Parser/lex.cc
r66f8528 r5802a4f 382 382 (yy_c_buf_p) = yy_cp; 383 383 384 #define YY_NUM_RULES 18 5385 #define YY_END_OF_BUFFER 18 6384 #define YY_NUM_RULES 183 385 #define YY_END_OF_BUFFER 184 386 386 /* This struct is not used in this scanner, 387 387 but its presence is necessary. */ … … 391 391 flex_int32_t yy_nxt; 392 392 }; 393 static yyconst flex_int16_t yy_accept[ 905] =393 static yyconst flex_int16_t yy_accept[895] = 394 394 { 0, 395 0, 0, 0, 0, 0, 0, 120, 120, 123, 123, 396 186, 184, 7, 9, 8, 143, 122, 105, 148, 151, 397 119, 130, 131, 146, 144, 134, 145, 137, 147, 110, 398 111, 112, 135, 136, 153, 155, 154, 156, 184, 105, 399 128, 184, 129, 149, 105, 107, 105, 105, 105, 105, 400 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 401 105, 105, 105, 132, 152, 133, 150, 7, 184, 4, 402 4, 185, 108, 185, 109, 120, 121, 127, 123, 124, 403 7, 9, 0, 8, 160, 179, 105, 0, 172, 142, 404 165, 173, 170, 157, 168, 158, 169, 167, 0, 116, 405 406 3, 0, 171, 115, 113, 0, 0, 113, 113, 0, 407 0, 113, 112, 112, 112, 0, 112, 140, 141, 139, 408 161, 163, 159, 164, 162, 0, 0, 0, 0, 0, 395 0, 0, 0, 0, 0, 0, 118, 118, 121, 121, 396 184, 182, 7, 9, 8, 141, 120, 103, 146, 149, 397 117, 128, 129, 144, 142, 132, 143, 135, 145, 108, 398 109, 110, 133, 134, 151, 153, 152, 154, 182, 103, 399 126, 182, 127, 147, 103, 105, 103, 103, 103, 103, 400 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 401 103, 103, 130, 150, 131, 148, 7, 182, 4, 4, 402 183, 106, 183, 107, 118, 119, 125, 121, 122, 7, 403 9, 0, 8, 158, 177, 103, 0, 170, 140, 163, 404 171, 168, 155, 166, 156, 167, 165, 0, 114, 3, 405 406 0, 169, 113, 111, 0, 0, 111, 111, 0, 0, 407 111, 110, 110, 110, 0, 110, 138, 139, 137, 159, 408 161, 157, 162, 160, 0, 0, 0, 0, 0, 0, 409 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 410 176, 0, 120, 117, 103, 0, 0, 173, 0, 103, 411 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 412 103, 103, 103, 103, 103, 103, 38, 103, 103, 103, 413 103, 103, 103, 103, 103, 103, 103, 57, 103, 103, 414 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 415 103, 103, 103, 103, 172, 164, 7, 0, 0, 0, 416 417 2, 0, 5, 106, 0, 0, 0, 118, 0, 124, 418 123, 123, 0, 0, 0, 121, 0, 0, 0, 0, 409 419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410 106, 178, 0, 122, 119, 105, 0, 0, 175, 0, 411 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 412 105, 105, 105, 105, 105, 105, 105, 38, 105, 105, 413 105, 105, 105, 105, 105, 105, 105, 105, 57, 105, 414 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 415 105, 105, 105, 105, 105, 105, 105, 174, 166, 7, 416 417 0, 0, 0, 2, 0, 5, 108, 0, 0, 0, 418 120, 0, 126, 125, 125, 0, 0, 0, 123, 0, 420 0, 136, 114, 115, 0, 115, 115, 0, 0, 6, 421 115, 111, 0, 0, 0, 115, 0, 111, 111, 111, 422 111, 0, 112, 0, 0, 110, 110, 110, 110, 0, 423 174, 175, 0, 180, 178, 0, 0, 0, 104, 0, 424 0, 0, 0, 0, 0, 0, 0, 103, 17, 103, 425 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 426 103, 103, 103, 103, 103, 103, 103, 14, 103, 103, 427 428 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 429 103, 103, 103, 103, 103, 103, 51, 103, 103, 103, 430 64, 103, 103, 103, 103, 103, 103, 103, 103, 103, 431 103, 103, 103, 103, 103, 90, 103, 103, 103, 103, 432 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 433 0, 123, 0, 0, 0, 0, 0, 123, 0, 0, 434 181, 0, 0, 0, 0, 0, 0, 0, 115, 0, 435 115, 0, 115, 0, 115, 0, 0, 115, 0, 111, 436 111, 0, 0, 112, 112, 0, 112, 0, 112, 110, 437 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438 439 0, 179, 103, 103, 103, 103, 103, 103, 103, 103, 440 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 441 103, 103, 103, 103, 103, 21, 103, 24, 103, 27, 442 103, 103, 103, 103, 103, 103, 103, 41, 103, 43, 443 103, 103, 103, 103, 103, 103, 103, 56, 103, 67, 444 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 445 103, 103, 103, 103, 103, 103, 98, 103, 103, 0, 419 446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420 0, 0, 0, 0, 138, 116, 117, 0, 117, 117, 421 0, 0, 6, 117, 113, 0, 0, 0, 117, 0, 422 113, 113, 113, 113, 0, 114, 0, 0, 112, 112, 423 112, 112, 0, 176, 177, 0, 182, 180, 0, 0, 424 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 425 105, 17, 105, 105, 105, 105, 105, 105, 105, 105, 426 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 427 428 14, 105, 105, 105, 105, 105, 105, 105, 105, 105, 429 105, 105, 105, 105, 105, 105, 105, 105, 105, 51, 430 105, 105, 105, 64, 105, 105, 105, 105, 105, 105, 431 105, 105, 105, 105, 105, 105, 105, 105, 105, 91, 432 105, 105, 105, 105, 105, 105, 105, 105, 0, 0, 433 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 434 0, 0, 125, 0, 0, 183, 0, 0, 0, 0, 435 0, 0, 0, 117, 0, 117, 0, 117, 0, 117, 436 0, 0, 117, 0, 113, 113, 0, 0, 114, 114, 437 0, 114, 0, 114, 112, 112, 0, 0, 0, 0, 438 439 0, 0, 0, 0, 0, 0, 181, 105, 105, 105, 440 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 441 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 442 21, 105, 24, 105, 27, 105, 105, 105, 105, 105, 443 105, 105, 41, 105, 43, 105, 105, 105, 105, 105, 444 105, 105, 56, 105, 67, 105, 105, 105, 105, 105, 445 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 446 105, 105, 99, 105, 105, 105, 0, 0, 0, 0, 447 0, 0, 0, 123, 0, 0, 0, 0, 0, 115, 448 0, 0, 0, 0, 0, 0, 0, 112, 112, 0, 449 450 116, 0, 112, 112, 0, 0, 0, 0, 0, 0, 451 0, 0, 0, 0, 0, 0, 0, 103, 103, 22, 452 103, 103, 103, 103, 103, 103, 103, 15, 103, 103, 453 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 454 103, 103, 23, 25, 103, 32, 103, 103, 103, 103, 455 40, 103, 103, 103, 103, 49, 103, 103, 54, 103, 456 103, 71, 103, 103, 103, 77, 103, 103, 103, 103, 457 103, 87, 89, 103, 103, 95, 103, 103, 102, 0, 447 458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448 125, 0, 0, 0, 0, 0, 117, 0, 0, 0, 449 450 0, 0, 0, 0, 114, 114, 0, 118, 0, 114, 451 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452 0, 0, 0, 0, 105, 105, 22, 105, 105, 105, 453 105, 105, 105, 105, 15, 105, 105, 105, 105, 105, 454 105, 105, 105, 105, 105, 105, 105, 105, 105, 23, 455 25, 105, 32, 105, 105, 105, 105, 40, 105, 105, 456 105, 105, 49, 105, 105, 54, 105, 105, 71, 72, 457 105, 105, 105, 78, 105, 105, 105, 105, 105, 88, 458 90, 105, 105, 96, 105, 105, 103, 105, 0, 0, 459 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 460 461 0, 112, 116, 116, 116, 116, 0, 112, 0, 0, 462 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 463 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 464 103, 103, 103, 103, 103, 103, 59, 103, 103, 103, 465 103, 103, 103, 103, 103, 28, 103, 103, 103, 39, 466 42, 45, 103, 103, 52, 103, 61, 68, 103, 103, 467 76, 78, 81, 82, 84, 85, 103, 103, 92, 103, 468 103, 0, 1, 0, 0, 0, 0, 0, 0, 106, 469 0, 0, 0, 123, 0, 0, 0, 0, 116, 0, 470 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 471 472 0, 103, 103, 18, 103, 103, 103, 103, 103, 103, 473 103, 16, 103, 103, 103, 33, 103, 103, 103, 103, 474 103, 103, 103, 103, 103, 103, 103, 103, 36, 37, 475 103, 48, 53, 103, 103, 103, 91, 103, 103, 0, 459 476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460 461 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 462 114, 118, 118, 118, 118, 0, 114, 0, 0, 0, 463 0, 0, 0, 0, 0, 0, 0, 105, 0, 105, 464 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 465 105, 105, 105, 105, 105, 59, 105, 105, 105, 105, 466 105, 105, 105, 105, 28, 105, 105, 105, 39, 42, 467 45, 105, 105, 52, 105, 61, 68, 105, 105, 77, 468 79, 82, 83, 85, 86, 105, 105, 93, 105, 105, 469 104, 0, 1, 0, 0, 0, 0, 0, 0, 108, 470 0, 0, 0, 125, 0, 0, 0, 0, 118, 0, 471 472 118, 118, 0, 0, 0, 0, 0, 0, 0, 0, 473 0, 105, 105, 18, 105, 105, 105, 105, 105, 105, 474 105, 16, 105, 105, 105, 33, 105, 105, 105, 105, 475 105, 105, 105, 105, 105, 105, 105, 105, 36, 37, 476 105, 48, 53, 105, 105, 105, 92, 105, 105, 0, 477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478 0, 0, 10, 11, 29, 55, 105, 105, 105, 105, 479 105, 105, 105, 105, 105, 105, 105, 60, 62, 65, 480 105, 105, 80, 94, 105, 105, 35, 105, 47, 73, 481 74, 105, 97, 100, 0, 0, 0, 0, 0, 0, 482 483 0, 0, 0, 0, 0, 0, 105, 69, 105, 105, 484 12, 105, 105, 30, 34, 105, 105, 105, 66, 105, 485 105, 105, 105, 105, 105, 105, 0, 0, 0, 0, 477 0, 0, 10, 11, 29, 55, 103, 103, 103, 103, 478 103, 103, 103, 103, 103, 103, 103, 60, 62, 65, 479 103, 103, 79, 93, 103, 103, 35, 103, 47, 72, 480 73, 103, 96, 99, 0, 0, 0, 0, 0, 0, 481 0, 0, 0, 0, 0, 0, 103, 69, 103, 103, 482 483 12, 103, 103, 30, 34, 103, 103, 103, 66, 103, 484 103, 103, 103, 103, 103, 103, 0, 0, 0, 0, 486 485 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 487 10 5, 105, 105, 105, 105, 105, 105, 50, 63, 75,488 8 1, 95, 101, 105, 105, 105, 0, 0, 0, 0,489 0, 0, 0, 0, 10 5, 105, 13, 19, 105, 105,490 31, 10 5, 105, 105, 26, 46, 89, 0, 0, 105,491 10 5, 105, 105, 105, 105, 76, 102, 105, 87, 20,492 10 5, 105, 44, 84, 105, 105, 105, 105, 105, 105,493 494 105, 98, 70, 0 486 103, 103, 103, 103, 103, 103, 103, 50, 63, 74, 487 80, 94, 100, 103, 103, 103, 0, 0, 0, 0, 488 0, 0, 0, 0, 103, 103, 13, 19, 103, 103, 489 31, 103, 103, 103, 26, 46, 88, 0, 0, 103, 490 103, 103, 103, 103, 103, 75, 101, 103, 86, 20, 491 103, 103, 44, 83, 103, 103, 103, 103, 103, 103, 492 103, 97, 70, 0 493 495 494 } ; 496 495 … … 540 539 } ; 541 540 542 static yyconst flex_int16_t yy_base[10 79] =541 static yyconst flex_int16_t yy_base[1069] = 543 542 { 0, 544 0, 84, 2323, 2322, 94, 0, 177, 178, 179, 180, 545 2338, 2866, 191, 2866, 197, 55, 2866, 2283, 60, 173, 546 2866, 2866, 2866, 56, 188, 2866, 191, 189, 204, 216, 547 275, 0, 2300, 2866, 216, 2298, 152, 344, 155, 220, 548 2866, 159, 2866, 217, 226, 2866, 185, 154, 212, 251, 549 237, 270, 235, 257, 241, 279, 193, 305, 314, 333, 550 238, 228, 227, 2866, 225, 2866, 2295, 402, 390, 2866, 551 2306, 2866, 2273, 235, 2866, 0, 2866, 426, 0, 2866, 552 417, 2866, 439, 451, 2866, 498, 2270, 264, 2866, 2866, 553 2866, 2866, 2866, 2286, 2866, 2285, 2866, 2866, 2297, 559, 554 555 2866, 2313, 2866, 438, 444, 511, 534, 289, 253, 197, 556 380, 305, 0, 319, 280, 198, 322, 2866, 2866, 2866, 557 2281, 2866, 2866, 2866, 2278, 2277, 218, 312, 2292, 350, 558 459, 368, 398, 440, 405, 448, 2272, 441, 2219, 458, 559 2247, 2866, 335, 2866, 2866, 321, 2243, 2242, 2866, 2214, 560 444, 297, 433, 372, 425, 454, 434, 461, 570, 455, 561 468, 385, 474, 475, 494, 492, 489, 464, 488, 491, 562 513, 503, 430, 521, 517, 519, 516, 522, 2240, 526, 563 523, 276, 460, 524, 542, 555, 554, 561, 325, 558, 564 584, 552, 600, 586, 593, 588, 595, 2866, 2866, 667, 565 566 655, 2287, 682, 2866, 688, 2866, 2236, 590, 2232, 2230, 567 0, 648, 2866, 2866, 675, 2227, 2224, 2223, 0, 2246, 568 578, 631, 654, 685, 698, 660, 689, 670, 692, 2242, 569 695, 701, 2200, 2198, 2866, 0, 693, 720, 685, 711, 570 2197, 2247, 2866, 737, 745, 666, 757, 763, 797, 780, 571 599, 2866, 2203, 2178, 0, 805, 2224, 806, 617, 2866, 572 2199, 2172, 819, 2866, 2866, 2203, 2866, 2866, 707, 722, 573 2182, 2182, 699, 2177, 2174, 2171, 0, 2170, 0, 2141, 574 743, 724, 739, 689, 741, 720, 623, 759, 762, 804, 575 681, 795, 749, 746, 799, 801, 765, 784, 803, 811, 576 577 2170, 814, 818, 827, 831, 817, 821, 833, 835, 841, 578 842, 834, 843, 844, 845, 847, 849, 857, 858, 860, 579 851, 859, 866, 2167, 867, 868, 869, 871, 873, 874, 580 763, 875, 876, 880, 881, 884, 887, 888, 885, 2164, 581 891, 936, 894, 897, 905, 899, 901, 902, 965, 961, 582 2160, 2159, 2157, 0, 2154, 0, 952, 956, 2153, 0, 583 2152, 0, 2150, 0, 2169, 2866, 951, 952, 2148, 2145, 584 0, 2143, 0, 2866, 967, 986, 978, 2866, 992, 1032, 585 2140, 1008, 1054, 2136, 2866, 2866, 915, 951, 1040, 993, 586 1079, 956, 1071, 994, 2866, 2866, 2132, 2130, 2128, 0, 587 588 2125, 0, 2123, 0, 2121, 0, 2866, 935, 969, 973, 589 968, 1012, 975, 1056, 992, 1058, 997, 1032, 993, 1000, 590 1060, 1061, 1066, 1070, 1073, 1030, 1071, 1069, 1072, 1078, 591 2121, 700, 2118, 1085, 2117, 1079, 1081, 1089, 1087, 1098, 592 1096, 1099, 2116, 1101, 2114, 1105, 1106, 1107, 1109, 1112, 593 1113, 1114, 2111, 1115, 2108, 1117, 1119, 1120, 1118, 1124, 594 1126, 1121, 1136, 1130, 1134, 1135, 1149, 1137, 1138, 1150, 595 1152, 1153, 2107, 1151, 1154, 1167, 1205, 2103, 0, 2101, 596 0, 2098, 0, 2095, 0, 1204, 2094, 0, 2093, 0, 597 2091, 2088, 2085, 0, 2084, 0, 1208, 2083, 1214, 1230, 598 599 1216, 1255, 1221, 1172, 1169, 2866, 1271, 1289, 1282, 2093, 600 2066, 2075, 2074, 0, 2073, 0, 2071, 0, 2068, 0, 601 2065, 0, 2064, 0, 1190, 1159, 2066, 1193, 1195, 1197, 602 1212, 1237, 1231, 1265, 1248, 1266, 1267, 1213, 1268, 1269, 603 1283, 1270, 1271, 234, 1285, 1273, 1274, 1287, 1293, 2064, 604 1306, 1301, 2061, 1290, 1303, 1305, 1308, 2058, 1312, 1309, 605 1311, 1313, 2057, 1314, 1319, 2056, 1316, 1322, 2054, 2051, 606 1315, 1327, 1330, 2050, 1333, 1332, 1336, 1334, 1338, 1345, 607 2049, 1335, 1348, 2047, 1346, 1349, 2044, 1351, 2093, 2039, 608 0, 2037, 0, 2004, 0, 2002, 0, 2001, 0, 1998, 609 610 0, 1995, 0, 1994, 0, 1394, 1404, 1428, 1415, 1993, 611 2866, 1421, 1370, 1391, 1419, 1991, 2866, 1988, 0, 1985, 612 0, 1984, 0, 1983, 0, 0, 0, 1984, 0, 1352, 613 1406, 1408, 1359, 1354, 1409, 1415, 1412, 1411, 1423, 1433, 614 1425, 1430, 1435, 1437, 1439, 1448, 1442, 1449, 1440, 1444, 615 1453, 1450, 1452, 1456, 1981, 1458, 1460, 1463, 1980, 1979, 616 1977, 1466, 1467, 1974, 1470, 1973, 1972, 1469, 1473, 1970, 617 1963, 1961, 1960, 1957, 1953, 1475, 1479, 1949, 1476, 1477, 618 1945, 1992, 2866, 1938, 0, 1937, 0, 0, 0, 1938, 619 0, 0, 0, 2866, 0, 0, 0, 0, 1525, 1932, 620 621 2866, 2866, 1531, 1931, 0, 1930, 0, 0, 0, 0, 622 1928, 1488, 1483, 1928, 1491, 1507, 1518, 1490, 1519, 1521, 623 1508, 1927, 1525, 1529, 1527, 1541, 1530, 1384, 1543, 1539, 624 1558, 1547, 1549, 1512, 1545, 1552, 1553, 1554, 1926, 1924, 625 1557, 1921, 1920, 1556, 1537, 1560, 1919, 1561, 1564, 0, 626 0, 0, 1914, 1911, 1910, 1612, 0, 1909, 1907, 1904, 627 1903, 1902, 1903, 1900, 1899, 1898, 1568, 1572, 1566, 1577, 628 1590, 1570, 1578, 1579, 1591, 1596, 1625, 1896, 1598, 1893, 629 1599, 1603, 1604, 1608, 1606, 1612, 1892, 1613, 1891, 1889, 630 1886, 1614, 1885, 1884, 1879, 1872, 1870, 1869, 1866, 1865, 631 632 1864, 1862, 1845, 1836, 1835, 1832, 1616, 1828, 1617, 1622, 633 1620, 1619, 1624, 1626, 1825, 1628, 1644, 1630, 1818, 1631, 634 1639, 1645, 1647, 1634, 1649, 1651, 1813, 1812, 1791, 1790, 635 1789, 1782, 1780, 1779, 1737, 1735, 1733, 1732, 1730, 1732, 636 1652, 1654, 1655, 1657, 1659, 1662, 1663, 1731, 1729, 1668, 637 1727, 1724, 1669, 1670, 1664, 1675, 1719, 1718, 1671, 1629, 638 1564, 1468, 1350, 1269, 1678, 1681, 1239, 1682, 1688, 1689, 639 1238, 1690, 1692, 1696, 1206, 1171, 1157, 1035, 1031, 1691, 640 1697, 1700, 1704, 1702, 1706, 998, 560, 1701, 527, 395, 641 1707, 1710, 357, 300, 1708, 1713, 1715, 1718, 1716, 1719, 642 643 1720, 233, 137, 2866, 1794, 1807, 1820, 1830, 1840, 1853, 644 1863, 1876, 1889, 1902, 1910, 1920, 1927, 1934, 1941, 1948, 645 1955, 1962, 1969, 1976, 1983, 1990, 1994, 2002, 2008, 2015, 646 2022, 2029, 2036, 2039, 2046, 2052, 2065, 2078, 2085, 2092, 647 2099, 2106, 2109, 2116, 2119, 2126, 2129, 2136, 2139, 2146, 648 2149, 2156, 2159, 2166, 2169, 2176, 2184, 2191, 2198, 2205, 649 2212, 2215, 2222, 2225, 2232, 2235, 2242, 2248, 2261, 2268, 650 2275, 2278, 2285, 2288, 2295, 2298, 2305, 2308, 2315, 2318, 651 2325, 2328, 2335, 2342, 2345, 2352, 2355, 2362, 2369, 2376, 652 2379, 2386, 2389, 2396, 2399, 2406, 2409, 2416, 2419, 2426, 653 654 2432, 2445, 2452, 2459, 2462, 2469, 2472, 2479, 2482, 2489, 655 2492, 2499, 2502, 2509, 2512, 2519, 2522, 2529, 2532, 2539, 656 2546, 2549, 2556, 2559, 2566, 2569, 2576, 2579, 2582, 2588, 657 2595, 2604, 2611, 2618, 2621, 2628, 2631, 2634, 2640, 2647, 658 2650, 2653, 2656, 2659, 2662, 2665, 2668, 2675, 2678, 2685, 659 2688, 2691, 2694, 2697, 2707, 2714, 2717, 2720, 2723, 2730, 660 2737, 2744, 2747, 2754, 2761, 2768, 2775, 2782, 2789, 2796, 661 2803, 2810, 2817, 2824, 2831, 2838, 2845, 2852 543 0, 84, 2307, 2305, 94, 0, 177, 178, 179, 180, 544 2319, 2845, 191, 2845, 197, 55, 2845, 2265, 60, 173, 545 2845, 2845, 2845, 56, 188, 2845, 191, 189, 204, 216, 546 275, 0, 2284, 2845, 216, 2283, 152, 344, 155, 220, 547 2845, 159, 2845, 217, 226, 2845, 185, 154, 212, 251, 548 237, 270, 235, 257, 241, 205, 193, 305, 314, 333, 549 238, 228, 2845, 225, 2845, 2278, 402, 390, 2845, 2287, 550 2845, 2255, 235, 2845, 0, 2845, 426, 0, 2845, 417, 551 2845, 439, 451, 2845, 498, 2254, 264, 2845, 2845, 2845, 552 2845, 2845, 2271, 2845, 2268, 2845, 2845, 2278, 559, 2845, 553 554 2295, 2845, 438, 444, 511, 534, 289, 253, 197, 380, 555 305, 0, 319, 280, 198, 322, 2845, 2845, 2845, 2265, 556 2845, 2845, 2845, 2263, 2260, 218, 255, 2273, 298, 350, 557 368, 312, 440, 398, 405, 2254, 441, 2203, 446, 2232, 558 2845, 335, 2845, 2845, 468, 2226, 2223, 2845, 2196, 439, 559 282, 433, 372, 281, 437, 434, 428, 570, 444, 466, 560 464, 469, 475, 321, 492, 438, 471, 445, 474, 512, 561 489, 503, 496, 521, 276, 515, 516, 2224, 526, 510, 562 519, 525, 543, 522, 560, 553, 523, 561, 551, 544, 563 599, 582, 593, 584, 2845, 2845, 660, 651, 2272, 666, 564 565 2845, 678, 2845, 2219, 607, 2213, 2212, 0, 693, 2845, 566 2845, 684, 2211, 2209, 2206, 0, 2227, 578, 608, 617, 567 654, 679, 650, 683, 684, 687, 2224, 690, 691, 2201, 568 2199, 2845, 0, 683, 710, 686, 700, 2179, 2230, 2845, 569 730, 722, 427, 747, 756, 787, 770, 621, 2845, 2188, 570 2161, 0, 795, 2205, 796, 700, 2845, 2181, 2156, 809, 571 2845, 2845, 2188, 2845, 2845, 728, 733, 2165, 2163, 701, 572 2159, 2158, 2156, 0, 2153, 0, 2122, 736, 746, 747, 573 716, 689, 748, 566, 789, 659, 801, 751, 754, 785, 574 776, 787, 808, 796, 739, 711, 806, 2152, 807, 815, 575 576 817, 821, 809, 819, 827, 830, 831, 832, 833, 834, 577 839, 840, 841, 842, 846, 853, 854, 844, 847, 855, 578 2151, 860, 862, 861, 866, 864, 867, 869, 870, 872, 579 873, 874, 878, 875, 883, 2149, 882, 928, 885, 888, 580 894, 899, 892, 956, 958, 2143, 2140, 2139, 0, 2138, 581 0, 945, 949, 2136, 0, 2133, 0, 2132, 0, 2153, 582 2845, 930, 944, 2131, 2126, 0, 2125, 0, 2845, 959, 583 979, 970, 2845, 985, 1025, 2124, 1001, 1047, 2122, 2845, 584 2845, 943, 987, 1033, 986, 1072, 310, 1064, 987, 2845, 585 2845, 2119, 2115, 2111, 0, 2109, 0, 2107, 0, 2104, 586 587 0, 2845, 913, 947, 964, 966, 1005, 927, 1049, 939, 588 1051, 968, 991, 986, 1041, 1053, 1003, 1059, 1063, 1066, 589 1023, 1064, 1062, 1065, 978, 2105, 1072, 2103, 1078, 2100, 590 1071, 1074, 1076, 1080, 1091, 1093, 1095, 2097, 1094, 2096, 591 1082, 1098, 1099, 1100, 1101, 1105, 1106, 2095, 1107, 2093, 592 1110, 1112, 1111, 1117, 1118, 1113, 1119, 1123, 1126, 1127, 593 1129, 1130, 1131, 1140, 1142, 1143, 2090, 1144, 1147, 1195, 594 2084, 0, 2083, 0, 2082, 0, 2080, 0, 1190, 2077, 595 0, 2074, 0, 2073, 2072, 2070, 0, 2067, 0, 1197, 596 2064, 1203, 1219, 1205, 1244, 1210, 1202, 1200, 2845, 1260, 597 598 1278, 1271, 2075, 2050, 2060, 2057, 0, 2054, 0, 2053, 599 0, 2052, 0, 2050, 0, 2047, 0, 1164, 1152, 2047, 600 1184, 1182, 1226, 1157, 1227, 1196, 1254, 1146, 1237, 1255, 601 1256, 1204, 1258, 1271, 1261, 1260, 1292, 1274, 1262, 1277, 602 1278, 1280, 2046, 1186, 1289, 2045, 1279, 1282, 1290, 1295, 603 2043, 1299, 1300, 1301, 1303, 2040, 1306, 1302, 2037, 1310, 604 1311, 2036, 1309, 1312, 1315, 2035, 1220, 1314, 1316, 1322, 605 1326, 1333, 2033, 1328, 1329, 2030, 1330, 1335, 2029, 2078, 606 2023, 0, 2020, 0, 2019, 0, 2018, 0, 2016, 0, 607 1983, 0, 1981, 0, 1980, 0, 1379, 1385, 1413, 1396, 608 609 1977, 2845, 1402, 1351, 1389, 1403, 1974, 2845, 1973, 0, 610 1972, 0, 1970, 0, 1967, 0, 0, 0, 1967, 0, 611 1390, 1336, 1397, 1365, 1345, 1392, 1393, 1409, 1381, 1407, 612 1412, 1414, 1419, 1420, 1422, 1424, 1427, 1431, 926, 1429, 613 1432, 1438, 1433, 1435, 1440, 1966, 1437, 1441, 1445, 1965, 614 1963, 1960, 1450, 1453, 1959, 1455, 1958, 1956, 1456, 1459, 615 1953, 1952, 1951, 1949, 1942, 1940, 1458, 1461, 1939, 1464, 616 1462, 1986, 2845, 1929, 0, 1925, 0, 0, 0, 1924, 617 0, 0, 0, 2845, 0, 0, 0, 0, 1511, 1918, 618 2845, 2845, 1517, 1917, 0, 1916, 0, 0, 0, 0, 619 620 1914, 1474, 1468, 1914, 1443, 1493, 1498, 1476, 1504, 1505, 621 1494, 1913, 1334, 1509, 1506, 1510, 1511, 1545, 1525, 1518, 622 1543, 1530, 1523, 1529, 1531, 1534, 1535, 1539, 1912, 1910, 623 1540, 1907, 1906, 1542, 1538, 1544, 1905, 1546, 1550, 0, 624 0, 0, 1900, 1897, 1896, 1596, 0, 1895, 1893, 1890, 625 1889, 1888, 1889, 1886, 1885, 1884, 1552, 1557, 1573, 1549, 626 1551, 1553, 1575, 1555, 1577, 1582, 1607, 1882, 1583, 1879, 627 1584, 1589, 1585, 1590, 1591, 1594, 1878, 1597, 1877, 1875, 628 1872, 1598, 1871, 1870, 1865, 1862, 1861, 1860, 1858, 1851, 629 1849, 1848, 1845, 1844, 1843, 1841, 1600, 1827, 1601, 1605, 630 631 1608, 1602, 1609, 1610, 1818, 1614, 1629, 1615, 1817, 1604, 632 1616, 1625, 1630, 1380, 1631, 1633, 1811, 1804, 1801, 1794, 633 1792, 1791, 1770, 1769, 1768, 1761, 1759, 1758, 1716, 1716, 634 1634, 1636, 1635, 1637, 1640, 1641, 1645, 1715, 1713, 1647, 635 1712, 1711, 1648, 1652, 1653, 1654, 1703, 1701, 1700, 1698, 636 1696, 1476, 1472, 1343, 1657, 1667, 1259, 1656, 1660, 1668, 637 1150, 1671, 1675, 1676, 1031, 1027, 793, 752, 675, 1669, 638 1677, 1680, 1681, 1682, 1684, 645, 607, 1686, 487, 441, 639 1688, 1690, 394, 357, 1693, 1694, 1695, 1697, 1696, 1698, 640 1700, 233, 137, 2845, 1773, 1786, 1799, 1809, 1819, 1832, 641 642 1842, 1855, 1868, 1881, 1889, 1899, 1906, 1913, 1920, 1927, 643 1934, 1941, 1948, 1955, 1962, 1969, 1973, 1981, 1987, 1994, 644 2001, 2008, 2015, 2018, 2025, 2031, 2044, 2057, 2064, 2071, 645 2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118, 2125, 646 2128, 2135, 2138, 2145, 2148, 2155, 2163, 2170, 2177, 2184, 647 2191, 2194, 2201, 2204, 2211, 2214, 2221, 2227, 2240, 2247, 648 2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294, 2297, 649 2304, 2307, 2314, 2321, 2324, 2331, 2334, 2341, 2348, 2355, 650 2358, 2365, 2368, 2375, 2378, 2385, 2388, 2395, 2398, 2405, 651 2411, 2424, 2431, 2438, 2441, 2448, 2451, 2458, 2461, 2468, 652 653 2471, 2478, 2481, 2488, 2491, 2498, 2501, 2508, 2511, 2518, 654 2525, 2528, 2535, 2538, 2545, 2548, 2555, 2558, 2561, 2567, 655 2574, 2583, 2590, 2597, 2600, 2607, 2610, 2613, 2619, 2626, 656 2629, 2632, 2635, 2638, 2641, 2644, 2647, 2654, 2657, 2664, 657 2667, 2670, 2673, 2676, 2686, 2693, 2696, 2699, 2702, 2709, 658 2716, 2723, 2726, 2733, 2740, 2747, 2754, 2761, 2768, 2775, 659 2782, 2789, 2796, 2803, 2810, 2817, 2824, 2831 662 660 } ; 663 661 664 static yyconst flex_int16_t yy_def[10 79] =662 static yyconst flex_int16_t yy_def[1069] = 665 663 { 0, 666 904, 1, 905, 905, 904, 5, 906, 906, 907, 907, 667 904, 904, 904, 904, 904, 904, 904, 908, 904, 904, 668 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 669 904, 31, 904, 904, 904, 904, 904, 904, 909, 908, 670 904, 904, 904, 904, 908, 904, 908, 908, 908, 908, 671 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 672 908, 908, 908, 904, 904, 904, 904, 904, 910, 904, 673 904, 904, 911, 904, 904, 912, 904, 904, 913, 904, 674 904, 904, 904, 904, 904, 904, 908, 904, 904, 904, 675 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 676 677 904, 914, 904, 904, 30, 904, 904, 904, 904, 915, 678 30, 904, 31, 904, 904, 31, 904, 904, 904, 904, 679 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 680 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 681 916, 904, 904, 904, 904, 908, 917, 918, 904, 904, 682 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 683 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 684 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 685 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 686 908, 908, 908, 908, 908, 908, 908, 904, 904, 904, 687 688 910, 910, 910, 904, 910, 904, 911, 904, 919, 920, 689 912, 904, 904, 904, 904, 921, 922, 923, 913, 904, 690 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 691 904, 904, 924, 925, 904, 100, 904, 904, 904, 904, 692 100, 914, 904, 100, 111, 245, 904, 904, 904, 904, 693 904, 904, 904, 904, 926, 927, 928, 904, 904, 904, 694 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 695 904, 929, 904, 930, 931, 932, 933, 934, 935, 904, 696 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 697 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 698 699 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 700 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 701 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 702 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 703 936, 936, 936, 936, 936, 936, 936, 936, 937, 938, 704 939, 940, 941, 942, 943, 944, 904, 904, 945, 946, 705 947, 948, 949, 950, 904, 904, 904, 904, 904, 951, 706 952, 953, 954, 904, 904, 904, 904, 904, 904, 904, 707 380, 904, 376, 383, 904, 904, 955, 956, 957, 904, 708 904, 904, 957, 904, 904, 904, 958, 959, 960, 961, 709 710 962, 963, 964, 965, 966, 967, 904, 968, 968, 968, 711 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 712 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 713 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 714 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 715 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 716 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 717 968, 968, 968, 968, 968, 968, 969, 970, 971, 972, 718 973, 974, 975, 976, 977, 904, 978, 979, 980, 981, 719 982, 982, 983, 984, 985, 986, 904, 497, 904, 904, 720 721 987, 904, 987, 904, 904, 904, 904, 904, 904, 904, 722 904, 988, 989, 990, 991, 992, 993, 994, 995, 996, 723 997, 998, 999, 1000, 1001, 1001, 1001, 1001, 1001, 1001, 724 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 725 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 726 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 727 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 728 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 729 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1002, 1003, 730 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 731 732 1014, 1015, 1016, 1017, 1018, 904, 904, 904, 904, 1019, 733 904, 608, 904, 904, 904, 612, 904, 1020, 1021, 1022, 734 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1030, 735 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 736 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 737 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 738 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 739 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 740 1030, 1032, 904, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 741 1040, 1041, 1042, 904, 1043, 1044, 1045, 1046, 904, 699, 742 743 904, 904, 904, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 744 1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 745 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 746 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 747 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1056, 748 1057, 1058, 1059, 1060, 1061, 904, 1062, 1047, 1049, 1063, 749 1064, 1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 750 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 751 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 752 1055, 1055, 1055, 1055, 1065, 1066, 1059, 1067, 1060, 1068, 753 754 1061, 1069, 1070, 1063, 1071, 1064, 1055, 1055, 1055, 1055, 755 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 756 1055, 1055, 1055, 1055, 1055, 1055, 1072, 1065, 1073, 1066, 757 1074, 1067, 1075, 1068, 1076, 1069, 1077, 1070, 1071, 1055, 758 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 759 1055, 1055, 1055, 1055, 1055, 1055, 1078, 1072, 1073, 1074, 760 1075, 1049, 1076, 1077, 1055, 1055, 1055, 1055, 1055, 1055, 761 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1078, 1049, 1055, 762 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 763 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 764 765 1055, 1055, 1055, 0, 904, 904, 904, 904, 904, 904, 766 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 767 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 768 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 769 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 770 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 771 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 772 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 773 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 774 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 775 776 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 777 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 778 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 779 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 780 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 781 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 782 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 783 904, 904, 904, 904, 904, 904, 904, 904 664 894, 1, 895, 895, 894, 5, 896, 896, 897, 897, 665 894, 894, 894, 894, 894, 894, 894, 898, 894, 894, 666 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 667 894, 31, 894, 894, 894, 894, 894, 894, 899, 898, 668 894, 894, 894, 894, 898, 894, 898, 898, 898, 898, 669 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 670 898, 898, 894, 894, 894, 894, 894, 900, 894, 894, 671 894, 901, 894, 894, 902, 894, 894, 903, 894, 894, 672 894, 894, 894, 894, 894, 898, 894, 894, 894, 894, 673 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 674 675 904, 894, 894, 30, 894, 894, 894, 894, 905, 30, 676 894, 31, 894, 894, 31, 894, 894, 894, 894, 894, 677 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 678 894, 894, 894, 894, 894, 894, 894, 894, 894, 906, 679 894, 894, 894, 894, 898, 907, 908, 894, 894, 898, 680 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 681 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 682 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 683 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 684 898, 898, 898, 898, 894, 894, 894, 900, 900, 900, 685 686 894, 900, 894, 901, 894, 909, 910, 902, 894, 894, 687 894, 894, 911, 912, 913, 903, 894, 894, 894, 894, 688 894, 894, 894, 894, 894, 894, 894, 894, 894, 914, 689 915, 894, 99, 894, 894, 894, 894, 99, 904, 894, 690 99, 110, 242, 894, 894, 894, 894, 894, 894, 894, 691 894, 916, 917, 918, 894, 894, 894, 894, 894, 894, 692 894, 894, 894, 894, 894, 894, 894, 894, 919, 894, 693 920, 921, 922, 923, 924, 925, 894, 926, 926, 926, 694 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 695 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 696 697 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 698 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 699 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 700 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 701 926, 926, 926, 927, 928, 929, 930, 931, 932, 933, 702 934, 894, 894, 935, 936, 937, 938, 939, 940, 894, 703 894, 894, 894, 894, 941, 942, 943, 944, 894, 894, 704 894, 894, 894, 894, 894, 375, 894, 371, 378, 894, 705 894, 945, 946, 947, 894, 894, 894, 947, 894, 894, 706 894, 948, 949, 950, 951, 952, 953, 954, 955, 956, 707 708 957, 894, 958, 958, 958, 958, 958, 958, 958, 958, 709 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 710 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 711 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 712 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 713 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 714 958, 958, 958, 958, 958, 958, 958, 958, 958, 959, 715 960, 961, 962, 963, 964, 965, 966, 967, 894, 968, 716 969, 970, 971, 972, 972, 973, 974, 975, 976, 894, 717 490, 894, 894, 977, 894, 977, 894, 894, 894, 894, 718 719 894, 894, 894, 894, 978, 979, 980, 981, 982, 983, 720 984, 985, 986, 987, 988, 989, 990, 991, 991, 991, 721 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 722 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 723 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 724 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 725 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 726 991, 991, 991, 991, 991, 991, 991, 991, 991, 992, 727 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 728 1003, 1004, 1005, 1006, 1007, 1008, 894, 894, 894, 894, 729 730 1009, 894, 599, 894, 894, 894, 603, 894, 1010, 1011, 731 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 732 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 733 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 734 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 735 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 736 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 737 1020, 1022, 894, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 738 1030, 1031, 1032, 894, 1033, 1034, 1035, 1036, 894, 689, 739 894, 894, 894, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 740 741 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 742 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 743 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 744 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 745 1047, 1048, 1049, 1050, 1051, 894, 1052, 1037, 1039, 1053, 746 1054, 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 747 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 748 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 749 1045, 1045, 1045, 1045, 1055, 1056, 1049, 1057, 1050, 1058, 750 1051, 1059, 1060, 1053, 1061, 1054, 1045, 1045, 1045, 1045, 751 752 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 753 1045, 1045, 1045, 1045, 1045, 1045, 1062, 1055, 1063, 1056, 754 1064, 1057, 1065, 1058, 1066, 1059, 1067, 1060, 1061, 1045, 755 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 756 1045, 1045, 1045, 1045, 1045, 1045, 1068, 1062, 1063, 1064, 757 1065, 1039, 1066, 1067, 1045, 1045, 1045, 1045, 1045, 1045, 758 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1068, 1039, 1045, 759 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 760 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 761 1045, 1045, 1045, 0, 894, 894, 894, 894, 894, 894, 762 763 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 764 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 765 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 766 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 767 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 768 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 769 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 770 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 771 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 772 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 773 774 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 775 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 776 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 777 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 778 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 779 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 780 894, 894, 894, 894, 894, 894, 894, 894 784 781 } ; 785 782 786 static yyconst flex_int16_t yy_nxt[29 52] =783 static yyconst flex_int16_t yy_nxt[2931] = 787 784 { 0, 788 785 12, 13, 14, 15, 15, 15, 13, 16, 17, 12, … … 794 791 50, 51, 52, 53, 18, 54, 18, 55, 18, 18, 795 792 56, 18, 57, 58, 59, 60, 61, 62, 18, 18, 796 63, 64, 65, 66, 67, 68, 85, 93, 86, 86, 797 68, 89, 90, 69, 72, 72, 72, 72, 72, 72, 798 799 72, 72, 72, 72, 73, 72, 72, 72, 72, 72, 793 18, 63, 64, 65, 66, 67, 84, 92, 85, 85, 794 67, 88, 89, 68, 71, 71, 71, 71, 71, 71, 795 796 71, 71, 71, 71, 72, 71, 71, 71, 71, 71, 797 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 798 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 800 799 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 801 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 802 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 803 73, 73, 73, 73, 73, 72, 74, 72, 72, 73, 804 75, 73, 73, 73, 73, 73, 73, 73, 73, 73, 805 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 806 73, 73, 73, 73, 73, 72, 72, 72, 72, 77, 807 77, 80, 80, 124, 125, 91, 142, 80, 80, 88, 808 77, 77, 81, 82, 83, 83, 83, 81, 83, 82, 809 810 84, 84, 84, 83, 92, 94, 88, 143, 147, 99, 811 96, 100, 100, 100, 100, 100, 100, 255, 904, 95, 812 101, 86, 97, 98, 86, 102, 162, 119, 144, 78, 813 78, 78, 78, 145, 148, 103, 104, 88, 105, 105, 814 105, 105, 106, 106, 120, 88, 121, 122, 149, 266, 815 150, 267, 257, 263, 185, 107, 198, 648, 160, 108, 816 161, 151, 152, 153, 88, 109, 110, 154, 155, 163, 817 156, 111, 88, 157, 158, 146, 164, 107, 88, 88, 818 88, 159, 165, 112, 209, 88, 88, 88, 197, 88, 819 88, 109, 196, 88, 110, 104, 253, 113, 113, 113, 820 821 113, 113, 113, 88, 170, 178, 171, 199, 195, 88, 822 210, 181, 166, 233, 107, 172, 167, 182, 114, 179, 823 254, 168, 88, 261, 115, 169, 180, 173, 88, 144, 824 116, 88, 251, 326, 145, 174, 107, 175, 252, 234, 825 176, 144, 117, 266, 177, 267, 145, 262, 183, 88, 826 115, 126, 88, 184, 252, 127, 128, 88, 129, 193, 827 130, 131, 259, 132, 252, 133, 88, 283, 260, 186, 828 187, 260, 251, 88, 134, 135, 136, 88, 190, 188, 829 252, 266, 189, 267, 274, 88, 191, 268, 146, 259, 830 337, 203, 204, 192, 260, 137, 203, 260, 138, 266, 831 832 904, 267, 194, 200, 82, 83, 83, 83, 200, 88, 833 275, 201, 205, 205, 205, 205, 205, 205, 81, 82, 834 83, 83, 83, 81, 88, 139, 140, 212, 213, 266, 835 904, 267, 212, 285, 214, 258, 266, 88, 267, 214, 836 83, 82, 83, 83, 83, 83, 303, 88, 215, 215, 837 215, 215, 83, 82, 84, 84, 84, 83, 904, 214, 838 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 839 269, 266, 266, 267, 267, 216, 268, 88, 214, 266, 840 270, 267, 88, 214, 214, 88, 88, 214, 214, 266, 841 266, 267, 267, 286, 904, 214, 88, 317, 214, 246, 842 843 214, 217, 214, 284, 218, 220, 88, 88, 288, 221, 844 222, 281, 88, 88, 223, 224, 88, 225, 282, 226, 845 88, 327, 904, 301, 287, 289, 88, 88, 227, 228, 846 229, 104, 306, 106, 106, 106, 106, 106, 106, 311, 847 88, 88, 302, 88, 88, 307, 88, 304, 305, 230, 848 107, 248, 231, 248, 309, 88, 249, 249, 249, 249, 849 249, 249, 310, 308, 313, 88, 247, 312, 88, 88, 850 314, 88, 107, 88, 88, 88, 88, 316, 88, 88, 851 232, 236, 236, 236, 236, 236, 236, 319, 315, 250, 852 318, 320, 325, 323, 88, 321, 322, 237, 238, 239, 853 854 324, 240, 239, 328, 88, 329, 88, 88, 144, 365, 855 88, 366, 88, 88, 241, 330, 331, 333, 335, 239, 856 238, 239, 88, 341, 240, 332, 239, 290, 291, 292, 857 338, 293, 294, 336, 334, 295, 88, 296, 88, 351, 858 88, 339, 297, 298, 299, 88, 300, 88, 385, 212, 859 213, 343, 88, 347, 212, 342, 203, 204, 345, 344, 860 346, 203, 365, 340, 366, 352, 395, 348, 200, 82, 861 83, 83, 83, 200, 385, 88, 201, 205, 205, 205, 862 205, 205, 205, 203, 204, 365, 904, 366, 203, 349, 863 204, 365, 395, 366, 349, 414, 350, 357, 357, 357, 864 865 357, 365, 366, 366, 205, 205, 205, 205, 205, 205, 866 205, 205, 205, 205, 205, 205, 365, 366, 366, 367, 867 365, 382, 366, 365, 368, 366, 365, 374, 366, 365, 868 358, 366, 365, 88, 366, 374, 374, 375, 266, 375, 869 267, 88, 376, 376, 376, 376, 376, 376, 397, 378, 870 374, 378, 88, 266, 378, 267, 420, 411, 374, 380, 871 380, 380, 380, 380, 380, 104, 550, 245, 245, 245, 872 245, 378, 88, 378, 398, 377, 88, 413, 378, 106, 873 106, 106, 106, 106, 106, 249, 249, 249, 249, 249, 874 249, 88, 381, 88, 409, 88, 107, 248, 88, 248, 875 876 246, 88, 249, 249, 249, 249, 249, 249, 408, 410, 877 412, 88, 258, 423, 88, 88, 415, 88, 107, 383, 878 383, 383, 383, 383, 383, 388, 427, 422, 106, 106, 879 106, 106, 106, 106, 416, 237, 88, 239, 461, 240, 880 239, 113, 113, 113, 113, 113, 113, 88, 390, 428, 881 391, 88, 384, 88, 392, 88, 88, 239, 426, 239, 882 393, 258, 240, 88, 239, 421, 88, 424, 425, 88, 883 88, 417, 394, 88, 263, 432, 391, 418, 419, 88, 884 392, 430, 429, 88, 431, 88, 88, 88, 433, 435, 885 434, 436, 439, 88, 88, 88, 88, 88, 440, 88, 886 887 441, 88, 444, 88, 443, 442, 437, 438, 446, 88, 888 88, 88, 88, 445, 448, 449, 447, 450, 88, 88, 889 88, 88, 452, 88, 457, 88, 88, 88, 88, 453, 890 455, 454, 88, 88, 451, 456, 88, 88, 459, 88, 891 88, 464, 458, 88, 144, 463, 88, 462, 460, 88, 892 469, 88, 470, 88, 88, 465, 474, 88, 468, 466, 893 502, 467, 472, 204, 471, 473, 349, 204, 475, 202, 894 503, 349, 476, 350, 214, 214, 214, 214, 357, 357, 895 357, 357, 365, 365, 366, 366, 502, 88, 88, 376, 896 376, 376, 376, 376, 376, 375, 502, 375, 525, 510, 897 898 376, 376, 376, 376, 376, 376, 504, 486, 497, 497, 899 497, 497, 497, 497, 236, 236, 236, 236, 236, 236, 900 88, 88, 502, 511, 237, 88, 239, 88, 240, 239, 901 245, 245, 245, 245, 106, 106, 505, 526, 530, 528, 902 527, 498, 506, 506, 88, 88, 239, 379, 239, 88, 903 88, 240, 88, 239, 380, 380, 380, 380, 380, 380, 904 388, 505, 534, 382, 88, 537, 532, 536, 506, 506, 905 237, 238, 239, 529, 240, 239, 383, 383, 383, 383, 906 383, 383, 88, 390, 88, 391, 904, 381, 545, 392, 907 904, 904, 239, 238, 239, 393, 507, 240, 507, 239, 908 909 535, 508, 508, 508, 508, 508, 508, 394, 88, 384, 910 88, 391, 88, 88, 390, 392, 391, 531, 88, 533, 911 392, 88, 88, 88, 88, 88, 512, 542, 538, 539, 912 88, 88, 547, 88, 509, 540, 541, 88, 394, 88, 913 543, 88, 391, 548, 546, 549, 392, 544, 88, 551, 914 88, 88, 552, 88, 554, 553, 556, 88, 88, 88, 915 558, 88, 555, 557, 88, 88, 88, 88, 559, 88, 916 88, 88, 88, 88, 562, 566, 88, 560, 88, 564, 917 561, 570, 88, 563, 567, 565, 88, 88, 88, 88, 918 88, 571, 568, 569, 578, 574, 572, 575, 573, 577, 919 920 576, 88, 88, 88, 88, 88, 88, 204, 579, 88, 921 582, 88, 581, 589, 580, 587, 585, 502, 611, 88, 922 583, 584, 588, 88, 631, 586, 214, 214, 214, 214, 923 497, 497, 497, 497, 497, 497, 380, 380, 380, 380, 924 380, 380, 88, 502, 611, 88, 237, 88, 239, 88, 925 240, 239, 383, 383, 383, 383, 383, 383, 88, 630, 926 632, 502, 634, 498, 88, 88, 502, 633, 239, 499, 927 239, 503, 607, 240, 607, 239, 610, 608, 608, 608, 928 608, 608, 608, 88, 642, 500, 635, 502, 637, 88, 929 88, 88, 502, 508, 508, 508, 508, 508, 508, 507, 930 931 88, 507, 636, 639, 508, 508, 508, 508, 508, 508, 932 609, 612, 612, 612, 612, 612, 612, 88, 88, 88, 933 88, 88, 88, 88, 904, 88, 88, 613, 638, 614, 934 644, 615, 614, 646, 641, 88, 647, 88, 640, 88, 935 645, 643, 88, 651, 616, 88, 649, 650, 652, 614, 936 653, 614, 654, 88, 615, 88, 614, 88, 88, 656, 937 88, 88, 655, 88, 88, 88, 88, 88, 88, 659, 938 657, 88, 658, 660, 88, 662, 665, 666, 661, 88, 939 663, 664, 88, 667, 88, 88, 88, 88, 88, 668, 940 88, 676, 669, 671, 672, 673, 677, 88, 88, 670, 941 942 88, 88, 675, 88, 88, 904, 88, 777, 674, 712, 943 678, 88, 701, 701, 680, 679, 497, 497, 497, 497, 944 497, 497, 713, 717, 716, 681, 608, 608, 608, 608, 945 608, 608, 607, 701, 607, 701, 88, 608, 608, 608, 946 608, 608, 608, 612, 612, 612, 612, 612, 612, 606, 947 699, 699, 699, 699, 699, 699, 701, 702, 88, 702, 948 88, 88, 702, 88, 88, 714, 613, 88, 614, 715, 949 615, 614, 720, 731, 719, 88, 616, 88, 722, 702, 950 721, 702, 88, 700, 718, 88, 702, 88, 614, 88, 951 614, 88, 88, 615, 88, 614, 88, 725, 723, 724, 952 953 88, 88, 88, 729, 88, 88, 727, 732, 88, 726, 954 88, 730, 88, 728, 734, 88, 733, 737, 88, 88, 955 735, 88, 88, 879, 740, 88, 736, 88, 88, 88, 956 744, 88, 745, 738, 739, 88, 746, 748, 741, 743, 957 88, 747, 88, 88, 749, 764, 742, 699, 699, 699, 958 699, 699, 699, 612, 612, 612, 612, 612, 612, 88, 959 88, 763, 768, 613, 88, 614, 766, 615, 614, 765, 960 88, 88, 783, 88, 769, 767, 770, 88, 771, 88, 961 700, 88, 88, 772, 780, 614, 703, 614, 774, 88, 962 615, 88, 614, 88, 773, 88, 775, 88, 778, 88, 963 964 779, 88, 781, 776, 88, 88, 88, 784, 88, 88, 965 88, 791, 88, 88, 782, 787, 88, 785, 88, 904, 966 88, 793, 88, 809, 88, 794, 786, 788, 790, 88, 967 88, 88, 789, 792, 699, 699, 699, 699, 699, 699, 968 807, 808, 88, 88, 810, 812, 815, 813, 88, 817, 969 88, 88, 811, 818, 819, 88, 88, 814, 88, 821, 970 88, 816, 820, 822, 88, 88, 88, 756, 88, 88, 971 848, 88, 88, 823, 88, 843, 88, 88, 88, 845, 972 88, 846, 88, 88, 904, 849, 88, 824, 825, 826, 973 841, 88, 842, 844, 851, 840, 88, 88, 847, 88, 974 975 852, 88, 854, 88, 88, 850, 88, 88, 853, 88, 976 867, 88, 855, 866, 88, 88, 88, 871, 868, 856, 977 88, 88, 88, 873, 874, 865, 904, 88, 876, 869, 978 88, 875, 872, 88, 88, 870, 877, 882, 881, 880, 979 88, 88, 88, 88, 88, 885, 884, 886, 88, 88, 980 883, 887, 88, 88, 88, 890, 88, 892, 88, 88, 981 88, 893, 88, 888, 889, 88, 891, 88, 88, 897, 982 88, 88, 88, 904, 878, 894, 88, 896, 898, 88, 983 895, 88, 903, 88, 88, 904, 901, 904, 864, 899, 984 904, 900, 863, 902, 70, 70, 70, 70, 70, 70, 985 986 70, 70, 70, 70, 70, 70, 70, 76, 76, 76, 987 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 988 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 989 79, 79, 79, 87, 904, 861, 87, 904, 87, 87, 990 87, 87, 87, 141, 860, 904, 859, 141, 141, 141, 991 141, 141, 141, 202, 202, 202, 202, 202, 202, 202, 992 202, 202, 202, 202, 202, 202, 207, 904, 858, 207, 993 88, 207, 207, 207, 207, 207, 211, 88, 211, 211, 994 88, 211, 211, 211, 211, 211, 211, 904, 211, 219, 995 839, 904, 219, 219, 219, 219, 219, 219, 219, 219, 996 997 838, 219, 242, 242, 242, 242, 242, 242, 242, 242, 998 242, 242, 242, 242, 242, 256, 256, 836, 256, 904, 999 834, 904, 256, 272, 832, 904, 272, 830, 272, 272, 1000 272, 272, 272, 276, 828, 276, 88, 88, 88, 276, 1001 278, 88, 278, 88, 88, 88, 278, 353, 88, 353, 1002 88, 88, 88, 353, 355, 88, 355, 904, 806, 804, 1003 355, 359, 904, 359, 904, 801, 799, 359, 361, 797, 1004 361, 88, 88, 88, 361, 363, 88, 363, 88, 88, 1005 88, 363, 370, 762, 370, 759, 758, 756, 370, 372, 1006 208, 372, 752, 751, 683, 372, 387, 88, 387, 389, 1007 1008 389, 88, 389, 389, 389, 88, 389, 256, 256, 88, 1009 256, 272, 88, 88, 272, 88, 272, 272, 272, 272, 1010 272, 399, 88, 399, 88, 88, 88, 399, 401, 88, 1011 401, 88, 88, 88, 401, 403, 88, 403, 710, 709, 1012 707, 403, 276, 705, 276, 405, 703, 405, 610, 698, 1013 697, 405, 278, 695, 278, 87, 693, 691, 87, 689, 1014 87, 87, 87, 87, 87, 202, 202, 202, 202, 202, 1015 202, 202, 202, 202, 202, 202, 202, 202, 477, 477, 1016 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 1017 477, 478, 687, 478, 685, 683, 88, 478, 480, 88, 1018 1019 480, 88, 88, 88, 480, 482, 88, 482, 88, 88, 1020 88, 482, 353, 88, 353, 484, 88, 484, 88, 629, 1021 627, 484, 355, 625, 355, 487, 623, 487, 621, 619, 1022 512, 487, 359, 617, 359, 489, 617, 489, 606, 605, 1023 603, 489, 361, 492, 361, 491, 492, 491, 601, 599, 1024 597, 491, 363, 595, 363, 493, 593, 493, 591, 88, 1025 88, 493, 370, 88, 370, 495, 88, 495, 88, 88, 1026 88, 495, 372, 88, 372, 501, 524, 501, 522, 501, 1027 520, 501, 387, 518, 387, 516, 387, 514, 387, 389, 1028 389, 500, 389, 389, 389, 499, 389, 513, 496, 513, 1029 1030 494, 366, 366, 513, 515, 492, 515, 490, 488, 485, 1031 515, 517, 483, 517, 481, 479, 88, 517, 399, 88, 1032 399, 519, 88, 519, 407, 406, 404, 519, 401, 402, 1033 401, 521, 400, 521, 273, 268, 267, 521, 403, 396, 1034 403, 523, 396, 523, 255, 386, 386, 523, 405, 243, 1035 405, 87, 379, 373, 87, 371, 87, 87, 87, 87, 1036 87, 477, 477, 477, 477, 477, 477, 477, 477, 477, 1037 477, 477, 477, 477, 590, 369, 590, 365, 364, 362, 1038 590, 478, 360, 478, 592, 356, 592, 354, 208, 204, 1039 592, 480, 88, 480, 594, 280, 594, 279, 277, 273, 1040 1041 594, 482, 268, 482, 596, 271, 596, 268, 266, 265, 1042 596, 484, 264, 484, 598, 243, 598, 235, 86, 86, 1043 598, 487, 88, 487, 600, 208, 600, 206, 86, 123, 1044 600, 489, 118, 489, 491, 88, 491, 904, 71, 71, 1045 491, 602, 904, 602, 904, 904, 904, 602, 493, 904, 1046 493, 604, 904, 604, 904, 904, 904, 604, 495, 904, 1047 495, 501, 904, 501, 904, 501, 904, 501, 389, 904, 1048 389, 904, 904, 904, 389, 618, 904, 618, 904, 904, 1049 904, 618, 513, 904, 513, 620, 904, 620, 904, 904, 1050 904, 620, 515, 904, 515, 622, 904, 622, 904, 904, 1051 1052 904, 622, 517, 904, 517, 624, 904, 624, 904, 904, 1053 904, 624, 519, 904, 519, 626, 904, 626, 904, 904, 1054 904, 626, 521, 904, 521, 628, 904, 628, 904, 904, 1055 904, 628, 523, 904, 523, 87, 904, 904, 87, 904, 1056 87, 87, 87, 87, 87, 682, 682, 682, 682, 682, 1057 682, 682, 682, 682, 682, 682, 682, 682, 684, 904, 1058 684, 904, 904, 904, 684, 590, 904, 590, 686, 904, 1059 686, 904, 904, 904, 686, 592, 904, 592, 688, 904, 1060 688, 904, 904, 904, 688, 594, 904, 594, 690, 904, 1061 690, 904, 904, 904, 690, 596, 904, 596, 692, 904, 1062 1063 692, 904, 904, 904, 692, 598, 904, 598, 694, 904, 1064 694, 904, 904, 904, 694, 600, 904, 600, 696, 904, 1065 696, 904, 904, 904, 696, 602, 904, 602, 87, 904, 1066 87, 904, 904, 904, 87, 604, 904, 604, 501, 904, 1067 501, 904, 904, 904, 501, 704, 904, 704, 904, 904, 1068 904, 704, 618, 904, 618, 706, 904, 706, 904, 904, 1069 904, 706, 620, 904, 620, 708, 904, 708, 904, 904, 1070 904, 708, 622, 904, 622, 141, 904, 141, 904, 904, 1071 904, 141, 624, 904, 624, 711, 904, 711, 626, 904, 1072 626, 87, 904, 904, 87, 904, 87, 87, 87, 87, 1073 1074 87, 628, 904, 628, 682, 682, 682, 682, 682, 682, 1075 682, 682, 682, 682, 682, 682, 682, 750, 904, 750, 1076 904, 904, 904, 750, 684, 904, 684, 207, 904, 207, 1077 904, 904, 904, 207, 686, 904, 686, 753, 904, 753, 1078 688, 904, 688, 207, 904, 904, 207, 904, 207, 207, 1079 207, 207, 207, 690, 904, 690, 754, 904, 754, 692, 1080 904, 692, 694, 904, 694, 755, 904, 755, 696, 904, 1081 696, 87, 904, 87, 757, 904, 757, 904, 904, 904, 1082 757, 704, 904, 704, 272, 904, 272, 904, 904, 904, 1083 272, 706, 904, 706, 760, 904, 760, 708, 904, 708, 1084 1085 141, 904, 141, 761, 904, 761, 904, 904, 904, 761, 1086 87, 904, 904, 87, 904, 87, 87, 87, 87, 87, 1087 795, 904, 795, 750, 904, 750, 207, 904, 207, 796, 1088 904, 796, 904, 904, 904, 796, 798, 904, 798, 904, 1089 904, 904, 798, 800, 904, 800, 904, 904, 904, 800, 1090 802, 904, 802, 803, 904, 803, 904, 904, 904, 803, 1091 805, 904, 805, 904, 904, 904, 805, 827, 904, 827, 1092 904, 904, 904, 827, 829, 904, 829, 904, 904, 904, 1093 829, 831, 904, 831, 904, 904, 904, 831, 833, 904, 1094 833, 904, 904, 904, 833, 835, 904, 835, 904, 904, 1095 1096 904, 835, 837, 904, 837, 904, 904, 904, 837, 628, 1097 904, 628, 904, 904, 904, 628, 857, 904, 857, 904, 1098 904, 904, 857, 690, 904, 690, 904, 904, 904, 690, 1099 694, 904, 694, 904, 904, 904, 694, 87, 904, 87, 1100 904, 904, 904, 87, 862, 904, 862, 904, 904, 904, 1101 862, 141, 904, 141, 904, 904, 904, 141, 207, 904, 1102 207, 904, 904, 904, 207, 11, 904, 904, 904, 904, 1103 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1104 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1105 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1106 1107 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1108 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1109 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1110 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1111 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1112 904 800 72, 72, 72, 72, 72, 71, 73, 71, 71, 72, 801 74, 72, 72, 72, 72, 72, 72, 72, 72, 72, 802 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 803 72, 72, 72, 72, 72, 71, 71, 71, 71, 76, 804 76, 79, 79, 123, 124, 90, 141, 79, 79, 87, 805 76, 76, 80, 81, 82, 82, 82, 80, 82, 81, 806 807 83, 83, 83, 82, 91, 93, 87, 142, 146, 98, 808 95, 99, 99, 99, 99, 99, 99, 252, 894, 94, 809 100, 85, 96, 97, 85, 101, 161, 118, 143, 77, 810 77, 77, 77, 144, 147, 102, 103, 87, 104, 104, 811 104, 104, 105, 105, 119, 87, 120, 121, 148, 263, 812 149, 264, 254, 260, 183, 106, 195, 87, 159, 107, 813 160, 150, 151, 152, 87, 108, 109, 153, 154, 162, 814 155, 110, 87, 156, 157, 145, 163, 106, 87, 182, 815 87, 158, 164, 111, 206, 87, 263, 87, 264, 87, 816 87, 108, 194, 87, 109, 103, 250, 112, 112, 112, 817 818 112, 112, 112, 87, 169, 177, 170, 196, 193, 87, 819 207, 180, 165, 230, 106, 171, 166, 181, 113, 178, 820 251, 167, 87, 258, 114, 168, 179, 172, 87, 263, 821 115, 264, 248, 87, 87, 173, 106, 174, 249, 231, 822 175, 143, 116, 263, 176, 264, 144, 259, 317, 283, 823 114, 125, 280, 503, 249, 126, 127, 87, 128, 191, 824 129, 130, 256, 131, 249, 132, 87, 265, 257, 184, 825 185, 257, 248, 87, 133, 134, 135, 504, 188, 186, 826 249, 263, 187, 264, 271, 87, 189, 265, 145, 256, 827 305, 200, 201, 190, 257, 136, 200, 257, 137, 263, 828 829 894, 264, 192, 197, 81, 82, 82, 82, 197, 87, 830 272, 198, 202, 202, 202, 202, 202, 202, 80, 81, 831 82, 82, 82, 80, 87, 138, 139, 209, 210, 263, 832 894, 264, 209, 282, 211, 255, 263, 267, 264, 211, 833 82, 81, 82, 82, 82, 82, 87, 894, 212, 212, 834 212, 212, 82, 81, 83, 83, 83, 82, 894, 211, 835 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 836 266, 263, 263, 264, 264, 213, 143, 263, 211, 264, 837 87, 144, 377, 211, 211, 87, 87, 211, 211, 87, 838 87, 87, 286, 87, 894, 211, 87, 87, 211, 243, 839 840 211, 214, 211, 281, 215, 217, 278, 284, 285, 218, 841 219, 307, 298, 279, 220, 221, 87, 222, 87, 223, 842 87, 87, 894, 87, 309, 300, 87, 87, 224, 225, 843 226, 103, 303, 105, 105, 105, 105, 105, 105, 87, 844 299, 87, 301, 302, 87, 304, 308, 310, 87, 227, 845 106, 245, 228, 245, 306, 87, 246, 246, 246, 246, 846 246, 246, 87, 313, 87, 315, 244, 87, 87, 311, 847 314, 87, 106, 87, 87, 87, 323, 87, 87, 322, 848 229, 233, 233, 233, 233, 233, 233, 312, 333, 247, 849 319, 316, 328, 320, 318, 87, 87, 234, 235, 236, 850 851 321, 237, 236, 87, 324, 87, 325, 143, 335, 360, 852 331, 361, 87, 87, 238, 337, 326, 327, 87, 236, 853 235, 236, 87, 329, 237, 332, 236, 287, 288, 289, 854 336, 290, 291, 334, 87, 292, 87, 293, 409, 360, 855 330, 361, 294, 295, 296, 87, 297, 339, 360, 343, 856 361, 87, 200, 201, 338, 340, 346, 200, 341, 87, 857 342, 197, 81, 82, 82, 82, 197, 200, 201, 198, 858 380, 361, 200, 202, 202, 202, 202, 202, 202, 344, 859 201, 360, 347, 361, 344, 360, 345, 361, 202, 202, 860 202, 202, 202, 202, 209, 210, 380, 87, 361, 209, 861 862 202, 202, 202, 202, 202, 202, 352, 352, 352, 352, 863 360, 87, 361, 362, 360, 360, 361, 361, 360, 363, 864 361, 360, 360, 361, 361, 369, 369, 370, 369, 370, 865 894, 411, 371, 371, 371, 371, 371, 371, 373, 353, 866 373, 87, 103, 373, 242, 242, 242, 242, 369, 390, 867 392, 369, 375, 375, 375, 375, 375, 375, 407, 263, 868 373, 264, 373, 87, 263, 372, 264, 373, 87, 105, 869 105, 105, 105, 105, 105, 390, 393, 243, 246, 246, 870 246, 246, 246, 246, 406, 376, 106, 245, 87, 245, 871 424, 87, 246, 246, 246, 246, 246, 246, 87, 87, 872 873 87, 403, 255, 87, 423, 408, 87, 894, 106, 378, 874 378, 378, 378, 378, 378, 383, 404, 405, 105, 105, 875 105, 105, 105, 105, 416, 234, 415, 236, 87, 237, 876 236, 112, 112, 112, 112, 112, 112, 87, 385, 87, 877 386, 87, 379, 418, 387, 87, 410, 236, 87, 236, 878 388, 255, 237, 87, 236, 419, 420, 422, 87, 87, 879 87, 87, 389, 417, 260, 421, 386, 87, 412, 87, 880 387, 87, 427, 87, 413, 414, 425, 426, 428, 87, 881 429, 430, 87, 87, 87, 87, 87, 434, 435, 431, 882 436, 87, 87, 87, 87, 438, 87, 439, 87, 87, 883 884 432, 433, 441, 443, 437, 87, 87, 87, 440, 442, 885 444, 445, 87, 87, 87, 447, 87, 448, 87, 87, 886 449, 87, 87, 450, 87, 87, 87, 87, 446, 451, 887 87, 453, 452, 458, 87, 87, 143, 87, 454, 457, 888 87, 456, 455, 464, 87, 462, 87, 459, 463, 460, 889 721, 87, 461, 466, 467, 465, 468, 344, 201, 469, 890 201, 360, 344, 361, 345, 87, 199, 211, 211, 211, 891 211, 352, 352, 352, 352, 360, 518, 361, 87, 87, 892 87, 371, 371, 371, 371, 371, 371, 370, 495, 370, 893 523, 87, 371, 371, 371, 371, 371, 371, 496, 87, 894 895 479, 490, 490, 490, 490, 490, 490, 233, 233, 233, 896 233, 233, 233, 525, 495, 519, 87, 234, 87, 236, 897 87, 237, 236, 242, 242, 242, 242, 105, 105, 498, 898 87, 520, 495, 527, 491, 499, 499, 521, 87, 236, 899 374, 236, 497, 87, 237, 542, 236, 375, 375, 375, 900 375, 375, 375, 383, 498, 87, 377, 87, 495, 528, 901 529, 499, 499, 234, 235, 236, 522, 237, 236, 378, 902 378, 378, 378, 378, 378, 87, 385, 533, 386, 87, 903 376, 538, 387, 87, 894, 236, 235, 236, 388, 500, 904 237, 500, 236, 87, 501, 501, 501, 501, 501, 501, 905 906 389, 87, 379, 87, 386, 87, 530, 385, 387, 386, 907 524, 87, 526, 387, 87, 87, 87, 87, 87, 505, 908 535, 531, 532, 87, 87, 540, 87, 502, 87, 534, 909 87, 389, 87, 536, 87, 386, 541, 539, 543, 387, 910 537, 547, 544, 87, 545, 87, 87, 87, 546, 549, 911 87, 87, 87, 87, 553, 548, 551, 87, 87, 87, 912 550, 552, 87, 87, 87, 87, 555, 559, 557, 87, 913 87, 87, 554, 562, 556, 87, 560, 558, 87, 87, 914 567, 87, 87, 87, 563, 561, 570, 566, 571, 564, 915 565, 569, 87, 568, 87, 87, 87, 201, 87, 87, 916 917 574, 630, 87, 580, 87, 573, 577, 572, 579, 87, 918 575, 576, 211, 211, 211, 211, 87, 622, 578, 490, 919 490, 490, 490, 490, 490, 375, 375, 375, 375, 375, 920 375, 626, 645, 621, 87, 234, 87, 236, 87, 237, 921 236, 378, 378, 378, 378, 378, 378, 495, 87, 602, 922 495, 623, 491, 628, 624, 495, 87, 236, 492, 236, 923 496, 598, 237, 598, 236, 601, 599, 599, 599, 599, 924 599, 599, 87, 495, 493, 602, 495, 634, 87, 87, 925 662, 495, 501, 501, 501, 501, 501, 501, 500, 87, 926 500, 625, 627, 501, 501, 501, 501, 501, 501, 600, 927 928 603, 603, 603, 603, 603, 603, 87, 87, 87, 631, 929 87, 87, 87, 87, 87, 639, 604, 629, 605, 635, 930 606, 605, 632, 87, 637, 638, 87, 633, 636, 87, 931 87, 87, 87, 607, 87, 640, 641, 644, 605, 643, 932 605, 87, 87, 606, 87, 605, 642, 87, 647, 648, 933 646, 87, 87, 87, 87, 87, 650, 649, 87, 656, 934 651, 87, 87, 87, 87, 653, 87, 87, 87, 652, 935 654, 657, 658, 655, 87, 664, 663, 660, 87, 667, 936 87, 87, 87, 659, 661, 87, 87, 87, 87, 668, 937 666, 669, 762, 691, 691, 704, 665, 87, 894, 670, 938 939 671, 490, 490, 490, 490, 490, 490, 599, 599, 599, 940 599, 599, 599, 598, 707, 598, 691, 87, 599, 599, 941 599, 599, 599, 599, 603, 603, 603, 603, 603, 603, 942 706, 691, 87, 87, 597, 689, 689, 689, 689, 689, 943 689, 692, 87, 692, 87, 87, 692, 702, 844, 87, 944 711, 604, 709, 605, 691, 606, 605, 607, 705, 87, 945 703, 87, 712, 692, 87, 692, 87, 708, 690, 710, 946 692, 87, 87, 605, 87, 605, 87, 713, 606, 87, 947 605, 87, 719, 87, 87, 87, 715, 87, 714, 87, 948 87, 717, 87, 87, 716, 87, 722, 87, 718, 724, 949 950 720, 727, 87, 725, 723, 87, 730, 87, 87, 726, 951 87, 87, 728, 87, 87, 729, 87, 734, 735, 736, 952 87, 755, 731, 737, 733, 738, 87, 894, 87, 739, 953 754, 869, 732, 689, 689, 689, 689, 689, 689, 603, 954 603, 603, 603, 603, 603, 87, 87, 753, 758, 604, 955 87, 605, 756, 606, 605, 757, 87, 87, 87, 759, 956 760, 87, 87, 87, 761, 765, 690, 764, 767, 770, 957 87, 605, 693, 605, 763, 87, 606, 87, 605, 769, 958 768, 87, 87, 87, 766, 771, 87, 87, 772, 773, 959 87, 87, 87, 774, 87, 87, 87, 87, 87, 775, 960 961 777, 87, 87, 87, 87, 87, 783, 87, 776, 87, 962 778, 784, 781, 801, 780, 779, 800, 782, 689, 689, 963 689, 689, 689, 689, 797, 87, 798, 87, 802, 87, 964 799, 807, 805, 804, 87, 87, 87, 87, 808, 809, 965 811, 87, 87, 87, 803, 812, 87, 806, 810, 87, 966 87, 746, 87, 87, 87, 838, 87, 87, 813, 87, 967 87, 87, 87, 833, 835, 836, 87, 87, 87, 814, 968 839, 841, 815, 816, 831, 832, 834, 87, 840, 830, 969 842, 87, 87, 87, 837, 87, 87, 87, 87, 87, 970 857, 843, 87, 87, 845, 856, 861, 87, 858, 87, 971 972 87, 846, 863, 864, 87, 87, 87, 855, 87, 87, 973 859, 872, 87, 865, 862, 867, 860, 866, 870, 87, 974 87, 87, 873, 87, 871, 874, 875, 87, 87, 87, 975 876, 877, 87, 87, 87, 880, 87, 882, 87, 883, 976 87, 878, 87, 881, 879, 87, 87, 87, 87, 87, 977 87, 894, 87, 894, 887, 894, 894, 886, 868, 888, 978 884, 885, 893, 87, 87, 87, 891, 87, 87, 889, 979 890, 894, 892, 69, 69, 69, 69, 69, 69, 69, 980 69, 69, 69, 69, 69, 69, 75, 75, 75, 75, 981 75, 75, 75, 75, 75, 75, 75, 75, 75, 78, 982 983 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 984 78, 78, 86, 894, 854, 86, 894, 86, 86, 86, 985 86, 86, 140, 853, 894, 851, 140, 140, 140, 140, 986 140, 140, 199, 199, 199, 199, 199, 199, 199, 199, 987 199, 199, 199, 199, 199, 204, 894, 850, 204, 894, 988 204, 204, 204, 204, 204, 208, 849, 208, 208, 894, 989 208, 208, 208, 208, 208, 208, 848, 208, 216, 87, 990 87, 216, 216, 216, 216, 216, 216, 216, 216, 87, 991 216, 239, 239, 239, 239, 239, 239, 239, 239, 239, 992 239, 239, 239, 239, 253, 253, 894, 253, 829, 894, 993 994 828, 253, 269, 826, 894, 269, 824, 269, 269, 269, 995 269, 269, 273, 894, 273, 822, 894, 820, 273, 275, 996 818, 275, 87, 87, 87, 275, 348, 87, 348, 87, 997 87, 87, 348, 350, 87, 350, 87, 87, 87, 350, 998 354, 87, 354, 894, 796, 794, 354, 356, 894, 356, 999 894, 791, 789, 356, 358, 787, 358, 87, 87, 87, 1000 358, 365, 87, 365, 87, 87, 87, 365, 367, 752, 1001 367, 749, 748, 746, 367, 382, 205, 382, 384, 384, 1002 742, 384, 384, 384, 741, 384, 253, 253, 673, 253, 1003 269, 87, 87, 269, 87, 269, 269, 269, 269, 269, 1004 1005 394, 87, 394, 87, 87, 87, 394, 396, 87, 396, 1006 87, 87, 87, 396, 398, 87, 398, 87, 87, 87, 1007 398, 273, 700, 273, 400, 699, 400, 697, 695, 693, 1008 400, 275, 601, 275, 86, 688, 687, 86, 685, 86, 1009 86, 86, 86, 86, 199, 199, 199, 199, 199, 199, 1010 199, 199, 199, 199, 199, 199, 199, 470, 470, 470, 1011 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1012 471, 683, 471, 681, 679, 677, 471, 473, 675, 473, 1013 673, 87, 87, 473, 475, 87, 475, 87, 87, 87, 1014 475, 348, 87, 348, 477, 87, 477, 87, 87, 87, 1015 1016 477, 350, 620, 350, 480, 618, 480, 616, 614, 612, 1017 480, 354, 610, 354, 482, 505, 482, 608, 608, 597, 1018 482, 356, 596, 356, 484, 594, 484, 485, 485, 592, 1019 484, 358, 590, 358, 486, 588, 486, 586, 584, 582, 1020 486, 365, 87, 365, 488, 87, 488, 87, 87, 87, 1021 488, 367, 87, 367, 494, 87, 494, 87, 494, 517, 1022 494, 382, 515, 382, 513, 382, 511, 382, 384, 384, 1023 509, 384, 384, 384, 507, 384, 506, 493, 506, 492, 1024 489, 487, 506, 508, 361, 508, 361, 485, 483, 508, 1025 510, 481, 510, 478, 476, 474, 510, 394, 472, 394, 1026 1027 512, 87, 512, 87, 87, 402, 512, 396, 401, 396, 1028 514, 399, 514, 397, 395, 270, 514, 398, 265, 398, 1029 516, 264, 516, 391, 391, 252, 516, 400, 381, 400, 1030 86, 381, 240, 86, 374, 86, 86, 86, 86, 86, 1031 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1032 470, 470, 470, 581, 368, 581, 366, 364, 360, 581, 1033 471, 359, 471, 583, 357, 583, 355, 351, 349, 583, 1034 473, 205, 473, 585, 201, 585, 87, 277, 276, 585, 1035 475, 274, 475, 587, 270, 587, 265, 268, 265, 587, 1036 477, 263, 477, 589, 262, 589, 261, 240, 232, 589, 1037 1038 480, 85, 480, 591, 85, 591, 87, 205, 203, 591, 1039 482, 85, 482, 484, 122, 484, 117, 87, 894, 484, 1040 593, 70, 593, 70, 894, 894, 593, 486, 894, 486, 1041 595, 894, 595, 894, 894, 894, 595, 488, 894, 488, 1042 494, 894, 494, 894, 494, 894, 494, 384, 894, 384, 1043 894, 894, 894, 384, 609, 894, 609, 894, 894, 894, 1044 609, 506, 894, 506, 611, 894, 611, 894, 894, 894, 1045 611, 508, 894, 508, 613, 894, 613, 894, 894, 894, 1046 613, 510, 894, 510, 615, 894, 615, 894, 894, 894, 1047 615, 512, 894, 512, 617, 894, 617, 894, 894, 894, 1048 1049 617, 514, 894, 514, 619, 894, 619, 894, 894, 894, 1050 619, 516, 894, 516, 86, 894, 894, 86, 894, 86, 1051 86, 86, 86, 86, 672, 672, 672, 672, 672, 672, 1052 672, 672, 672, 672, 672, 672, 672, 674, 894, 674, 1053 894, 894, 894, 674, 581, 894, 581, 676, 894, 676, 1054 894, 894, 894, 676, 583, 894, 583, 678, 894, 678, 1055 894, 894, 894, 678, 585, 894, 585, 680, 894, 680, 1056 894, 894, 894, 680, 587, 894, 587, 682, 894, 682, 1057 894, 894, 894, 682, 589, 894, 589, 684, 894, 684, 1058 894, 894, 894, 684, 591, 894, 591, 686, 894, 686, 1059 1060 894, 894, 894, 686, 593, 894, 593, 86, 894, 86, 1061 894, 894, 894, 86, 595, 894, 595, 494, 894, 494, 1062 894, 894, 894, 494, 694, 894, 694, 894, 894, 894, 1063 694, 609, 894, 609, 696, 894, 696, 894, 894, 894, 1064 696, 611, 894, 611, 698, 894, 698, 894, 894, 894, 1065 698, 613, 894, 613, 140, 894, 140, 894, 894, 894, 1066 140, 615, 894, 615, 701, 894, 701, 617, 894, 617, 1067 86, 894, 894, 86, 894, 86, 86, 86, 86, 86, 1068 619, 894, 619, 672, 672, 672, 672, 672, 672, 672, 1069 672, 672, 672, 672, 672, 672, 740, 894, 740, 894, 1070 1071 894, 894, 740, 674, 894, 674, 204, 894, 204, 894, 1072 894, 894, 204, 676, 894, 676, 743, 894, 743, 678, 1073 894, 678, 204, 894, 894, 204, 894, 204, 204, 204, 1074 204, 204, 680, 894, 680, 744, 894, 744, 682, 894, 1075 682, 684, 894, 684, 745, 894, 745, 686, 894, 686, 1076 86, 894, 86, 747, 894, 747, 894, 894, 894, 747, 1077 694, 894, 694, 269, 894, 269, 894, 894, 894, 269, 1078 696, 894, 696, 750, 894, 750, 698, 894, 698, 140, 1079 894, 140, 751, 894, 751, 894, 894, 894, 751, 86, 1080 894, 894, 86, 894, 86, 86, 86, 86, 86, 785, 1081 1082 894, 785, 740, 894, 740, 204, 894, 204, 786, 894, 1083 786, 894, 894, 894, 786, 788, 894, 788, 894, 894, 1084 894, 788, 790, 894, 790, 894, 894, 894, 790, 792, 1085 894, 792, 793, 894, 793, 894, 894, 894, 793, 795, 1086 894, 795, 894, 894, 894, 795, 817, 894, 817, 894, 1087 894, 894, 817, 819, 894, 819, 894, 894, 894, 819, 1088 821, 894, 821, 894, 894, 894, 821, 823, 894, 823, 1089 894, 894, 894, 823, 825, 894, 825, 894, 894, 894, 1090 825, 827, 894, 827, 894, 894, 894, 827, 619, 894, 1091 619, 894, 894, 894, 619, 847, 894, 847, 894, 894, 1092 1093 894, 847, 680, 894, 680, 894, 894, 894, 680, 684, 1094 894, 684, 894, 894, 894, 684, 86, 894, 86, 894, 1095 894, 894, 86, 852, 894, 852, 894, 894, 894, 852, 1096 140, 894, 140, 894, 894, 894, 140, 204, 894, 204, 1097 894, 894, 894, 204, 11, 894, 894, 894, 894, 894, 1098 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1099 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1100 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1101 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1102 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1103 1104 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1105 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1106 894, 894, 894, 894, 894, 894, 894, 894, 894, 894 1113 1107 } ; 1114 1108 1115 static yyconst flex_int16_t yy_chk[29 52] =1109 static yyconst flex_int16_t yy_chk[2931] = 1116 1110 { 0, 1117 1111 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 1134 1128 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1135 1129 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 1136 8, 9, 10, 37, 37, 20, 39, 9, 10, 903,1130 8, 9, 10, 37, 37, 20, 39, 9, 10, 893, 1137 1131 7, 8, 13, 13, 13, 13, 13, 13, 15, 15, 1138 1132 1139 1133 15, 15, 15, 15, 20, 25, 48, 39, 42, 28, 1140 27, 28, 28, 28, 28, 28, 28, 1 10, 116, 25,1134 27, 28, 28, 28, 28, 28, 28, 109, 115, 25, 1141 1135 29, 25, 27, 27, 27, 29, 48, 35, 40, 7, 1142 1136 8, 9, 10, 40, 42, 29, 30, 47, 30, 30, 1143 30, 30, 30, 30, 35, 57, 35, 35, 44, 12 7,1144 44, 12 7, 110, 116, 57, 30, 65, 544, 47, 30,1137 30, 30, 30, 30, 35, 57, 35, 35, 44, 126, 1138 44, 126, 109, 115, 57, 30, 64, 56, 47, 30, 1145 1139 47, 45, 45, 45, 49, 30, 30, 45, 45, 49, 1146 45, 30, 40, 45, 45, 40, 49, 30, 45, 63, 1147 62, 45, 49, 30, 74, 902, 544, 53, 63, 51, 1148 61, 30, 62, 55, 30, 31, 109, 31, 31, 31, 1149 1150 31, 31, 31, 50, 51, 53, 51, 65, 61, 54, 1151 74, 55, 50, 88, 31, 51, 50, 55, 31, 54, 1152 109, 50, 52, 115, 31, 50, 54, 52, 182, 146, 1153 31, 56, 108, 182, 146, 52, 31, 52, 108, 88, 1154 52, 60, 31, 128, 52, 128, 60, 115, 56, 152, 1155 31, 38, 894, 56, 112, 38, 38, 58, 38, 60, 1156 38, 38, 114, 38, 108, 38, 59, 152, 114, 58, 1157 58, 117, 112, 146, 38, 38, 38, 189, 59, 58, 1158 112, 130, 58, 130, 143, 60, 59, 132, 60, 117, 1159 189, 69, 69, 59, 114, 38, 69, 117, 38, 132, 1160 1161 111, 132, 60, 68, 68, 68, 68, 68, 68, 893, 1162 143, 68, 69, 69, 69, 69, 69, 69, 81, 81, 1163 81, 81, 81, 81, 154, 38, 38, 78, 78, 133, 1164 111, 133, 78, 154, 78, 111, 135, 162, 135, 78, 1165 83, 83, 83, 83, 83, 83, 162, 890, 78, 78, 1166 78, 78, 84, 84, 84, 84, 84, 84, 111, 78, 1167 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 1168 134, 134, 138, 134, 138, 78, 131, 155, 78, 136, 1169 136, 136, 173, 78, 78, 153, 157, 78, 78, 140, 1170 131, 140, 131, 155, 105, 78, 151, 173, 78, 105, 1171 1172 78, 78, 78, 153, 78, 86, 156, 160, 157, 86, 1173 86, 151, 183, 158, 86, 86, 168, 86, 151, 86, 1174 161, 183, 105, 160, 156, 158, 163, 164, 86, 86, 1175 86, 106, 164, 106, 106, 106, 106, 106, 106, 168, 1176 169, 167, 161, 170, 166, 164, 165, 163, 163, 86, 1177 106, 107, 86, 107, 166, 172, 107, 107, 107, 107, 1178 107, 107, 167, 165, 170, 171, 106, 169, 177, 175, 1179 171, 176, 106, 174, 178, 181, 184, 172, 180, 889, 1180 86, 100, 100, 100, 100, 100, 100, 175, 171, 107, 1181 174, 176, 181, 180, 185, 177, 178, 100, 100, 100, 1182 1183 180, 100, 100, 184, 192, 185, 187, 186, 193, 221, 1184 190, 221, 887, 188, 100, 185, 185, 187, 188, 100, 1185 100, 100, 159, 192, 100, 186, 100, 159, 159, 159, 1186 190, 159, 159, 188, 187, 159, 191, 159, 194, 208, 1187 196, 191, 159, 159, 159, 195, 159, 197, 251, 212, 1188 212, 194, 193, 196, 212, 193, 201, 201, 195, 194, 1189 195, 201, 222, 191, 222, 208, 259, 197, 200, 200, 1190 200, 200, 200, 200, 251, 287, 200, 201, 201, 201, 1191 201, 201, 201, 203, 203, 223, 246, 223, 203, 205, 1192 205, 226, 259, 226, 205, 287, 205, 215, 215, 215, 1193 1194 215, 228, 224, 228, 203, 203, 203, 203, 203, 203, 1195 205, 205, 205, 205, 205, 205, 224, 225, 224, 227, 1196 227, 246, 227, 229, 229, 229, 231, 239, 231, 225, 1197 215, 225, 232, 291, 232, 237, 237, 238, 269, 238, 1198 269, 284, 238, 238, 238, 238, 238, 238, 273, 240, 1199 239, 240, 432, 270, 240, 270, 291, 284, 237, 244, 1200 244, 244, 244, 244, 244, 245, 432, 245, 245, 245, 1201 245, 240, 286, 240, 273, 238, 282, 286, 240, 247, 1202 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 1203 248, 283, 244, 285, 282, 281, 247, 250, 294, 250, 1204 1205 245, 293, 250, 250, 250, 250, 250, 250, 281, 283, 1206 285, 288, 247, 294, 289, 331, 288, 297, 247, 249, 1207 249, 249, 249, 249, 249, 256, 297, 293, 258, 258, 1208 258, 258, 258, 258, 289, 249, 298, 249, 331, 249, 1209 249, 263, 263, 263, 263, 263, 263, 292, 256, 298, 1210 256, 295, 249, 296, 256, 299, 290, 249, 296, 249, 1211 256, 258, 249, 300, 249, 292, 302, 295, 295, 306, 1212 303, 290, 256, 307, 263, 303, 256, 290, 290, 304, 1213 256, 300, 299, 305, 302, 308, 312, 309, 304, 306, 1214 305, 307, 309, 310, 311, 313, 314, 315, 310, 316, 1215 1216 311, 317, 314, 321, 313, 312, 308, 308, 316, 318, 1217 319, 322, 320, 315, 318, 319, 317, 320, 323, 325, 1218 326, 327, 321, 328, 327, 329, 330, 332, 333, 322, 1219 325, 323, 334, 335, 320, 326, 336, 339, 329, 337, 1220 338, 334, 328, 341, 342, 333, 343, 332, 330, 344, 1221 339, 346, 341, 347, 348, 335, 346, 345, 338, 336, 1222 387, 337, 344, 350, 343, 345, 349, 349, 347, 350, 1223 387, 349, 348, 349, 357, 357, 357, 357, 358, 358, 1224 358, 358, 367, 368, 367, 368, 387, 408, 342, 375, 1225 375, 375, 375, 375, 375, 377, 388, 377, 408, 392, 1226 1227 377, 377, 377, 377, 377, 377, 388, 357, 376, 376, 1228 376, 376, 376, 376, 379, 379, 379, 379, 379, 379, 1229 411, 409, 388, 392, 376, 410, 376, 413, 376, 376, 1230 382, 382, 382, 382, 382, 382, 390, 409, 413, 411, 1231 410, 376, 390, 394, 415, 419, 376, 379, 376, 417, 1232 886, 376, 420, 376, 380, 380, 380, 380, 380, 380, 1233 389, 394, 417, 382, 412, 420, 415, 419, 390, 394, 1234 380, 380, 380, 412, 380, 380, 383, 383, 383, 383, 1235 383, 383, 426, 389, 418, 389, 879, 380, 426, 389, 1236 878, 393, 380, 380, 380, 389, 391, 380, 391, 380, 1237 1238 418, 391, 391, 391, 391, 391, 391, 389, 414, 383, 1239 416, 389, 421, 422, 393, 389, 393, 414, 423, 416, 1240 393, 428, 424, 427, 429, 425, 393, 424, 421, 421, 1241 430, 436, 428, 437, 391, 422, 423, 434, 393, 439, 1242 425, 438, 393, 429, 427, 430, 393, 425, 441, 434, 1243 440, 442, 436, 444, 438, 437, 440, 446, 447, 448, 1244 442, 449, 439, 441, 450, 451, 452, 454, 444, 456, 1245 459, 457, 458, 462, 448, 452, 460, 446, 461, 450, 1246 447, 458, 464, 449, 454, 451, 465, 466, 463, 468, 1247 469, 459, 456, 457, 466, 462, 460, 463, 461, 465, 1248 1249 464, 467, 470, 474, 471, 472, 475, 477, 467, 877, 1250 470, 526, 469, 477, 468, 475, 472, 504, 505, 476, 1251 470, 471, 476, 876, 526, 474, 486, 486, 486, 486, 1252 497, 497, 497, 497, 497, 497, 499, 499, 499, 499, 1253 499, 499, 525, 504, 505, 528, 497, 529, 497, 530, 1254 497, 497, 500, 500, 500, 500, 500, 500, 875, 525, 1255 528, 501, 530, 497, 531, 538, 503, 529, 497, 499, 1256 497, 501, 502, 497, 502, 497, 503, 502, 502, 502, 1257 502, 502, 502, 533, 538, 500, 531, 501, 533, 532, 1258 871, 867, 503, 507, 507, 507, 507, 507, 507, 509, 1259 1260 535, 509, 532, 535, 509, 509, 509, 509, 509, 509, 1261 502, 508, 508, 508, 508, 508, 508, 534, 536, 537, 1262 539, 540, 542, 543, 864, 546, 547, 508, 534, 508, 1263 540, 508, 508, 542, 537, 541, 543, 545, 536, 548, 1264 541, 539, 554, 547, 508, 549, 545, 546, 548, 508, 1265 549, 508, 551, 552, 508, 555, 508, 556, 551, 554, 1266 557, 560, 552, 561, 559, 562, 564, 571, 567, 557, 1267 555, 565, 556, 559, 568, 561, 565, 567, 560, 572, 1268 562, 564, 573, 568, 576, 575, 578, 582, 577, 571, 1269 579, 580, 572, 575, 576, 577, 582, 580, 585, 573, 1270 1271 583, 586, 579, 588, 630, 863, 634, 728, 578, 630, 1272 583, 633, 613, 613, 586, 585, 606, 606, 606, 606, 1273 606, 606, 630, 634, 633, 588, 607, 607, 607, 607, 1274 607, 607, 609, 614, 609, 613, 728, 609, 609, 609, 1275 609, 609, 609, 612, 612, 612, 612, 612, 612, 606, 1276 608, 608, 608, 608, 608, 608, 614, 615, 631, 615, 1277 632, 635, 615, 638, 637, 631, 608, 636, 608, 632, 1278 608, 608, 637, 648, 636, 639, 612, 641, 639, 615, 1279 638, 615, 642, 608, 635, 640, 615, 643, 608, 644, 1280 608, 645, 649, 608, 647, 608, 650, 642, 640, 641, 1281 1282 646, 648, 652, 646, 653, 651, 644, 649, 654, 643, 1283 656, 647, 657, 645, 651, 658, 650, 654, 662, 663, 1284 652, 668, 665, 862, 658, 669, 653, 676, 679, 680, 1285 668, 677, 669, 656, 657, 713, 676, 679, 662, 665, 1286 712, 677, 718, 715, 680, 713, 663, 699, 699, 699, 1287 699, 699, 699, 703, 703, 703, 703, 703, 703, 716, 1288 721, 712, 718, 699, 734, 699, 716, 699, 699, 715, 1289 717, 719, 734, 720, 719, 717, 720, 723, 721, 725, 1290 699, 724, 727, 723, 731, 699, 703, 699, 725, 745, 1291 699, 730, 699, 726, 724, 729, 726, 735, 729, 732, 1292 1293 730, 733, 732, 727, 736, 737, 738, 735, 744, 741, 1294 731, 745, 746, 748, 733, 738, 749, 736, 769, 861, 1295 767, 748, 772, 769, 768, 749, 737, 741, 744, 770, 1296 773, 774, 741, 746, 756, 756, 756, 756, 756, 756, 1297 767, 768, 771, 775, 770, 772, 775, 773, 776, 777, 1298 779, 781, 771, 779, 781, 782, 783, 774, 785, 783, 1299 784, 776, 782, 784, 786, 788, 792, 756, 807, 809, 1300 817, 812, 811, 785, 810, 811, 813, 777, 814, 813, 1301 816, 814, 818, 820, 860, 818, 824, 786, 788, 792, 1302 809, 821, 810, 812, 821, 807, 817, 822, 816, 823, 1303 1304 822, 825, 824, 826, 841, 820, 842, 843, 823, 844, 1305 843, 845, 825, 842, 846, 847, 855, 846, 844, 826, 1306 850, 853, 854, 850, 853, 841, 859, 856, 855, 845, 1307 865, 854, 847, 866, 868, 845, 856, 868, 866, 865, 1308 869, 870, 872, 880, 873, 872, 870, 873, 874, 881, 1309 869, 874, 882, 888, 884, 882, 883, 884, 885, 891, 1310 895, 885, 892, 880, 881, 896, 883, 897, 899, 895, 1311 898, 900, 901, 858, 857, 888, 852, 892, 896, 851, 1312 891, 849, 901, 848, 840, 839, 899, 838, 837, 897, 1313 836, 898, 835, 900, 905, 905, 905, 905, 905, 905, 1314 1315 905, 905, 905, 905, 905, 905, 905, 906, 906, 906, 1316 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, 1317 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 1318 907, 907, 907, 908, 834, 833, 908, 832, 908, 908, 1319 908, 908, 908, 909, 831, 830, 829, 909, 909, 909, 1320 909, 909, 909, 910, 910, 910, 910, 910, 910, 910, 1321 910, 910, 910, 910, 910, 910, 911, 828, 827, 911, 1322 819, 911, 911, 911, 911, 911, 912, 815, 912, 912, 1323 808, 912, 912, 912, 912, 912, 912, 806, 912, 913, 1324 805, 804, 913, 913, 913, 913, 913, 913, 913, 913, 1325 1326 803, 913, 914, 914, 914, 914, 914, 914, 914, 914, 1327 914, 914, 914, 914, 914, 915, 915, 802, 915, 801, 1328 800, 799, 915, 916, 798, 797, 916, 796, 916, 916, 1329 916, 916, 916, 917, 795, 917, 794, 793, 791, 917, 1330 918, 790, 918, 789, 787, 780, 918, 919, 778, 919, 1331 766, 765, 764, 919, 920, 763, 920, 762, 761, 760, 1332 920, 921, 759, 921, 758, 755, 754, 921, 922, 753, 1333 922, 747, 743, 742, 922, 923, 740, 923, 739, 722, 1334 714, 923, 924, 711, 924, 706, 704, 700, 924, 925, 1335 690, 925, 686, 684, 682, 925, 926, 681, 926, 927, 1336 1337 927, 678, 927, 927, 927, 675, 927, 928, 928, 674, 1338 928, 929, 673, 672, 929, 671, 929, 929, 929, 929, 1339 929, 930, 670, 930, 667, 666, 664, 930, 931, 661, 1340 931, 660, 659, 655, 931, 932, 628, 932, 624, 622, 1341 620, 932, 933, 618, 933, 934, 616, 934, 610, 604, 1342 602, 934, 935, 600, 935, 936, 598, 596, 936, 594, 1343 936, 936, 936, 936, 936, 937, 937, 937, 937, 937, 1344 937, 937, 937, 937, 937, 937, 937, 937, 938, 938, 1345 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, 1346 938, 939, 592, 939, 590, 589, 587, 939, 940, 584, 1347 1348 940, 581, 574, 570, 940, 941, 569, 941, 566, 563, 1349 558, 941, 942, 553, 942, 943, 550, 943, 527, 523, 1350 521, 943, 944, 519, 944, 945, 517, 945, 515, 513, 1351 512, 945, 946, 511, 946, 947, 510, 947, 498, 495, 1352 493, 947, 948, 492, 948, 949, 491, 949, 489, 487, 1353 484, 949, 950, 482, 950, 951, 480, 951, 478, 473, 1354 455, 951, 952, 453, 952, 953, 445, 953, 443, 435, 1355 433, 953, 954, 431, 954, 955, 405, 955, 403, 955, 1356 401, 955, 956, 399, 956, 398, 956, 397, 956, 957, 1357 957, 384, 957, 957, 957, 381, 957, 958, 372, 958, 1358 1359 370, 369, 365, 958, 959, 363, 959, 361, 359, 355, 1360 959, 960, 353, 960, 352, 351, 340, 960, 961, 324, 1361 961, 962, 301, 962, 280, 278, 276, 962, 963, 275, 1362 963, 964, 274, 964, 272, 271, 266, 964, 965, 262, 1363 965, 966, 261, 966, 257, 254, 253, 966, 967, 242, 1364 967, 968, 241, 234, 968, 233, 968, 968, 968, 968, 1365 968, 969, 969, 969, 969, 969, 969, 969, 969, 969, 1366 969, 969, 969, 969, 970, 230, 970, 220, 218, 217, 1367 970, 971, 216, 971, 972, 210, 972, 209, 207, 202, 1368 972, 973, 179, 973, 974, 150, 974, 148, 147, 141, 1369 1370 974, 975, 139, 975, 976, 137, 976, 129, 126, 125, 1371 976, 977, 121, 977, 978, 102, 978, 99, 96, 94, 1372 978, 979, 87, 979, 980, 73, 980, 71, 67, 36, 1373 980, 981, 33, 981, 982, 18, 982, 11, 4, 3, 1374 982, 983, 0, 983, 0, 0, 0, 983, 984, 0, 1375 984, 985, 0, 985, 0, 0, 0, 985, 986, 0, 1376 986, 987, 0, 987, 0, 987, 0, 987, 988, 0, 1377 988, 0, 0, 0, 988, 989, 0, 989, 0, 0, 1378 0, 989, 990, 0, 990, 991, 0, 991, 0, 0, 1379 0, 991, 992, 0, 992, 993, 0, 993, 0, 0, 1380 1381 0, 993, 994, 0, 994, 995, 0, 995, 0, 0, 1382 0, 995, 996, 0, 996, 997, 0, 997, 0, 0, 1383 0, 997, 998, 0, 998, 999, 0, 999, 0, 0, 1384 0, 999, 1000, 0, 1000, 1001, 0, 0, 1001, 0, 1385 1001, 1001, 1001, 1001, 1001, 1002, 1002, 1002, 1002, 1002, 1386 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 0, 1387 1003, 0, 0, 0, 1003, 1004, 0, 1004, 1005, 0, 1388 1005, 0, 0, 0, 1005, 1006, 0, 1006, 1007, 0, 1389 1007, 0, 0, 0, 1007, 1008, 0, 1008, 1009, 0, 1390 1009, 0, 0, 0, 1009, 1010, 0, 1010, 1011, 0, 1391 1392 1011, 0, 0, 0, 1011, 1012, 0, 1012, 1013, 0, 1393 1013, 0, 0, 0, 1013, 1014, 0, 1014, 1015, 0, 1394 1015, 0, 0, 0, 1015, 1016, 0, 1016, 1017, 0, 1395 1017, 0, 0, 0, 1017, 1018, 0, 1018, 1019, 0, 1396 1019, 0, 0, 0, 1019, 1020, 0, 1020, 0, 0, 1397 0, 1020, 1021, 0, 1021, 1022, 0, 1022, 0, 0, 1398 0, 1022, 1023, 0, 1023, 1024, 0, 1024, 0, 0, 1399 0, 1024, 1025, 0, 1025, 1026, 0, 1026, 0, 0, 1400 0, 1026, 1027, 0, 1027, 1028, 0, 1028, 1029, 0, 1401 1029, 1030, 0, 0, 1030, 0, 1030, 1030, 1030, 1030, 1402 1403 1030, 1031, 0, 1031, 1032, 1032, 1032, 1032, 1032, 1032, 1404 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1033, 0, 1033, 1405 0, 0, 0, 1033, 1034, 0, 1034, 1035, 0, 1035, 1406 0, 0, 0, 1035, 1036, 0, 1036, 1037, 0, 1037, 1407 1038, 0, 1038, 1039, 0, 0, 1039, 0, 1039, 1039, 1408 1039, 1039, 1039, 1040, 0, 1040, 1041, 0, 1041, 1042, 1409 0, 1042, 1043, 0, 1043, 1044, 0, 1044, 1045, 0, 1410 1045, 1046, 0, 1046, 1047, 0, 1047, 0, 0, 0, 1411 1047, 1048, 0, 1048, 1049, 0, 1049, 0, 0, 0, 1412 1049, 1050, 0, 1050, 1051, 0, 1051, 1052, 0, 1052, 1413 1414 1053, 0, 1053, 1054, 0, 1054, 0, 0, 0, 1054, 1415 1055, 0, 0, 1055, 0, 1055, 1055, 1055, 1055, 1055, 1416 1056, 0, 1056, 1057, 0, 1057, 1058, 0, 1058, 1059, 1417 0, 1059, 0, 0, 0, 1059, 1060, 0, 1060, 0, 1418 0, 0, 1060, 1061, 0, 1061, 0, 0, 0, 1061, 1419 1062, 0, 1062, 1063, 0, 1063, 0, 0, 0, 1063, 1420 1064, 0, 1064, 0, 0, 0, 1064, 1065, 0, 1065, 1421 0, 0, 0, 1065, 1066, 0, 1066, 0, 0, 0, 1422 1066, 1067, 0, 1067, 0, 0, 0, 1067, 1068, 0, 1423 1068, 0, 0, 0, 1068, 1069, 0, 1069, 0, 0, 1424 1425 0, 1069, 1070, 0, 1070, 0, 0, 0, 1070, 1071, 1426 0, 1071, 0, 0, 0, 1071, 1072, 0, 1072, 0, 1427 0, 0, 1072, 1073, 0, 1073, 0, 0, 0, 1073, 1428 1074, 0, 1074, 0, 0, 0, 1074, 1075, 0, 1075, 1429 0, 0, 0, 1075, 1076, 0, 1076, 0, 0, 0, 1430 1076, 1077, 0, 1077, 0, 0, 0, 1077, 1078, 0, 1431 1078, 0, 0, 0, 1078, 904, 904, 904, 904, 904, 1432 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1433 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1434 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1435 1436 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1437 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1438 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1439 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1440 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1441 904 1140 45, 30, 40, 45, 45, 40, 49, 30, 45, 56, 1141 62, 45, 49, 30, 73, 892, 127, 53, 127, 51, 1142 61, 30, 62, 55, 30, 31, 108, 31, 31, 31, 1143 1144 31, 31, 31, 50, 51, 53, 51, 64, 61, 54, 1145 73, 55, 50, 87, 31, 51, 50, 55, 31, 54, 1146 108, 50, 52, 114, 31, 50, 54, 52, 175, 129, 1147 31, 129, 107, 154, 151, 52, 31, 52, 107, 87, 1148 52, 60, 31, 132, 52, 132, 60, 114, 175, 154, 1149 31, 38, 151, 387, 111, 38, 38, 58, 38, 60, 1150 38, 38, 113, 38, 107, 38, 59, 130, 113, 58, 1151 58, 116, 111, 164, 38, 38, 38, 387, 59, 58, 1152 111, 130, 58, 130, 142, 60, 59, 131, 60, 116, 1153 164, 68, 68, 59, 113, 38, 68, 116, 38, 131, 1154 1155 110, 131, 60, 67, 67, 67, 67, 67, 67, 884, 1156 142, 67, 68, 68, 68, 68, 68, 68, 80, 80, 1157 80, 80, 80, 80, 153, 38, 38, 77, 77, 134, 1158 110, 134, 77, 153, 77, 110, 135, 135, 135, 77, 1159 82, 82, 82, 82, 82, 82, 883, 243, 77, 77, 1160 77, 77, 83, 83, 83, 83, 83, 83, 110, 77, 1161 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 1162 133, 133, 137, 133, 137, 77, 145, 139, 77, 139, 1163 157, 145, 243, 77, 77, 152, 156, 77, 77, 155, 1164 166, 150, 157, 880, 104, 77, 159, 168, 77, 104, 1165 1166 77, 77, 77, 152, 77, 85, 150, 155, 156, 85, 1167 85, 166, 159, 150, 85, 85, 161, 85, 160, 85, 1168 145, 162, 104, 167, 168, 161, 169, 163, 85, 85, 1169 85, 105, 163, 105, 105, 105, 105, 105, 105, 879, 1170 160, 171, 162, 162, 165, 163, 167, 169, 173, 85, 1171 105, 106, 85, 106, 165, 172, 106, 106, 106, 106, 1172 106, 106, 180, 171, 170, 173, 105, 176, 177, 170, 1173 172, 181, 105, 174, 184, 187, 181, 182, 179, 180, 1174 85, 99, 99, 99, 99, 99, 99, 170, 187, 106, 1175 177, 174, 184, 179, 176, 183, 190, 99, 99, 99, 1176 1177 179, 99, 99, 189, 182, 186, 183, 191, 189, 218, 1178 186, 218, 185, 188, 99, 190, 183, 183, 284, 99, 1179 99, 99, 158, 185, 99, 186, 99, 158, 158, 158, 1180 189, 158, 158, 188, 192, 158, 194, 158, 284, 219, 1181 185, 219, 158, 158, 158, 193, 158, 192, 220, 194, 1182 220, 191, 198, 198, 191, 192, 205, 198, 193, 877, 1183 193, 197, 197, 197, 197, 197, 197, 200, 200, 197, 1184 248, 221, 200, 198, 198, 198, 198, 198, 198, 202, 1185 202, 223, 205, 223, 202, 221, 202, 221, 200, 200, 1186 200, 200, 200, 200, 209, 209, 248, 876, 222, 209, 1187 1188 202, 202, 202, 202, 202, 202, 212, 212, 212, 212, 1189 222, 286, 222, 224, 224, 225, 224, 225, 226, 226, 1190 226, 228, 229, 228, 229, 234, 234, 235, 236, 235, 1191 869, 286, 235, 235, 235, 235, 235, 235, 237, 212, 1192 237, 282, 242, 237, 242, 242, 242, 242, 234, 256, 1193 270, 236, 241, 241, 241, 241, 241, 241, 282, 266, 1194 237, 266, 237, 296, 267, 235, 267, 237, 281, 244, 1195 244, 244, 244, 244, 244, 256, 270, 242, 245, 245, 1196 245, 245, 245, 245, 281, 241, 244, 247, 278, 247, 1197 296, 295, 247, 247, 247, 247, 247, 247, 279, 280, 1198 1199 283, 278, 244, 288, 295, 283, 289, 868, 244, 246, 1200 246, 246, 246, 246, 246, 253, 279, 280, 255, 255, 1201 255, 255, 255, 255, 289, 246, 288, 246, 291, 246, 1202 246, 260, 260, 260, 260, 260, 260, 290, 253, 292, 1203 253, 285, 246, 291, 253, 867, 285, 246, 294, 246, 1204 253, 255, 246, 287, 246, 292, 292, 294, 297, 299, 1205 293, 303, 253, 290, 260, 293, 253, 300, 287, 301, 1206 253, 304, 300, 302, 287, 287, 297, 299, 301, 305, 1207 302, 303, 306, 307, 308, 309, 310, 306, 307, 304, 1208 308, 311, 312, 313, 314, 310, 318, 311, 315, 319, 1209 1210 305, 305, 313, 315, 309, 316, 317, 320, 312, 314, 1211 316, 317, 322, 324, 323, 318, 326, 319, 325, 327, 1212 320, 328, 329, 322, 330, 331, 332, 334, 317, 323, 1213 333, 325, 324, 330, 337, 335, 338, 339, 326, 329, 1214 340, 328, 327, 337, 343, 334, 341, 331, 335, 332, 1215 639, 342, 333, 340, 341, 339, 342, 344, 344, 343, 1216 345, 362, 344, 362, 344, 403, 345, 352, 352, 352, 1217 352, 353, 353, 353, 353, 363, 403, 363, 639, 408, 1218 338, 370, 370, 370, 370, 370, 370, 372, 382, 372, 1219 408, 410, 372, 372, 372, 372, 372, 372, 382, 404, 1220 1221 352, 371, 371, 371, 371, 371, 371, 374, 374, 374, 1222 374, 374, 374, 410, 382, 404, 405, 371, 406, 371, 1223 412, 371, 371, 377, 377, 377, 377, 377, 377, 385, 1224 425, 405, 383, 412, 371, 385, 389, 406, 414, 371, 1225 374, 371, 383, 413, 371, 425, 371, 375, 375, 375, 1226 375, 375, 375, 384, 389, 417, 377, 407, 383, 413, 1227 414, 385, 389, 375, 375, 375, 407, 375, 375, 378, 1228 378, 378, 378, 378, 378, 421, 384, 417, 384, 866, 1229 375, 421, 384, 865, 388, 375, 375, 375, 384, 386, 1230 375, 386, 375, 415, 386, 386, 386, 386, 386, 386, 1231 1232 384, 409, 378, 411, 384, 416, 415, 388, 384, 388, 1233 409, 418, 411, 388, 423, 419, 422, 424, 420, 388, 1234 419, 416, 416, 431, 427, 423, 432, 386, 433, 418, 1235 429, 388, 434, 420, 441, 388, 424, 422, 427, 388, 1236 420, 433, 429, 435, 431, 436, 439, 437, 432, 435, 1237 442, 443, 444, 445, 441, 434, 437, 446, 447, 449, 1238 436, 439, 451, 453, 452, 456, 443, 447, 445, 454, 1239 455, 457, 442, 452, 444, 458, 449, 446, 459, 460, 1240 457, 461, 462, 463, 453, 451, 460, 456, 461, 454, 1241 455, 459, 464, 458, 465, 466, 468, 470, 528, 469, 1242 1243 464, 528, 861, 470, 519, 463, 466, 462, 469, 524, 1244 464, 465, 479, 479, 479, 479, 518, 519, 468, 490, 1245 490, 490, 490, 490, 490, 492, 492, 492, 492, 492, 1246 492, 524, 544, 518, 522, 490, 521, 490, 544, 490, 1247 490, 493, 493, 493, 493, 493, 493, 497, 526, 498, 1248 494, 521, 490, 526, 522, 496, 532, 490, 492, 490, 1249 494, 495, 490, 495, 490, 496, 495, 495, 495, 495, 1250 495, 495, 567, 497, 493, 498, 494, 532, 523, 525, 1251 567, 496, 500, 500, 500, 500, 500, 500, 502, 529, 1252 502, 523, 525, 502, 502, 502, 502, 502, 502, 495, 1253 1254 501, 501, 501, 501, 501, 501, 527, 530, 531, 529, 1255 533, 857, 536, 535, 539, 537, 501, 527, 501, 533, 1256 501, 501, 530, 534, 535, 536, 538, 531, 534, 540, 1257 541, 547, 542, 501, 548, 538, 539, 542, 501, 541, 1258 501, 545, 549, 501, 537, 501, 540, 550, 547, 548, 1259 545, 552, 553, 554, 558, 555, 550, 549, 557, 558, 1260 552, 563, 560, 561, 564, 554, 568, 565, 569, 553, 1261 555, 560, 561, 557, 570, 569, 568, 564, 571, 572, 1262 574, 575, 577, 563, 565, 572, 713, 578, 622, 574, 1263 571, 575, 713, 604, 604, 622, 570, 625, 854, 577, 1264 1265 578, 597, 597, 597, 597, 597, 597, 598, 598, 598, 1266 598, 598, 598, 600, 625, 600, 604, 624, 600, 600, 1267 600, 600, 600, 600, 603, 603, 603, 603, 603, 603, 1268 624, 605, 814, 629, 597, 599, 599, 599, 599, 599, 1269 599, 606, 621, 606, 626, 627, 606, 621, 814, 623, 1270 629, 599, 627, 599, 605, 599, 599, 603, 623, 630, 1271 621, 628, 630, 606, 631, 606, 632, 626, 599, 628, 1272 606, 633, 634, 599, 635, 599, 636, 631, 599, 637, 1273 599, 640, 637, 638, 641, 643, 633, 644, 632, 647, 1274 642, 635, 645, 648, 634, 705, 640, 649, 636, 642, 1275 1276 638, 645, 653, 643, 641, 654, 649, 656, 659, 644, 1277 667, 660, 647, 668, 671, 648, 670, 659, 660, 667, 1278 703, 705, 653, 668, 656, 670, 702, 853, 708, 671, 1279 703, 852, 654, 689, 689, 689, 689, 689, 689, 693, 1280 693, 693, 693, 693, 693, 706, 711, 702, 708, 689, 1281 707, 689, 706, 689, 689, 707, 709, 710, 715, 709, 1282 710, 714, 716, 717, 711, 716, 689, 715, 718, 721, 1283 720, 689, 693, 689, 714, 723, 689, 719, 689, 720, 1284 719, 724, 722, 725, 717, 722, 726, 727, 723, 724, 1285 735, 728, 731, 725, 734, 721, 736, 718, 738, 726, 1286 1287 728, 760, 739, 761, 757, 762, 738, 764, 727, 758, 1288 731, 739, 735, 761, 734, 731, 760, 736, 746, 746, 1289 746, 746, 746, 746, 757, 759, 758, 763, 762, 765, 1290 759, 767, 765, 764, 766, 769, 771, 773, 769, 771, 1291 773, 772, 774, 775, 763, 774, 776, 766, 772, 778, 1292 782, 746, 797, 799, 802, 807, 810, 800, 775, 767, 1293 801, 803, 804, 801, 803, 804, 806, 808, 811, 776, 1294 808, 811, 778, 782, 799, 800, 802, 812, 810, 797, 1295 812, 807, 813, 815, 806, 816, 831, 833, 832, 834, 1296 833, 813, 835, 836, 815, 832, 836, 837, 834, 840, 1297 1298 843, 816, 840, 843, 844, 845, 846, 831, 858, 855, 1299 835, 858, 859, 844, 837, 846, 835, 845, 855, 856, 1300 860, 870, 859, 862, 856, 860, 862, 863, 864, 871, 1301 863, 864, 872, 873, 874, 872, 875, 874, 878, 875, 1302 881, 870, 882, 873, 871, 885, 886, 887, 889, 888, 1303 890, 851, 891, 850, 885, 849, 848, 882, 847, 886, 1304 878, 881, 891, 842, 841, 839, 889, 838, 830, 887, 1305 888, 829, 890, 895, 895, 895, 895, 895, 895, 895, 1306 895, 895, 895, 895, 895, 895, 896, 896, 896, 896, 1307 896, 896, 896, 896, 896, 896, 896, 896, 896, 897, 1308 1309 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 1310 897, 897, 898, 828, 827, 898, 826, 898, 898, 898, 1311 898, 898, 899, 825, 824, 823, 899, 899, 899, 899, 1312 899, 899, 900, 900, 900, 900, 900, 900, 900, 900, 1313 900, 900, 900, 900, 900, 901, 822, 821, 901, 820, 1314 901, 901, 901, 901, 901, 902, 819, 902, 902, 818, 1315 902, 902, 902, 902, 902, 902, 817, 902, 903, 809, 1316 805, 903, 903, 903, 903, 903, 903, 903, 903, 798, 1317 903, 904, 904, 904, 904, 904, 904, 904, 904, 904, 1318 904, 904, 904, 904, 905, 905, 796, 905, 795, 794, 1319 1320 793, 905, 906, 792, 791, 906, 790, 906, 906, 906, 1321 906, 906, 907, 789, 907, 788, 787, 786, 907, 908, 1322 785, 908, 784, 783, 781, 908, 909, 780, 909, 779, 1323 777, 770, 909, 910, 768, 910, 756, 755, 754, 910, 1324 911, 753, 911, 752, 751, 750, 911, 912, 749, 912, 1325 748, 745, 744, 912, 913, 743, 913, 737, 733, 732, 1326 913, 914, 730, 914, 729, 712, 704, 914, 915, 701, 1327 915, 696, 694, 690, 915, 916, 680, 916, 917, 917, 1328 676, 917, 917, 917, 674, 917, 918, 918, 672, 918, 1329 919, 669, 666, 919, 665, 919, 919, 919, 919, 919, 1330 1331 920, 664, 920, 663, 662, 661, 920, 921, 658, 921, 1332 657, 655, 652, 921, 922, 651, 922, 650, 646, 619, 1333 922, 923, 615, 923, 924, 613, 924, 611, 609, 607, 1334 924, 925, 601, 925, 926, 595, 593, 926, 591, 926, 1335 926, 926, 926, 926, 927, 927, 927, 927, 927, 927, 1336 927, 927, 927, 927, 927, 927, 927, 928, 928, 928, 1337 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, 1338 929, 589, 929, 587, 585, 583, 929, 930, 581, 930, 1339 580, 579, 576, 930, 931, 573, 931, 566, 562, 559, 1340 931, 932, 556, 932, 933, 551, 933, 546, 543, 520, 1341 1342 933, 934, 516, 934, 935, 514, 935, 512, 510, 508, 1343 935, 936, 506, 936, 937, 505, 937, 504, 503, 491, 1344 937, 938, 488, 938, 939, 486, 939, 485, 484, 482, 1345 939, 940, 480, 940, 941, 477, 941, 475, 473, 471, 1346 941, 942, 467, 942, 943, 450, 943, 448, 440, 438, 1347 943, 944, 430, 944, 945, 428, 945, 426, 945, 400, 1348 945, 946, 398, 946, 396, 946, 394, 946, 947, 947, 1349 393, 947, 947, 947, 392, 947, 948, 379, 948, 376, 1350 367, 365, 948, 949, 364, 949, 360, 358, 356, 949, 1351 950, 354, 950, 350, 348, 347, 950, 951, 346, 951, 1352 1353 952, 336, 952, 321, 298, 277, 952, 953, 275, 953, 1354 954, 273, 954, 272, 271, 269, 954, 955, 268, 955, 1355 956, 263, 956, 259, 258, 254, 956, 957, 251, 957, 1356 958, 250, 239, 958, 238, 958, 958, 958, 958, 958, 1357 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 1358 959, 959, 959, 960, 231, 960, 230, 227, 217, 960, 1359 961, 215, 961, 962, 214, 962, 213, 207, 206, 962, 1360 963, 204, 963, 964, 199, 964, 178, 149, 147, 964, 1361 965, 146, 965, 966, 140, 966, 138, 136, 128, 966, 1362 967, 125, 967, 968, 124, 968, 120, 101, 98, 968, 1363 1364 969, 95, 969, 970, 93, 970, 86, 72, 70, 970, 1365 971, 66, 971, 972, 36, 972, 33, 18, 11, 972, 1366 973, 4, 973, 3, 0, 0, 973, 974, 0, 974, 1367 975, 0, 975, 0, 0, 0, 975, 976, 0, 976, 1368 977, 0, 977, 0, 977, 0, 977, 978, 0, 978, 1369 0, 0, 0, 978, 979, 0, 979, 0, 0, 0, 1370 979, 980, 0, 980, 981, 0, 981, 0, 0, 0, 1371 981, 982, 0, 982, 983, 0, 983, 0, 0, 0, 1372 983, 984, 0, 984, 985, 0, 985, 0, 0, 0, 1373 985, 986, 0, 986, 987, 0, 987, 0, 0, 0, 1374 1375 987, 988, 0, 988, 989, 0, 989, 0, 0, 0, 1376 989, 990, 0, 990, 991, 0, 0, 991, 0, 991, 1377 991, 991, 991, 991, 992, 992, 992, 992, 992, 992, 1378 992, 992, 992, 992, 992, 992, 992, 993, 0, 993, 1379 0, 0, 0, 993, 994, 0, 994, 995, 0, 995, 1380 0, 0, 0, 995, 996, 0, 996, 997, 0, 997, 1381 0, 0, 0, 997, 998, 0, 998, 999, 0, 999, 1382 0, 0, 0, 999, 1000, 0, 1000, 1001, 0, 1001, 1383 0, 0, 0, 1001, 1002, 0, 1002, 1003, 0, 1003, 1384 0, 0, 0, 1003, 1004, 0, 1004, 1005, 0, 1005, 1385 1386 0, 0, 0, 1005, 1006, 0, 1006, 1007, 0, 1007, 1387 0, 0, 0, 1007, 1008, 0, 1008, 1009, 0, 1009, 1388 0, 0, 0, 1009, 1010, 0, 1010, 0, 0, 0, 1389 1010, 1011, 0, 1011, 1012, 0, 1012, 0, 0, 0, 1390 1012, 1013, 0, 1013, 1014, 0, 1014, 0, 0, 0, 1391 1014, 1015, 0, 1015, 1016, 0, 1016, 0, 0, 0, 1392 1016, 1017, 0, 1017, 1018, 0, 1018, 1019, 0, 1019, 1393 1020, 0, 0, 1020, 0, 1020, 1020, 1020, 1020, 1020, 1394 1021, 0, 1021, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1395 1022, 1022, 1022, 1022, 1022, 1022, 1023, 0, 1023, 0, 1396 1397 0, 0, 1023, 1024, 0, 1024, 1025, 0, 1025, 0, 1398 0, 0, 1025, 1026, 0, 1026, 1027, 0, 1027, 1028, 1399 0, 1028, 1029, 0, 0, 1029, 0, 1029, 1029, 1029, 1400 1029, 1029, 1030, 0, 1030, 1031, 0, 1031, 1032, 0, 1401 1032, 1033, 0, 1033, 1034, 0, 1034, 1035, 0, 1035, 1402 1036, 0, 1036, 1037, 0, 1037, 0, 0, 0, 1037, 1403 1038, 0, 1038, 1039, 0, 1039, 0, 0, 0, 1039, 1404 1040, 0, 1040, 1041, 0, 1041, 1042, 0, 1042, 1043, 1405 0, 1043, 1044, 0, 1044, 0, 0, 0, 1044, 1045, 1406 0, 0, 1045, 0, 1045, 1045, 1045, 1045, 1045, 1046, 1407 1408 0, 1046, 1047, 0, 1047, 1048, 0, 1048, 1049, 0, 1409 1049, 0, 0, 0, 1049, 1050, 0, 1050, 0, 0, 1410 0, 1050, 1051, 0, 1051, 0, 0, 0, 1051, 1052, 1411 0, 1052, 1053, 0, 1053, 0, 0, 0, 1053, 1054, 1412 0, 1054, 0, 0, 0, 1054, 1055, 0, 1055, 0, 1413 0, 0, 1055, 1056, 0, 1056, 0, 0, 0, 1056, 1414 1057, 0, 1057, 0, 0, 0, 1057, 1058, 0, 1058, 1415 0, 0, 0, 1058, 1059, 0, 1059, 0, 0, 0, 1416 1059, 1060, 0, 1060, 0, 0, 0, 1060, 1061, 0, 1417 1061, 0, 0, 0, 1061, 1062, 0, 1062, 0, 0, 1418 1419 0, 1062, 1063, 0, 1063, 0, 0, 0, 1063, 1064, 1420 0, 1064, 0, 0, 0, 1064, 1065, 0, 1065, 0, 1421 0, 0, 1065, 1066, 0, 1066, 0, 0, 0, 1066, 1422 1067, 0, 1067, 0, 0, 0, 1067, 1068, 0, 1068, 1423 0, 0, 0, 1068, 894, 894, 894, 894, 894, 894, 1424 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1425 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1426 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1427 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1428 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1429 1430 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1431 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 1432 894, 894, 894, 894, 894, 894, 894, 894, 894, 894 1442 1433 } ; 1443 1434 1444 1435 /* Table of booleans, true if rule could match eol. */ 1445 static yyconst flex_int32_t yy_rule_can_match_eol[18 6] =1436 static yyconst flex_int32_t yy_rule_can_match_eol[184] = 1446 1437 { 0, 1447 1438 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … … 1450 1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451 1442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1453 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1444 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454 1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1455 1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1456 0, 0, 0, 0, 0, 0,};1447 0, 0, 0, 0, }; 1457 1448 1458 1449 static yy_state_type yy_last_accepting_state; … … 1482 1473 * Created On : Sat Sep 22 08:58:10 2001 1483 1474 * Last Modified By : Peter A. Buhr 1484 * Last Modified On : Tue Nov 29 11:32:00 20161485 * Update Count : 5011475 * Last Modified On : Wed Oct 26 17:32:30 2016 1476 * Update Count : 499 1486 1477 */ 1487 1478 #line 20 "lex.ll" … … 1544 1535 1545 1536 1546 #line 15 47"Parser/lex.cc"1537 #line 1538 "Parser/lex.cc" 1547 1538 1548 1539 #define INITIAL 0 … … 1739 1730 1740 1731 /* line directives */ 1741 #line 17 42"Parser/lex.cc"1732 #line 1733 "Parser/lex.cc" 1742 1733 1743 1734 if ( !(yy_init) ) … … 1793 1784 { 1794 1785 yy_current_state = (int) yy_def[yy_current_state]; 1795 if ( yy_current_state >= 905 )1786 if ( yy_current_state >= 895 ) 1796 1787 yy_c = yy_meta[(unsigned int) yy_c]; 1797 1788 } … … 1799 1790 ++yy_cp; 1800 1791 } 1801 while ( yy_base[yy_current_state] != 28 66);1792 while ( yy_base[yy_current_state] != 2845 ); 1802 1793 1803 1794 yy_find_action: … … 2215 2206 YY_RULE_SETUP 2216 2207 #line 239 "lex.ll" 2217 { NUMERIC_RETURN(ONE_T); } // CFA2208 { KEYWORD_RETURN(OTYPE); } // CFA 2218 2209 YY_BREAK 2219 2210 case 72: 2220 2211 YY_RULE_SETUP 2221 2212 #line 240 "lex.ll" 2222 { KEYWORD_RETURN( OTYPE); } // CFA2213 { KEYWORD_RETURN(REGISTER); } 2223 2214 YY_BREAK 2224 2215 case 73: 2225 2216 YY_RULE_SETUP 2226 2217 #line 241 "lex.ll" 2227 { KEYWORD_RETURN(RE GISTER); }2218 { KEYWORD_RETURN(RESTRICT); } // C99 2228 2219 YY_BREAK 2229 2220 case 74: 2230 2221 YY_RULE_SETUP 2231 2222 #line 242 "lex.ll" 2232 { KEYWORD_RETURN(RESTRICT); } // C992223 { KEYWORD_RETURN(RESTRICT); } // GCC 2233 2224 YY_BREAK 2234 2225 case 75: … … 2240 2231 YY_RULE_SETUP 2241 2232 #line 244 "lex.ll" 2242 { KEYWORD_RETURN(RE STRICT); } // GCC2233 { KEYWORD_RETURN(RETURN); } 2243 2234 YY_BREAK 2244 2235 case 77: 2245 2236 YY_RULE_SETUP 2246 2237 #line 245 "lex.ll" 2247 { KEYWORD_RETURN( RETURN); }2238 { KEYWORD_RETURN(SHORT); } 2248 2239 YY_BREAK 2249 2240 case 78: 2250 2241 YY_RULE_SETUP 2251 2242 #line 246 "lex.ll" 2252 { KEYWORD_RETURN(S HORT); }2243 { KEYWORD_RETURN(SIGNED); } 2253 2244 YY_BREAK 2254 2245 case 79: 2255 2246 YY_RULE_SETUP 2256 2247 #line 247 "lex.ll" 2257 { KEYWORD_RETURN(SIGNED); } 2248 { KEYWORD_RETURN(SIGNED); } // GCC 2258 2249 YY_BREAK 2259 2250 case 80: … … 2265 2256 YY_RULE_SETUP 2266 2257 #line 249 "lex.ll" 2267 { KEYWORD_RETURN(SI GNED); } // GCC2258 { KEYWORD_RETURN(SIZEOF); } 2268 2259 YY_BREAK 2269 2260 case 82: 2270 2261 YY_RULE_SETUP 2271 2262 #line 250 "lex.ll" 2272 { KEYWORD_RETURN(S IZEOF); }2263 { KEYWORD_RETURN(STATIC); } 2273 2264 YY_BREAK 2274 2265 case 83: 2275 2266 YY_RULE_SETUP 2276 2267 #line 251 "lex.ll" 2277 { KEYWORD_RETURN(STATIC ); }2268 { KEYWORD_RETURN(STATICASSERT); } // C11 2278 2269 YY_BREAK 2279 2270 case 84: 2280 2271 YY_RULE_SETUP 2281 2272 #line 252 "lex.ll" 2282 { KEYWORD_RETURN(ST ATICASSERT); } // C112273 { KEYWORD_RETURN(STRUCT); } 2283 2274 YY_BREAK 2284 2275 case 85: 2285 2276 YY_RULE_SETUP 2286 2277 #line 253 "lex.ll" 2287 { KEYWORD_RETURN(S TRUCT); }2278 { KEYWORD_RETURN(SWITCH); } 2288 2279 YY_BREAK 2289 2280 case 86: 2290 2281 YY_RULE_SETUP 2291 2282 #line 254 "lex.ll" 2292 { KEYWORD_RETURN( SWITCH); }2283 { KEYWORD_RETURN(THREADLOCAL); } // C11 2293 2284 YY_BREAK 2294 2285 case 87: 2295 2286 YY_RULE_SETUP 2296 2287 #line 255 "lex.ll" 2297 { KEYWORD_RETURN(THR EADLOCAL); } // C112288 { KEYWORD_RETURN(THROW); } // CFA 2298 2289 YY_BREAK 2299 2290 case 88: 2300 2291 YY_RULE_SETUP 2301 2292 #line 256 "lex.ll" 2302 { KEYWORD_RETURN(THROW ); }// CFA2293 { KEYWORD_RETURN(THROWRESUME); } // CFA 2303 2294 YY_BREAK 2304 2295 case 89: 2305 2296 YY_RULE_SETUP 2306 2297 #line 257 "lex.ll" 2307 { KEYWORD_RETURN(T HROWRESUME); }// CFA2298 { KEYWORD_RETURN(TRAIT); } // CFA 2308 2299 YY_BREAK 2309 2300 case 90: 2310 2301 YY_RULE_SETUP 2311 2302 #line 258 "lex.ll" 2312 { KEYWORD_RETURN(TR AIT); } // CFA2303 { KEYWORD_RETURN(TRY); } // CFA 2313 2304 YY_BREAK 2314 2305 case 91: 2315 2306 YY_RULE_SETUP 2316 2307 #line 259 "lex.ll" 2317 { KEYWORD_RETURN(T RY); } // CFA2308 { KEYWORD_RETURN(TYPEDEF); } 2318 2309 YY_BREAK 2319 2310 case 92: 2320 2311 YY_RULE_SETUP 2321 2312 #line 260 "lex.ll" 2322 { KEYWORD_RETURN(TYPE DEF); }2313 { KEYWORD_RETURN(TYPEOF); } // GCC 2323 2314 YY_BREAK 2324 2315 case 93: … … 2335 2326 YY_RULE_SETUP 2336 2327 #line 263 "lex.ll" 2337 { KEYWORD_RETURN( TYPEOF); } // GCC2328 { KEYWORD_RETURN(UNION); } 2338 2329 YY_BREAK 2339 2330 case 96: 2340 2331 YY_RULE_SETUP 2341 2332 #line 264 "lex.ll" 2342 { KEYWORD_RETURN(UN ION); }2333 { KEYWORD_RETURN(UNSIGNED); } 2343 2334 YY_BREAK 2344 2335 case 97: 2345 2336 YY_RULE_SETUP 2346 2337 #line 265 "lex.ll" 2347 { KEYWORD_RETURN( UNSIGNED); }2338 { KEYWORD_RETURN(VALIST); } // GCC 2348 2339 YY_BREAK 2349 2340 case 98: 2350 2341 YY_RULE_SETUP 2351 2342 #line 266 "lex.ll" 2352 { KEYWORD_RETURN(V ALIST); } // GCC2343 { KEYWORD_RETURN(VOID); } 2353 2344 YY_BREAK 2354 2345 case 99: 2355 2346 YY_RULE_SETUP 2356 2347 #line 267 "lex.ll" 2357 { KEYWORD_RETURN(VO ID); }2348 { KEYWORD_RETURN(VOLATILE); } 2358 2349 YY_BREAK 2359 2350 case 100: 2360 2351 YY_RULE_SETUP 2361 2352 #line 268 "lex.ll" 2362 { KEYWORD_RETURN(VOLATILE); } 2353 { KEYWORD_RETURN(VOLATILE); } // GCC 2363 2354 YY_BREAK 2364 2355 case 101: … … 2370 2361 YY_RULE_SETUP 2371 2362 #line 270 "lex.ll" 2372 { KEYWORD_RETURN(VOLATILE); } // GCC 2373 YY_BREAK 2363 { KEYWORD_RETURN(WHILE); } 2364 YY_BREAK 2365 /* identifier */ 2374 2366 case 103: 2375 2367 YY_RULE_SETUP 2376 #line 27 1"lex.ll"2377 { KEYWORD_RETURN(WHILE); }2368 #line 273 "lex.ll" 2369 { IDENTIFIER_RETURN(); } 2378 2370 YY_BREAK 2379 2371 case 104: 2380 2372 YY_RULE_SETUP 2381 #line 272 "lex.ll" 2382 { NUMERIC_RETURN(ZERO_T); } // CFA 2383 YY_BREAK 2384 /* identifier */ 2373 #line 274 "lex.ll" 2374 { ATTRIBUTE_RETURN(); } 2375 YY_BREAK 2385 2376 case 105: 2386 2377 YY_RULE_SETUP 2387 2378 #line 275 "lex.ll" 2379 { BEGIN BKQUOTE; } 2380 YY_BREAK 2381 case 106: 2382 YY_RULE_SETUP 2383 #line 276 "lex.ll" 2388 2384 { IDENTIFIER_RETURN(); } 2389 2385 YY_BREAK 2390 case 106:2391 YY_RULE_SETUP2392 #line 276 "lex.ll"2393 { ATTRIBUTE_RETURN(); }2394 YY_BREAK2395 2386 case 107: 2396 2387 YY_RULE_SETUP 2397 2388 #line 277 "lex.ll" 2398 { BEGIN BKQUOTE; } 2399 YY_BREAK 2389 { BEGIN 0; } 2390 YY_BREAK 2391 /* numeric constants */ 2400 2392 case 108: 2401 2393 YY_RULE_SETUP 2402 #line 2 78"lex.ll"2403 { IDENTIFIER_RETURN(); }2394 #line 280 "lex.ll" 2395 { NUMERIC_RETURN(ZERO); } // CFA 2404 2396 YY_BREAK 2405 2397 case 109: 2406 2398 YY_RULE_SETUP 2407 #line 279 "lex.ll" 2408 { BEGIN 0; } 2409 YY_BREAK 2410 /* numeric constants */ 2399 #line 281 "lex.ll" 2400 { NUMERIC_RETURN(ONE); } // CFA 2401 YY_BREAK 2411 2402 case 110: 2412 2403 YY_RULE_SETUP 2413 2404 #line 282 "lex.ll" 2414 { NUMERIC_RETURN( ZERO); } // CFA2405 { NUMERIC_RETURN(INTEGERconstant); } 2415 2406 YY_BREAK 2416 2407 case 111: 2417 2408 YY_RULE_SETUP 2418 2409 #line 283 "lex.ll" 2419 { NUMERIC_RETURN( ONE); } // CFA2410 { NUMERIC_RETURN(INTEGERconstant); } 2420 2411 YY_BREAK 2421 2412 case 112: … … 2427 2418 YY_RULE_SETUP 2428 2419 #line 285 "lex.ll" 2429 { NUMERIC_RETURN( INTEGERconstant); }2420 { NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant 2430 2421 YY_BREAK 2431 2422 case 114: 2432 2423 YY_RULE_SETUP 2433 2424 #line 286 "lex.ll" 2434 { NUMERIC_RETURN( INTEGERconstant); }2425 { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant 2435 2426 YY_BREAK 2436 2427 case 115: 2437 2428 YY_RULE_SETUP 2438 2429 #line 287 "lex.ll" 2439 { NUMERIC_RETURN( REALDECIMALconstant); } // must appear before floating_constant2430 { NUMERIC_RETURN(FLOATINGconstant); } 2440 2431 YY_BREAK 2441 2432 case 116: 2442 2433 YY_RULE_SETUP 2443 2434 #line 288 "lex.ll" 2444 { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant 2445 YY_BREAK 2435 { NUMERIC_RETURN(FLOATINGconstant); } 2436 YY_BREAK 2437 /* character constant, allows empty value */ 2446 2438 case 117: 2447 2439 YY_RULE_SETUP 2448 #line 2 89"lex.ll"2449 { NUMERIC_RETURN(FLOATINGconstant); }2440 #line 291 "lex.ll" 2441 { BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2450 2442 YY_BREAK 2451 2443 case 118: 2452 2444 YY_RULE_SETUP 2453 #line 290 "lex.ll" 2454 { NUMERIC_RETURN(FLOATINGconstant); } 2455 YY_BREAK 2456 /* character constant, allows empty value */ 2445 #line 292 "lex.ll" 2446 { strtext->append( yytext, yyleng ); } 2447 YY_BREAK 2457 2448 case 119: 2449 /* rule 119 can match eol */ 2458 2450 YY_RULE_SETUP 2459 2451 #line 293 "lex.ll" 2460 { BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); }2461 YY_BREAK2462 case 120:2463 YY_RULE_SETUP2464 #line 294 "lex.ll"2465 { strtext->append( yytext, yyleng ); }2466 YY_BREAK2467 case 121:2468 /* rule 121 can match eol */2469 YY_RULE_SETUP2470 #line 295 "lex.ll"2471 2452 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(CHARACTERconstant); } 2472 2453 YY_BREAK 2473 2454 /* ' stop highlighting */ 2474 2455 /* string constant */ 2456 case 120: 2457 YY_RULE_SETUP 2458 #line 297 "lex.ll" 2459 { BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2460 YY_BREAK 2461 case 121: 2462 YY_RULE_SETUP 2463 #line 298 "lex.ll" 2464 { strtext->append( yytext, yyleng ); } 2465 YY_BREAK 2475 2466 case 122: 2467 /* rule 122 can match eol */ 2476 2468 YY_RULE_SETUP 2477 2469 #line 299 "lex.ll" 2478 { BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2479 YY_BREAK 2470 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); } 2471 YY_BREAK 2472 /* " stop highlighting */ 2473 /* common character/string constant */ 2480 2474 case 123: 2481 2475 YY_RULE_SETUP 2482 #line 30 0"lex.ll"2483 { strtext->append( yytext, yyleng ); }2476 #line 303 "lex.ll" 2477 { rm_underscore(); strtext->append( yytext, yyleng ); } 2484 2478 YY_BREAK 2485 2479 case 124: 2486 2480 /* rule 124 can match eol */ 2487 2481 YY_RULE_SETUP 2488 #line 301 "lex.ll" 2489 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); } 2490 YY_BREAK 2491 /* " stop highlighting */ 2492 /* common character/string constant */ 2482 #line 304 "lex.ll" 2483 {} // continuation (ALSO HANDLED BY CPP) 2484 YY_BREAK 2493 2485 case 125: 2494 2486 YY_RULE_SETUP 2495 2487 #line 305 "lex.ll" 2496 { rm_underscore(); strtext->append( yytext, yyleng ); } 2497 YY_BREAK 2488 { strtext->append( yytext, yyleng ); } // unknown escape character 2489 YY_BREAK 2490 /* punctuation */ 2498 2491 case 126: 2499 /* rule 126 can match eol */ 2500 YY_RULE_SETUP 2501 #line 306 "lex.ll" 2502 {} // continuation (ALSO HANDLED BY CPP) 2492 YY_RULE_SETUP 2493 #line 308 "lex.ll" 2494 { ASCIIOP_RETURN(); } 2503 2495 YY_BREAK 2504 2496 case 127: 2505 2497 YY_RULE_SETUP 2506 #line 307 "lex.ll" 2507 { strtext->append( yytext, yyleng ); } // unknown escape character 2508 YY_BREAK 2509 /* punctuation */ 2498 #line 309 "lex.ll" 2499 { ASCIIOP_RETURN(); } 2500 YY_BREAK 2510 2501 case 128: 2511 2502 YY_RULE_SETUP … … 2531 2522 YY_RULE_SETUP 2532 2523 #line 314 "lex.ll" 2533 { ASCIIOP_RETURN(); } 2524 { ASCIIOP_RETURN(); } // also operator 2534 2525 YY_BREAK 2535 2526 case 133: … … 2541 2532 YY_RULE_SETUP 2542 2533 #line 316 "lex.ll" 2534 { ASCIIOP_RETURN(); } 2535 YY_BREAK 2536 case 135: 2537 YY_RULE_SETUP 2538 #line 317 "lex.ll" 2543 2539 { ASCIIOP_RETURN(); } // also operator 2544 2540 YY_BREAK 2545 case 135: 2546 YY_RULE_SETUP 2547 #line 317 "lex.ll" 2541 case 136: 2542 YY_RULE_SETUP 2543 #line 318 "lex.ll" 2544 { NAMEDOP_RETURN(ELLIPSIS); } 2545 YY_BREAK 2546 /* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */ 2547 case 137: 2548 YY_RULE_SETUP 2549 #line 321 "lex.ll" 2550 { RETURN_VAL('['); } 2551 YY_BREAK 2552 case 138: 2553 YY_RULE_SETUP 2554 #line 322 "lex.ll" 2555 { RETURN_VAL(']'); } 2556 YY_BREAK 2557 case 139: 2558 YY_RULE_SETUP 2559 #line 323 "lex.ll" 2560 { RETURN_VAL('{'); } 2561 YY_BREAK 2562 case 140: 2563 YY_RULE_SETUP 2564 #line 324 "lex.ll" 2565 { RETURN_VAL('}'); } 2566 YY_BREAK 2567 /* operators */ 2568 case 141: 2569 YY_RULE_SETUP 2570 #line 327 "lex.ll" 2548 2571 { ASCIIOP_RETURN(); } 2549 2572 YY_BREAK 2550 case 1 36:2551 YY_RULE_SETUP 2552 #line 3 18 "lex.ll"2573 case 142: 2574 YY_RULE_SETUP 2575 #line 328 "lex.ll" 2553 2576 { ASCIIOP_RETURN(); } 2554 2577 YY_BREAK 2555 case 137:2556 YY_RULE_SETUP2557 #line 319 "lex.ll"2558 { ASCIIOP_RETURN(); } // also operator2559 YY_BREAK2560 case 138:2561 YY_RULE_SETUP2562 #line 320 "lex.ll"2563 { NAMEDOP_RETURN(ELLIPSIS); }2564 YY_BREAK2565 /* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */2566 case 139:2567 YY_RULE_SETUP2568 #line 323 "lex.ll"2569 { RETURN_VAL('['); }2570 YY_BREAK2571 case 140:2572 YY_RULE_SETUP2573 #line 324 "lex.ll"2574 { RETURN_VAL(']'); }2575 YY_BREAK2576 case 141:2577 YY_RULE_SETUP2578 #line 325 "lex.ll"2579 { RETURN_VAL('{'); }2580 YY_BREAK2581 case 142:2582 YY_RULE_SETUP2583 #line 326 "lex.ll"2584 { RETURN_VAL('}'); }2585 YY_BREAK2586 /* operators */2587 2578 case 143: 2588 2579 YY_RULE_SETUP … … 2647 2638 case 155: 2648 2639 YY_RULE_SETUP 2649 #line 34 1"lex.ll"2650 { ASCIIOP_RETURN(); }2640 #line 342 "lex.ll" 2641 { NAMEDOP_RETURN(ICR); } 2651 2642 YY_BREAK 2652 2643 case 156: 2653 2644 YY_RULE_SETUP 2654 #line 34 2"lex.ll"2655 { ASCIIOP_RETURN(); }2645 #line 343 "lex.ll" 2646 { NAMEDOP_RETURN(DECR); } 2656 2647 YY_BREAK 2657 2648 case 157: 2658 2649 YY_RULE_SETUP 2659 2650 #line 344 "lex.ll" 2660 { NAMEDOP_RETURN( ICR); }2651 { NAMEDOP_RETURN(EQ); } 2661 2652 YY_BREAK 2662 2653 case 158: 2663 2654 YY_RULE_SETUP 2664 2655 #line 345 "lex.ll" 2665 { NAMEDOP_RETURN( DECR); }2656 { NAMEDOP_RETURN(NE); } 2666 2657 YY_BREAK 2667 2658 case 159: 2668 2659 YY_RULE_SETUP 2669 2660 #line 346 "lex.ll" 2670 { NAMEDOP_RETURN( EQ); }2661 { NAMEDOP_RETURN(LS); } 2671 2662 YY_BREAK 2672 2663 case 160: 2673 2664 YY_RULE_SETUP 2674 2665 #line 347 "lex.ll" 2675 { NAMEDOP_RETURN( NE); }2666 { NAMEDOP_RETURN(RS); } 2676 2667 YY_BREAK 2677 2668 case 161: 2678 2669 YY_RULE_SETUP 2679 2670 #line 348 "lex.ll" 2680 { NAMEDOP_RETURN(L S); }2671 { NAMEDOP_RETURN(LE); } 2681 2672 YY_BREAK 2682 2673 case 162: 2683 2674 YY_RULE_SETUP 2684 2675 #line 349 "lex.ll" 2685 { NAMEDOP_RETURN( RS); }2676 { NAMEDOP_RETURN(GE); } 2686 2677 YY_BREAK 2687 2678 case 163: 2688 2679 YY_RULE_SETUP 2689 2680 #line 350 "lex.ll" 2690 { NAMEDOP_RETURN( LE); }2681 { NAMEDOP_RETURN(ANDAND); } 2691 2682 YY_BREAK 2692 2683 case 164: 2693 2684 YY_RULE_SETUP 2694 2685 #line 351 "lex.ll" 2695 { NAMEDOP_RETURN( GE); }2686 { NAMEDOP_RETURN(OROR); } 2696 2687 YY_BREAK 2697 2688 case 165: 2698 2689 YY_RULE_SETUP 2699 2690 #line 352 "lex.ll" 2700 { NAMEDOP_RETURN(A NDAND); }2691 { NAMEDOP_RETURN(ARROW); } 2701 2692 YY_BREAK 2702 2693 case 166: 2703 2694 YY_RULE_SETUP 2704 2695 #line 353 "lex.ll" 2705 { NAMEDOP_RETURN( OROR); }2696 { NAMEDOP_RETURN(PLUSassign); } 2706 2697 YY_BREAK 2707 2698 case 167: 2708 2699 YY_RULE_SETUP 2709 2700 #line 354 "lex.ll" 2710 { NAMEDOP_RETURN( ARROW); }2701 { NAMEDOP_RETURN(MINUSassign); } 2711 2702 YY_BREAK 2712 2703 case 168: 2713 2704 YY_RULE_SETUP 2714 2705 #line 355 "lex.ll" 2715 { NAMEDOP_RETURN( PLUSassign); }2706 { NAMEDOP_RETURN(MULTassign); } 2716 2707 YY_BREAK 2717 2708 case 169: 2718 2709 YY_RULE_SETUP 2719 2710 #line 356 "lex.ll" 2720 { NAMEDOP_RETURN( MINUSassign); }2711 { NAMEDOP_RETURN(DIVassign); } 2721 2712 YY_BREAK 2722 2713 case 170: 2723 2714 YY_RULE_SETUP 2724 2715 #line 357 "lex.ll" 2725 { NAMEDOP_RETURN(M ULTassign); }2716 { NAMEDOP_RETURN(MODassign); } 2726 2717 YY_BREAK 2727 2718 case 171: 2728 2719 YY_RULE_SETUP 2729 2720 #line 358 "lex.ll" 2730 { NAMEDOP_RETURN( DIVassign); }2721 { NAMEDOP_RETURN(ANDassign); } 2731 2722 YY_BREAK 2732 2723 case 172: 2733 2724 YY_RULE_SETUP 2734 2725 #line 359 "lex.ll" 2735 { NAMEDOP_RETURN( MODassign); }2726 { NAMEDOP_RETURN(ORassign); } 2736 2727 YY_BREAK 2737 2728 case 173: 2738 2729 YY_RULE_SETUP 2739 2730 #line 360 "lex.ll" 2740 { NAMEDOP_RETURN( ANDassign); }2731 { NAMEDOP_RETURN(ERassign); } 2741 2732 YY_BREAK 2742 2733 case 174: 2743 2734 YY_RULE_SETUP 2744 2735 #line 361 "lex.ll" 2745 { NAMEDOP_RETURN( ORassign); }2736 { NAMEDOP_RETURN(LSassign); } 2746 2737 YY_BREAK 2747 2738 case 175: 2748 2739 YY_RULE_SETUP 2749 2740 #line 362 "lex.ll" 2750 { NAMEDOP_RETURN( ERassign); }2741 { NAMEDOP_RETURN(RSassign); } 2751 2742 YY_BREAK 2752 2743 case 176: 2753 2744 YY_RULE_SETUP 2754 #line 363 "lex.ll" 2755 { NAMEDOP_RETURN(LSassign); } 2756 YY_BREAK 2745 #line 364 "lex.ll" 2746 { NAMEDOP_RETURN(ATassign); } // CFA 2747 YY_BREAK 2748 /* CFA, operator identifier */ 2757 2749 case 177: 2758 2750 YY_RULE_SETUP 2759 #line 36 4"lex.ll"2760 { NAMEDOP_RETURN(RSassign); }2751 #line 367 "lex.ll" 2752 { IDENTIFIER_RETURN(); } // unary 2761 2753 YY_BREAK 2762 2754 case 178: 2763 2755 YY_RULE_SETUP 2764 #line 366 "lex.ll" 2765 { NAMEDOP_RETURN(ATassign); } // CFA 2766 YY_BREAK 2767 /* CFA, operator identifier */ 2756 #line 368 "lex.ll" 2757 { IDENTIFIER_RETURN(); } 2758 YY_BREAK 2768 2759 case 179: 2769 2760 YY_RULE_SETUP 2770 2761 #line 369 "lex.ll" 2771 { IDENTIFIER_RETURN(); } // unary2762 { IDENTIFIER_RETURN(); } 2772 2763 YY_BREAK 2773 2764 case 180: 2774 2765 YY_RULE_SETUP 2775 2766 #line 370 "lex.ll" 2776 { IDENTIFIER_RETURN(); }2777 YY_BREAK2778 case 181:2779 YY_RULE_SETUP2780 #line 371 "lex.ll"2781 { IDENTIFIER_RETURN(); }2782 YY_BREAK2783 case 182:2784 YY_RULE_SETUP2785 #line 372 "lex.ll"2786 2767 { IDENTIFIER_RETURN(); } // binary 2787 2768 YY_BREAK … … 2812 2793 an argument list. 2813 2794 */ 2814 case 18 3:2815 YY_RULE_SETUP 2816 #line 39 9"lex.ll"2795 case 181: 2796 YY_RULE_SETUP 2797 #line 397 "lex.ll" 2817 2798 { 2818 2799 // 1 or 2 character unary operator ? … … 2827 2808 YY_BREAK 2828 2809 /* unknown characters */ 2829 case 184: 2810 case 182: 2811 YY_RULE_SETUP 2812 #line 409 "lex.ll" 2813 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); } 2814 YY_BREAK 2815 case 183: 2830 2816 YY_RULE_SETUP 2831 2817 #line 411 "lex.ll" 2832 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }2833 YY_BREAK2834 case 185:2835 YY_RULE_SETUP2836 #line 413 "lex.ll"2837 2818 ECHO; 2838 2819 YY_BREAK 2839 #line 28 40"Parser/lex.cc"2820 #line 2821 "Parser/lex.cc" 2840 2821 case YY_STATE_EOF(INITIAL): 2841 2822 case YY_STATE_EOF(COMMENT): … … 3134 3115 { 3135 3116 yy_current_state = (int) yy_def[yy_current_state]; 3136 if ( yy_current_state >= 905 )3117 if ( yy_current_state >= 895 ) 3137 3118 yy_c = yy_meta[(unsigned int) yy_c]; 3138 3119 } … … 3162 3143 { 3163 3144 yy_current_state = (int) yy_def[yy_current_state]; 3164 if ( yy_current_state >= 905 )3145 if ( yy_current_state >= 895 ) 3165 3146 yy_c = yy_meta[(unsigned int) yy_c]; 3166 3147 } 3167 3148 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3168 yy_is_jam = (yy_current_state == 904);3149 yy_is_jam = (yy_current_state == 894); 3169 3150 3170 3151 return yy_is_jam ? 0 : yy_current_state; … … 3812 3793 #define YYTABLES_NAME "yytables" 3813 3794 3814 #line 41 3"lex.ll"3795 #line 411 "lex.ll" 3815 3796 3816 3797 -
src/Parser/lex.ll
r66f8528 r5802a4f 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Tue Nov 29 11:32:00 201613 * Update Count : 50112 * Last Modified On : Wed Oct 26 17:32:30 2016 13 * Update Count : 499 14 14 */ 15 15 … … 237 237 _Noreturn { KEYWORD_RETURN(NORETURN); } // C11 238 238 __builtin_offsetof { KEYWORD_RETURN(OFFSETOF); } // GCC 239 one_t { NUMERIC_RETURN(ONE_T); } // CFA240 239 otype { KEYWORD_RETURN(OTYPE); } // CFA 241 240 register { KEYWORD_RETURN(REGISTER); } … … 270 269 __volatile__ { KEYWORD_RETURN(VOLATILE); } // GCC 271 270 while { KEYWORD_RETURN(WHILE); } 272 zero_t { NUMERIC_RETURN(ZERO_T); } // CFA273 271 274 272 /* identifier */ -
src/Parser/parser.cc
r66f8528 r5802a4f 145 145 SIGNED = 277, 146 146 UNSIGNED = 278, 147 ZERO_T = 279, 148 ONE_T = 280, 149 VALIST = 281, 150 BOOL = 282, 151 COMPLEX = 283, 152 IMAGINARY = 284, 153 TYPEOF = 285, 154 LABEL = 286, 155 ENUM = 287, 156 STRUCT = 288, 157 UNION = 289, 158 OTYPE = 290, 159 FTYPE = 291, 160 DTYPE = 292, 161 TRAIT = 293, 162 SIZEOF = 294, 163 OFFSETOF = 295, 164 ATTRIBUTE = 296, 165 EXTENSION = 297, 166 IF = 298, 167 ELSE = 299, 168 SWITCH = 300, 169 CASE = 301, 170 DEFAULT = 302, 171 DO = 303, 172 WHILE = 304, 173 FOR = 305, 174 BREAK = 306, 175 CONTINUE = 307, 176 GOTO = 308, 177 RETURN = 309, 178 CHOOSE = 310, 179 DISABLE = 311, 180 ENABLE = 312, 181 FALLTHRU = 313, 182 TRY = 314, 183 CATCH = 315, 184 CATCHRESUME = 316, 185 FINALLY = 317, 186 THROW = 318, 187 THROWRESUME = 319, 188 AT = 320, 189 ASM = 321, 190 ALIGNAS = 322, 191 ALIGNOF = 323, 192 ATOMIC = 324, 193 GENERIC = 325, 194 NORETURN = 326, 195 STATICASSERT = 327, 196 THREADLOCAL = 328, 197 IDENTIFIER = 329, 198 QUOTED_IDENTIFIER = 330, 199 TYPEDEFname = 331, 200 TYPEGENname = 332, 201 ATTR_IDENTIFIER = 333, 202 ATTR_TYPEDEFname = 334, 203 ATTR_TYPEGENname = 335, 204 INTEGERconstant = 336, 205 CHARACTERconstant = 337, 206 STRINGliteral = 338, 207 REALDECIMALconstant = 339, 208 REALFRACTIONconstant = 340, 209 FLOATINGconstant = 341, 210 ZERO = 342, 211 ONE = 343, 212 ARROW = 344, 213 ICR = 345, 214 DECR = 346, 215 LS = 347, 216 RS = 348, 217 LE = 349, 218 GE = 350, 219 EQ = 351, 220 NE = 352, 221 ANDAND = 353, 222 OROR = 354, 223 ELLIPSIS = 355, 224 MULTassign = 356, 225 DIVassign = 357, 226 MODassign = 358, 227 PLUSassign = 359, 228 MINUSassign = 360, 229 LSassign = 361, 230 RSassign = 362, 231 ANDassign = 363, 232 ERassign = 364, 233 ORassign = 365, 234 ATassign = 366, 235 THEN = 367 147 VALIST = 279, 148 BOOL = 280, 149 COMPLEX = 281, 150 IMAGINARY = 282, 151 TYPEOF = 283, 152 LABEL = 284, 153 ENUM = 285, 154 STRUCT = 286, 155 UNION = 287, 156 OTYPE = 288, 157 FTYPE = 289, 158 DTYPE = 290, 159 TRAIT = 291, 160 SIZEOF = 292, 161 OFFSETOF = 293, 162 ATTRIBUTE = 294, 163 EXTENSION = 295, 164 IF = 296, 165 ELSE = 297, 166 SWITCH = 298, 167 CASE = 299, 168 DEFAULT = 300, 169 DO = 301, 170 WHILE = 302, 171 FOR = 303, 172 BREAK = 304, 173 CONTINUE = 305, 174 GOTO = 306, 175 RETURN = 307, 176 CHOOSE = 308, 177 DISABLE = 309, 178 ENABLE = 310, 179 FALLTHRU = 311, 180 TRY = 312, 181 CATCH = 313, 182 CATCHRESUME = 314, 183 FINALLY = 315, 184 THROW = 316, 185 THROWRESUME = 317, 186 AT = 318, 187 ASM = 319, 188 ALIGNAS = 320, 189 ALIGNOF = 321, 190 ATOMIC = 322, 191 GENERIC = 323, 192 NORETURN = 324, 193 STATICASSERT = 325, 194 THREADLOCAL = 326, 195 IDENTIFIER = 327, 196 QUOTED_IDENTIFIER = 328, 197 TYPEDEFname = 329, 198 TYPEGENname = 330, 199 ATTR_IDENTIFIER = 331, 200 ATTR_TYPEDEFname = 332, 201 ATTR_TYPEGENname = 333, 202 INTEGERconstant = 334, 203 CHARACTERconstant = 335, 204 STRINGliteral = 336, 205 REALDECIMALconstant = 337, 206 REALFRACTIONconstant = 338, 207 FLOATINGconstant = 339, 208 ZERO = 340, 209 ONE = 341, 210 ARROW = 342, 211 ICR = 343, 212 DECR = 344, 213 LS = 345, 214 RS = 346, 215 LE = 347, 216 GE = 348, 217 EQ = 349, 218 NE = 350, 219 ANDAND = 351, 220 OROR = 352, 221 ELLIPSIS = 353, 222 MULTassign = 354, 223 DIVassign = 355, 224 MODassign = 356, 225 PLUSassign = 357, 226 MINUSassign = 358, 227 LSassign = 359, 228 RSassign = 360, 229 ANDassign = 361, 230 ERassign = 362, 231 ORassign = 363, 232 ATassign = 364, 233 THEN = 365 236 234 }; 237 235 #endif … … 258 256 #define SIGNED 277 259 257 #define UNSIGNED 278 260 #define ZERO_T 279 261 #define ONE_T 280 262 #define VALIST 281 263 #define BOOL 282 264 #define COMPLEX 283 265 #define IMAGINARY 284 266 #define TYPEOF 285 267 #define LABEL 286 268 #define ENUM 287 269 #define STRUCT 288 270 #define UNION 289 271 #define OTYPE 290 272 #define FTYPE 291 273 #define DTYPE 292 274 #define TRAIT 293 275 #define SIZEOF 294 276 #define OFFSETOF 295 277 #define ATTRIBUTE 296 278 #define EXTENSION 297 279 #define IF 298 280 #define ELSE 299 281 #define SWITCH 300 282 #define CASE 301 283 #define DEFAULT 302 284 #define DO 303 285 #define WHILE 304 286 #define FOR 305 287 #define BREAK 306 288 #define CONTINUE 307 289 #define GOTO 308 290 #define RETURN 309 291 #define CHOOSE 310 292 #define DISABLE 311 293 #define ENABLE 312 294 #define FALLTHRU 313 295 #define TRY 314 296 #define CATCH 315 297 #define CATCHRESUME 316 298 #define FINALLY 317 299 #define THROW 318 300 #define THROWRESUME 319 301 #define AT 320 302 #define ASM 321 303 #define ALIGNAS 322 304 #define ALIGNOF 323 305 #define ATOMIC 324 306 #define GENERIC 325 307 #define NORETURN 326 308 #define STATICASSERT 327 309 #define THREADLOCAL 328 310 #define IDENTIFIER 329 311 #define QUOTED_IDENTIFIER 330 312 #define TYPEDEFname 331 313 #define TYPEGENname 332 314 #define ATTR_IDENTIFIER 333 315 #define ATTR_TYPEDEFname 334 316 #define ATTR_TYPEGENname 335 317 #define INTEGERconstant 336 318 #define CHARACTERconstant 337 319 #define STRINGliteral 338 320 #define REALDECIMALconstant 339 321 #define REALFRACTIONconstant 340 322 #define FLOATINGconstant 341 323 #define ZERO 342 324 #define ONE 343 325 #define ARROW 344 326 #define ICR 345 327 #define DECR 346 328 #define LS 347 329 #define RS 348 330 #define LE 349 331 #define GE 350 332 #define EQ 351 333 #define NE 352 334 #define ANDAND 353 335 #define OROR 354 336 #define ELLIPSIS 355 337 #define MULTassign 356 338 #define DIVassign 357 339 #define MODassign 358 340 #define PLUSassign 359 341 #define MINUSassign 360 342 #define LSassign 361 343 #define RSassign 362 344 #define ANDassign 363 345 #define ERassign 364 346 #define ORassign 365 347 #define ATassign 366 348 #define THEN 367 258 #define VALIST 279 259 #define BOOL 280 260 #define COMPLEX 281 261 #define IMAGINARY 282 262 #define TYPEOF 283 263 #define LABEL 284 264 #define ENUM 285 265 #define STRUCT 286 266 #define UNION 287 267 #define OTYPE 288 268 #define FTYPE 289 269 #define DTYPE 290 270 #define TRAIT 291 271 #define SIZEOF 292 272 #define OFFSETOF 293 273 #define ATTRIBUTE 294 274 #define EXTENSION 295 275 #define IF 296 276 #define ELSE 297 277 #define SWITCH 298 278 #define CASE 299 279 #define DEFAULT 300 280 #define DO 301 281 #define WHILE 302 282 #define FOR 303 283 #define BREAK 304 284 #define CONTINUE 305 285 #define GOTO 306 286 #define RETURN 307 287 #define CHOOSE 308 288 #define DISABLE 309 289 #define ENABLE 310 290 #define FALLTHRU 311 291 #define TRY 312 292 #define CATCH 313 293 #define CATCHRESUME 314 294 #define FINALLY 315 295 #define THROW 316 296 #define THROWRESUME 317 297 #define AT 318 298 #define ASM 319 299 #define ALIGNAS 320 300 #define ALIGNOF 321 301 #define ATOMIC 322 302 #define GENERIC 323 303 #define NORETURN 324 304 #define STATICASSERT 325 305 #define THREADLOCAL 326 306 #define IDENTIFIER 327 307 #define QUOTED_IDENTIFIER 328 308 #define TYPEDEFname 329 309 #define TYPEGENname 330 310 #define ATTR_IDENTIFIER 331 311 #define ATTR_TYPEDEFname 332 312 #define ATTR_TYPEGENname 333 313 #define INTEGERconstant 334 314 #define CHARACTERconstant 335 315 #define STRINGliteral 336 316 #define REALDECIMALconstant 337 317 #define REALFRACTIONconstant 338 318 #define FLOATINGconstant 339 319 #define ZERO 340 320 #define ONE 341 321 #define ARROW 342 322 #define ICR 343 323 #define DECR 344 324 #define LS 345 325 #define RS 346 326 #define LE 347 327 #define GE 348 328 #define EQ 349 329 #define NE 350 330 #define ANDAND 351 331 #define OROR 352 332 #define ELLIPSIS 353 333 #define MULTassign 354 334 #define DIVassign 355 335 #define MODassign 356 336 #define PLUSassign 357 337 #define MINUSassign 358 338 #define LSassign 359 339 #define RSassign 360 340 #define ANDassign 361 341 #define ERassign 362 342 #define ORassign 363 343 #define ATassign 364 344 #define THEN 365 349 345 350 346 … … 376 372 377 373 /* Line 293 of yacc.c */ 378 #line 37 9"Parser/parser.cc"374 #line 375 "Parser/parser.cc" 379 375 } YYSTYPE; 380 376 # define YYSTYPE_IS_TRIVIAL 1 … … 388 384 389 385 /* Line 343 of yacc.c */ 390 #line 3 91"Parser/parser.cc"386 #line 387 "Parser/parser.cc" 391 387 392 388 #ifdef short … … 605 601 606 602 /* YYFINAL -- State number of the termination state. */ 607 #define YYFINAL 2 51603 #define YYFINAL 249 608 604 /* YYLAST -- Last index in YYTABLE. */ 609 #define YYLAST 10 624605 #define YYLAST 10266 610 606 611 607 /* YYNTOKENS -- Number of terminals. */ 612 #define YYNTOKENS 13 7608 #define YYNTOKENS 135 613 609 /* YYNNTS -- Number of nonterminals. */ 614 610 #define YYNNTS 243 615 611 /* YYNRULES -- Number of rules. */ 616 #define YYNRULES 75 7612 #define YYNRULES 755 617 613 /* YYNRULES -- Number of states. */ 618 #define YYNSTATES 15 40614 #define YYNSTATES 1538 619 615 620 616 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 621 617 #define YYUNDEFTOK 2 622 #define YYMAXUTOK 36 7618 #define YYMAXUTOK 365 623 619 624 620 #define YYTRANSLATE(YYX) \ … … 631 627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 632 628 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 633 2, 2, 2, 12 5, 2, 2, 2, 128, 122, 2,634 11 3, 114, 121, 123, 120, 124, 117, 127, 2, 2,635 2, 2, 2, 2, 2, 2, 2, 2, 13 4, 136,636 12 9, 135, 130, 133, 2, 2, 2, 2, 2, 2,629 2, 2, 2, 123, 2, 2, 2, 126, 120, 2, 630 111, 112, 119, 121, 118, 122, 115, 125, 2, 2, 631 2, 2, 2, 2, 2, 2, 2, 2, 132, 134, 632 127, 133, 128, 131, 2, 2, 2, 2, 2, 2, 637 633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 638 634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 639 2, 11 5, 2, 116, 131, 2, 2, 2, 2, 2,635 2, 113, 2, 114, 129, 2, 2, 2, 2, 2, 640 636 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 641 637 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 642 2, 2, 2, 11 8, 132, 119, 126, 2, 2, 2,638 2, 2, 2, 116, 130, 117, 124, 2, 2, 2, 643 639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 644 640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 664 660 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 665 661 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 666 105, 106, 107, 108, 109, 110 , 111, 112662 105, 106, 107, 108, 109, 110 667 663 }; 668 664 … … 705 701 1119, 1125, 1127, 1130, 1134, 1136, 1139, 1141, 1143, 1145, 706 702 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 707 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1183, 118 5,708 118 7, 1190, 1193, 1197, 1201, 1203, 1207, 1209, 1212, 1215,709 12 18, 1223, 1228, 1233, 1238, 1240, 1243, 1246, 1250, 1252,710 125 5, 1258, 1260, 1263, 1266, 1270, 1272, 1275, 1278, 1280,711 128 2, 1287, 1290, 1291, 1298, 1306, 1309, 1312, 1315, 1316,712 13 19, 1322, 1326, 1329, 1333, 1335, 1338, 1342, 1345, 1348,713 135 3, 1354, 1356, 1359, 1362, 1364, 1365, 1367, 1370, 1373,714 1379, 138 2, 1383, 1391, 1394, 1399, 1400, 1403, 1404, 1406,715 14 08, 1410, 1416, 1422, 1428, 1430, 1436, 1442, 1452, 1454,716 14 60, 1461, 1463, 1465, 1471, 1473, 1475, 1481, 1487, 1489,717 149 3, 1497, 1502, 1504, 1506, 1508, 1510, 1513, 1515, 1519,718 152 3, 1525, 1528, 1530, 1534, 1536, 1538, 1540, 1542, 1544,719 1546, 1548, 1550, 1552, 155 4, 1556, 1559, 1561, 1563, 1565,720 1568, 15 69, 1572, 1575, 1577, 1582, 1583, 1585, 1588, 1592,721 159 7, 1600, 1603, 1605, 1608, 1611, 1617, 1623, 1631, 1638,722 164 0, 1643, 1646, 1650, 1652, 1655, 1658, 1663, 1666, 1671,723 167 2, 1677, 1680, 1682, 1684, 1686, 1687, 1690, 1696, 1702,724 1716, 17 18, 1720, 1724, 1728, 1731, 1735, 1739, 1742, 1747,725 17 49, 1756, 1766, 1767, 1779, 1781, 1785, 1789, 1793, 1795,726 1 797, 1803, 1806, 1812, 1813, 1815, 1817, 1821, 1822, 1824,727 1826, 182 8, 1830, 1831, 1838, 1841, 1843, 1846, 1851, 1854,728 18 58, 1862, 1866, 1871, 1877, 1883, 1889, 1896, 1898, 1900,729 190 2, 1906, 1907, 1913, 1914, 1916, 1918, 1921, 1928, 1930,730 193 4, 1935, 1937, 1942, 1944, 1946, 1948, 1950, 1953, 1955,731 195 8, 1961, 1963, 1967, 1970, 1974, 1978, 1981, 1986, 1991,732 1995, 2004, 2008, 2011, 2013, 2016, 2023, 2032, 2036, 2039,733 204 3, 2047, 2052, 2057, 2061, 2063, 2065, 2067, 2072, 2079,734 208 3, 2086, 2090, 2094, 2099, 2104, 2108, 2111, 2113, 2116,735 21 19, 2121, 2125, 2128, 2132, 2136, 2139, 2144, 2149, 2153,736 216 0, 2169, 2173, 2176, 2178, 2181, 2184, 2187, 2191, 2195,737 2 198, 2203, 2208, 2212, 2219, 2228, 2232, 2235, 2237, 2240,738 2243, 224 5, 2247, 2250, 2254, 2258, 2261, 2266, 2273, 2282,739 228 4, 2287, 2290, 2292, 2295, 2298, 2302, 2306, 2308, 2313,740 23 18, 2322, 2328, 2337, 2341, 2344, 2348, 2350, 2356, 2362,741 23 69, 2376, 2378, 2381, 2384, 2386, 2389, 2392, 2396, 2400,742 240 2, 2407, 2412, 2416, 2422, 2431, 2435, 2437, 2440, 2442,743 24 45, 2452, 2458, 2465, 2473, 2481, 2483, 2486, 2489, 2491,744 249 4, 2497, 2501, 2505, 2507, 2512, 2517, 2521, 2530, 2534,745 253 6, 2538, 2541, 2543, 2545, 2548, 2552, 2555, 2559, 2562,746 256 6, 2570, 2573, 2578, 2582, 2585, 2589, 2592, 2597, 2601,747 26 04, 2611, 2618, 2625, 2633, 2635, 2638, 2640, 2642, 2644,748 26 47, 2651, 2654, 2658, 2661, 2665, 2669, 2674, 2677, 2681,749 26 86, 2689, 2695, 2702, 2709, 2710, 2712, 2713703 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1186, 704 1189, 1193, 1197, 1199, 1203, 1205, 1208, 1211, 1214, 1219, 705 1224, 1229, 1234, 1236, 1239, 1242, 1246, 1248, 1251, 1254, 706 1256, 1259, 1262, 1266, 1268, 1271, 1274, 1276, 1278, 1283, 707 1286, 1287, 1294, 1302, 1305, 1308, 1311, 1312, 1315, 1318, 708 1322, 1325, 1329, 1331, 1334, 1338, 1341, 1344, 1349, 1350, 709 1352, 1355, 1358, 1360, 1361, 1363, 1366, 1369, 1375, 1378, 710 1379, 1387, 1390, 1395, 1396, 1399, 1400, 1402, 1404, 1406, 711 1412, 1418, 1424, 1426, 1432, 1438, 1448, 1450, 1456, 1457, 712 1459, 1461, 1467, 1469, 1471, 1477, 1483, 1485, 1489, 1493, 713 1498, 1500, 1502, 1504, 1506, 1509, 1511, 1515, 1519, 1521, 714 1524, 1526, 1530, 1532, 1534, 1536, 1538, 1540, 1542, 1544, 715 1546, 1548, 1550, 1552, 1555, 1557, 1559, 1561, 1564, 1565, 716 1568, 1571, 1573, 1578, 1579, 1581, 1584, 1588, 1593, 1596, 717 1599, 1601, 1604, 1607, 1613, 1619, 1627, 1634, 1636, 1639, 718 1642, 1646, 1648, 1651, 1654, 1659, 1662, 1667, 1668, 1673, 719 1676, 1678, 1680, 1682, 1683, 1686, 1692, 1698, 1712, 1714, 720 1716, 1720, 1724, 1727, 1731, 1735, 1738, 1743, 1745, 1752, 721 1762, 1763, 1775, 1777, 1781, 1785, 1789, 1791, 1793, 1799, 722 1802, 1808, 1809, 1811, 1813, 1817, 1818, 1820, 1822, 1824, 723 1826, 1827, 1834, 1837, 1839, 1842, 1847, 1850, 1854, 1858, 724 1862, 1867, 1873, 1879, 1885, 1892, 1894, 1896, 1898, 1902, 725 1903, 1909, 1910, 1912, 1914, 1917, 1924, 1926, 1930, 1931, 726 1933, 1938, 1940, 1942, 1944, 1946, 1949, 1951, 1954, 1957, 727 1959, 1963, 1966, 1970, 1974, 1977, 1982, 1987, 1991, 2000, 728 2004, 2007, 2009, 2012, 2019, 2028, 2032, 2035, 2039, 2043, 729 2048, 2053, 2057, 2059, 2061, 2063, 2068, 2075, 2079, 2082, 730 2086, 2090, 2095, 2100, 2104, 2107, 2109, 2112, 2115, 2117, 731 2121, 2124, 2128, 2132, 2135, 2140, 2145, 2149, 2156, 2165, 732 2169, 2172, 2174, 2177, 2180, 2183, 2187, 2191, 2194, 2199, 733 2204, 2208, 2215, 2224, 2228, 2231, 2233, 2236, 2239, 2241, 734 2243, 2246, 2250, 2254, 2257, 2262, 2269, 2278, 2280, 2283, 735 2286, 2288, 2291, 2294, 2298, 2302, 2304, 2309, 2314, 2318, 736 2324, 2333, 2337, 2340, 2344, 2346, 2352, 2358, 2365, 2372, 737 2374, 2377, 2380, 2382, 2385, 2388, 2392, 2396, 2398, 2403, 738 2408, 2412, 2418, 2427, 2431, 2433, 2436, 2438, 2441, 2448, 739 2454, 2461, 2469, 2477, 2479, 2482, 2485, 2487, 2490, 2493, 740 2497, 2501, 2503, 2508, 2513, 2517, 2526, 2530, 2532, 2534, 741 2537, 2539, 2541, 2544, 2548, 2551, 2555, 2558, 2562, 2566, 742 2569, 2574, 2578, 2581, 2585, 2588, 2593, 2597, 2600, 2607, 743 2614, 2621, 2629, 2631, 2634, 2636, 2638, 2640, 2643, 2647, 744 2650, 2654, 2657, 2661, 2665, 2670, 2673, 2677, 2682, 2685, 745 2691, 2698, 2705, 2706, 2708, 2709 750 746 }; 751 747 … … 753 749 static const yytype_int16 yyrhs[] = 754 750 { 755 30 8, 0, -1, -1, -1, 81, -1, 84, -1, 85,756 -1, 8 6, -1, 82, -1, 74, -1, 78, -1, 144,757 -1, 7 4, -1, 78, -1, 74, -1, 144, -1, 87,758 -1, 8 8, -1, 146, -1, 83, -1, 146, 83, -1,759 7 4, -1, 144, -1, 174, -1, 113, 176, 114, -1,760 11 3, 180, 114, -1, 147, -1, 148, 115, 138, 171,761 13 9, 116, -1, 148, 113, 149, 114, -1, 148, 117,762 14 3, -1, 148, 117, 115, 138, 151, 139, 116, -1,763 14 8, 85, -1, 148, 89, 143, -1, 148, 89, 115,764 13 8, 151, 139, 116, -1, 148, 90, -1, 148, 91,765 -1, 11 3, 281, 114, 118, 285, 378, 119, -1, 148,766 11 8, 149, 119, -1, 150, -1, 149, 120, 150, -1,767 -1, 1 71, -1, 152, -1, 151, 120, 152, -1, 153,768 -1, 8 4, 152, -1, 84, 115, 138, 151, 139, 116,769 -1, 15 3, 117, 152, -1, 153, 117, 115, 138, 151,770 13 9, 116, -1, 153, 89, 152, -1, 153, 89, 115,771 13 8, 151, 139, 116, -1, 81, 154, -1, 86, 154,772 -1, 14 3, 154, -1, -1, 154, 85, -1, 148, -1,773 1 40, -1, 145, -1, 42, 158, -1, 156, 158, -1,774 15 7, 158, -1, 90, 155, -1, 91, 155, -1, 39,775 15 5, -1, 39, 113, 281, 114, -1, 68, 155, -1,776 6 8, 113, 281, 114, -1, 40, 113, 281, 120, 143,777 11 4, -1, 78, -1, 78, 113, 150, 114, -1, 78,778 11 3, 282, 114, -1, 121, -1, 122, -1, 123, -1,779 12 4, -1, 125, -1, 126, -1, 155, -1, 113, 281,780 11 4, 158, -1, 158, -1, 159, 121, 158, -1, 159,781 12 7, 158, -1, 159, 128, 158, -1, 159, -1, 160,782 12 3, 159, -1, 160, 124, 159, -1, 160, -1, 161,783 9 2, 160, -1, 161, 93, 160, -1, 161, -1, 162,784 12 9, 161, -1, 162, 130, 161, -1, 162, 94, 161,785 -1, 16 2, 95, 161, -1, 162, -1, 163, 96, 162,786 -1, 16 3, 97, 162, -1, 163, -1, 164, 122, 163,787 -1, 16 4, -1, 165, 131, 164, -1, 165, -1, 166,788 13 2, 165, -1, 166, -1, 167, 98, 166, -1, 167,789 -1, 16 8, 99, 167, -1, 168, -1, 168, 133, 176,790 13 4, 169, -1, 168, 133, 134, 169, -1, 169, -1,791 16 9, -1, 155, 173, 171, -1, -1, 171, -1, 135,792 -1, 1 11, -1, 101, -1, 102, -1, 103, -1, 104,793 -1, 10 5, -1, 106, -1, 107, -1, 108, -1, 109,794 -1, 1 10, -1, 115, 138, 120, 175, 139, 116, -1,795 11 5, 138, 171, 120, 175, 139, 116, -1, 172, -1,796 17 5, 120, 172, -1, 171, -1, 176, 120, 171, -1,797 -1, 17 6, -1, 179, -1, 180, -1, 184, -1, 185,798 -1, 19 7, -1, 199, -1, 200, -1, 205, -1, 131,799 14 8, 118, 149, 119, 136, -1, 74, 134, 318, 178,800 -1, 11 8, 119, -1, 118, 138, 138, 216, 181, 139,801 11 9, -1, 182, -1, 181, 138, 182, -1, 219, -1,802 4 2, 219, -1, 314, -1, 178, 139, -1, 178, -1,803 18 3, 178, -1, 177, 136, -1, 43, 113, 176, 114,804 17 8, -1, 43, 113, 176, 114, 178, 44, 178, -1,805 4 5, 113, 176, 114, 190, -1, 45, 113, 176, 114,806 11 8, 138, 212, 191, 119, -1, 55, 113, 176, 114,807 1 90, -1, 55, 113, 176, 114, 118, 138, 212, 193,808 11 9, -1, 170, -1, 170, 100, 170, -1, 316, -1,809 18 6, -1, 187, 120, 186, -1, 46, 187, 134, -1,810 4 7, 134, -1, 188, -1, 189, 188, -1, 189, 178,811 -1, -1, 19 2, -1, 189, 183, -1, 192, 189, 183,812 -1, -1, 19 4, -1, 189, 196, -1, 189, 183, 195,813 -1, 19 4, 189, 196, -1, 194, 189, 183, 195, -1,814 -1, 19 6, -1, 58, -1, 58, 136, -1, 49, 113,815 17 6, 114, 178, -1, 48, 178, 49, 113, 176, 114,816 13 6, -1, 50, 113, 138, 198, 114, 178, -1, 177,817 13 9, 136, 177, 136, 177, -1, 219, 177, 136, 177,818 -1, 5 3, 74, 136, -1, 53, 121, 176, 136, -1,819 5 2, 136, -1, 52, 74, 136, -1, 51, 136, -1,820 51, 74, 136, -1, 54, 177, 136, -1, 63, 172,821 13 6, -1, 64, 172, 136, -1, 64, 172, 65, 171,822 13 6, -1, 59, 180, 201, -1, 59, 180, 203, -1,823 5 9, 180, 201, 203, -1, 202, -1, 60, 113, 100,824 11 4, 180, -1, 202, 60, 113, 100, 114, 180, -1,825 61, 113, 100, 114, 180, -1, 202, 61, 113, 100,826 11 4, 180, -1, 60, 113, 138, 138, 204, 139, 114,827 1 80, 139, -1, 202, 60, 113, 138, 138, 204, 139,828 11 4, 180, 139, -1, 61, 113, 138, 138, 204, 139,829 11 4, 180, 139, -1, 202, 61, 113, 138, 138, 204,830 13 9, 114, 180, 139, -1, 62, 180, -1, 232, -1,831 23 2, 315, -1, 232, 363, -1, 372, 143, -1, 372,832 -1, 6 6, 206, 113, 145, 114, 136, -1, 66, 206,833 11 3, 145, 134, 207, 114, 136, -1, 66, 206, 113,834 14 5, 134, 207, 134, 207, 114, 136, -1, 66, 206,835 11 3, 145, 134, 207, 134, 207, 134, 210, 114, 136,836 -1, 6 6, 206, 53, 113, 145, 134, 134, 207, 134,837 2 10, 134, 211, 114, 136, -1, -1, 11, -1, -1,838 20 8, -1, 209, -1, 208, 120, 209, -1, 145, 113,839 1 70, 114, -1, 115, 170, 116, 145, 113, 170, 114,840 -1, -1, 14 5, -1, 210, 120, 145, -1, 143, -1,841 2 11, 120, 143, -1, 139, -1, 213, -1, 219, -1,842 21 3, 138, 219, -1, 139, -1, 215, -1, 229, -1,843 21 5, 138, 229, -1, -1, 217, -1, 31, 218, 136,844 -1, 21 7, 31, 218, 136, -1, 280, -1, 218, 120,845 2 80, -1, 220, -1, 229, -1, 221, 139, 136, -1,846 22 6, 139, 136, -1, 223, 139, 136, -1, 299, 139,847 13 6, -1, 302, 139, 136, -1, 222, 283, -1, 238,848 22 2, 283, -1, 221, 139, 120, 138, 278, 283, -1,849 37 3, 278, 317, -1, 376, 278, 317, -1, 234, 376,850 27 8, 317, -1, 224, -1, 234, 224, -1, 238, 224,851 -1, 23 8, 234, 224, -1, 223, 139, 120, 138, 278,852 -1, 37 6, 278, 113, 138, 266, 139, 114, -1, 225,853 27 8, 113, 138, 266, 139, 114, -1, 115, 138, 268,854 13 9, 116, -1, 115, 138, 268, 139, 120, 138, 269,855 13 9, 116, -1, 3, 222, -1, 3, 224, -1, 226,856 13 9, 120, 138, 143, -1, 3, 232, 315, -1, 227,857 13 9, 120, 138, 315, -1, 234, 3, 232, 315, -1,858 23 2, 3, 315, -1, 232, 3, 234, 315, -1, 3,859 14 3, 135, 171, -1, 228, 139, 120, 138, 143, 135,860 1 71, -1, 230, 139, 136, -1, 227, 139, 136, -1,861 22 8, 139, 136, -1, 246, 139, 136, -1, 231, 315,862 31 7, 283, -1, 230, 120, 318, 315, 317, 283, -1,863 24 2, -1, 246, -1, 248, -1, 289, -1, 243, -1,864 24 7, -1, 249, -1, 290, -1, -1, 234, -1, 235,865 -1, 23 4, 235, -1, 236, -1, 320, -1, 10, -1,866 12, -1, 11, -1, 14, -1, 6 9, -1, -1, 13,867 11 3, 237, 292, 114, -1, 239, -1, 234, 239, -1,868 23 8, 234, 239, -1, 240, -1, 239, 240, -1, 5,751 306, 0, -1, -1, -1, 79, -1, 82, -1, 83, 752 -1, 84, -1, 80, -1, 72, -1, 76, -1, 142, 753 -1, 72, -1, 76, -1, 72, -1, 142, -1, 85, 754 -1, 86, -1, 144, -1, 81, -1, 144, 81, -1, 755 72, -1, 142, -1, 172, -1, 111, 174, 112, -1, 756 111, 178, 112, -1, 145, -1, 146, 113, 136, 169, 757 137, 114, -1, 146, 111, 147, 112, -1, 146, 115, 758 141, -1, 146, 115, 113, 136, 149, 137, 114, -1, 759 146, 83, -1, 146, 87, 141, -1, 146, 87, 113, 760 136, 149, 137, 114, -1, 146, 88, -1, 146, 89, 761 -1, 111, 279, 112, 116, 283, 376, 117, -1, 146, 762 116, 147, 117, -1, 148, -1, 147, 118, 148, -1, 763 -1, 169, -1, 150, -1, 149, 118, 150, -1, 151, 764 -1, 82, 150, -1, 82, 113, 136, 149, 137, 114, 765 -1, 151, 115, 150, -1, 151, 115, 113, 136, 149, 766 137, 114, -1, 151, 87, 150, -1, 151, 87, 113, 767 136, 149, 137, 114, -1, 79, 152, -1, 84, 152, 768 -1, 141, 152, -1, -1, 152, 83, -1, 146, -1, 769 138, -1, 143, -1, 40, 156, -1, 154, 156, -1, 770 155, 156, -1, 88, 153, -1, 89, 153, -1, 37, 771 153, -1, 37, 111, 279, 112, -1, 66, 153, -1, 772 66, 111, 279, 112, -1, 38, 111, 279, 118, 141, 773 112, -1, 76, -1, 76, 111, 148, 112, -1, 76, 774 111, 280, 112, -1, 119, -1, 120, -1, 121, -1, 775 122, -1, 123, -1, 124, -1, 153, -1, 111, 279, 776 112, 156, -1, 156, -1, 157, 119, 156, -1, 157, 777 125, 156, -1, 157, 126, 156, -1, 157, -1, 158, 778 121, 157, -1, 158, 122, 157, -1, 158, -1, 159, 779 90, 158, -1, 159, 91, 158, -1, 159, -1, 160, 780 127, 159, -1, 160, 128, 159, -1, 160, 92, 159, 781 -1, 160, 93, 159, -1, 160, -1, 161, 94, 160, 782 -1, 161, 95, 160, -1, 161, -1, 162, 120, 161, 783 -1, 162, -1, 163, 129, 162, -1, 163, -1, 164, 784 130, 163, -1, 164, -1, 165, 96, 164, -1, 165, 785 -1, 166, 97, 165, -1, 166, -1, 166, 131, 174, 786 132, 167, -1, 166, 131, 132, 167, -1, 167, -1, 787 167, -1, 153, 171, 169, -1, -1, 169, -1, 133, 788 -1, 109, -1, 99, -1, 100, -1, 101, -1, 102, 789 -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, 790 -1, 108, -1, 113, 136, 118, 173, 137, 114, -1, 791 113, 136, 169, 118, 173, 137, 114, -1, 170, -1, 792 173, 118, 170, -1, 169, -1, 174, 118, 169, -1, 793 -1, 174, -1, 177, -1, 178, -1, 182, -1, 183, 794 -1, 195, -1, 197, -1, 198, -1, 203, -1, 129, 795 146, 116, 147, 117, 134, -1, 72, 132, 316, 176, 796 -1, 116, 117, -1, 116, 136, 136, 214, 179, 137, 797 117, -1, 180, -1, 179, 136, 180, -1, 217, -1, 798 40, 217, -1, 312, -1, 176, 137, -1, 176, -1, 799 181, 176, -1, 175, 134, -1, 41, 111, 174, 112, 800 176, -1, 41, 111, 174, 112, 176, 42, 176, -1, 801 43, 111, 174, 112, 188, -1, 43, 111, 174, 112, 802 116, 136, 210, 189, 117, -1, 53, 111, 174, 112, 803 188, -1, 53, 111, 174, 112, 116, 136, 210, 191, 804 117, -1, 168, -1, 168, 98, 168, -1, 314, -1, 805 184, -1, 185, 118, 184, -1, 44, 185, 132, -1, 806 45, 132, -1, 186, -1, 187, 186, -1, 187, 176, 807 -1, -1, 190, -1, 187, 181, -1, 190, 187, 181, 808 -1, -1, 192, -1, 187, 194, -1, 187, 181, 193, 809 -1, 192, 187, 194, -1, 192, 187, 181, 193, -1, 810 -1, 194, -1, 56, -1, 56, 134, -1, 47, 111, 811 174, 112, 176, -1, 46, 176, 47, 111, 174, 112, 812 134, -1, 48, 111, 136, 196, 112, 176, -1, 175, 813 137, 134, 175, 134, 175, -1, 217, 175, 134, 175, 814 -1, 51, 72, 134, -1, 51, 119, 174, 134, -1, 815 50, 134, -1, 50, 72, 134, -1, 49, 134, -1, 816 49, 72, 134, -1, 52, 175, 134, -1, 61, 170, 817 134, -1, 62, 170, 134, -1, 62, 170, 63, 169, 818 134, -1, 57, 178, 199, -1, 57, 178, 201, -1, 819 57, 178, 199, 201, -1, 200, -1, 58, 111, 98, 820 112, 178, -1, 200, 58, 111, 98, 112, 178, -1, 821 59, 111, 98, 112, 178, -1, 200, 59, 111, 98, 822 112, 178, -1, 58, 111, 136, 136, 202, 137, 112, 823 178, 137, -1, 200, 58, 111, 136, 136, 202, 137, 824 112, 178, 137, -1, 59, 111, 136, 136, 202, 137, 825 112, 178, 137, -1, 200, 59, 111, 136, 136, 202, 826 137, 112, 178, 137, -1, 60, 178, -1, 230, -1, 827 230, 313, -1, 230, 361, -1, 370, 141, -1, 370, 828 -1, 64, 204, 111, 143, 112, 134, -1, 64, 204, 829 111, 143, 132, 205, 112, 134, -1, 64, 204, 111, 830 143, 132, 205, 132, 205, 112, 134, -1, 64, 204, 831 111, 143, 132, 205, 132, 205, 132, 208, 112, 134, 832 -1, 64, 204, 51, 111, 143, 132, 132, 205, 132, 833 208, 132, 209, 112, 134, -1, -1, 11, -1, -1, 834 206, -1, 207, -1, 206, 118, 207, -1, 143, 111, 835 168, 112, -1, 113, 168, 114, 143, 111, 168, 112, 836 -1, -1, 143, -1, 208, 118, 143, -1, 141, -1, 837 209, 118, 141, -1, 137, -1, 211, -1, 217, -1, 838 211, 136, 217, -1, 137, -1, 213, -1, 227, -1, 839 213, 136, 227, -1, -1, 215, -1, 29, 216, 134, 840 -1, 215, 29, 216, 134, -1, 278, -1, 216, 118, 841 278, -1, 218, -1, 227, -1, 219, 137, 134, -1, 842 224, 137, 134, -1, 221, 137, 134, -1, 297, 137, 843 134, -1, 300, 137, 134, -1, 220, 281, -1, 236, 844 220, 281, -1, 219, 137, 118, 136, 276, 281, -1, 845 371, 276, 315, -1, 374, 276, 315, -1, 232, 374, 846 276, 315, -1, 222, -1, 232, 222, -1, 236, 222, 847 -1, 236, 232, 222, -1, 221, 137, 118, 136, 276, 848 -1, 374, 276, 111, 136, 264, 137, 112, -1, 223, 849 276, 111, 136, 264, 137, 112, -1, 113, 136, 266, 850 137, 114, -1, 113, 136, 266, 137, 118, 136, 267, 851 137, 114, -1, 3, 220, -1, 3, 222, -1, 224, 852 137, 118, 136, 141, -1, 3, 230, 313, -1, 225, 853 137, 118, 136, 313, -1, 232, 3, 230, 313, -1, 854 230, 3, 313, -1, 230, 3, 232, 313, -1, 3, 855 141, 133, 169, -1, 226, 137, 118, 136, 141, 133, 856 169, -1, 228, 137, 134, -1, 225, 137, 134, -1, 857 226, 137, 134, -1, 244, 137, 134, -1, 229, 313, 858 315, 281, -1, 228, 118, 316, 313, 315, 281, -1, 859 240, -1, 244, -1, 246, -1, 287, -1, 241, -1, 860 245, -1, 247, -1, 288, -1, -1, 232, -1, 233, 861 -1, 232, 233, -1, 234, -1, 318, -1, 10, -1, 862 12, -1, 11, -1, 14, -1, 67, -1, -1, 13, 863 111, 235, 290, 112, -1, 237, -1, 232, 237, -1, 864 236, 232, 237, -1, 238, -1, 237, 238, -1, 5, 869 865 -1, 7, -1, 4, -1, 6, -1, 8, -1, 9, 870 -1, 71, -1, 73, -1, 16, -1, 21, -1, 20,866 -1, 69, -1, 71, -1, 16, -1, 21, -1, 20, 871 867 -1, 18, -1, 19, -1, 17, -1, 22, -1, 23, 872 -1, 15, -1, 2 7, -1, 28, -1, 29, -1, 26,873 -1, 24, -1, 25, -1, 243, -1, 238, 243, -1,874 2 42, 240, -1, 242, 240, 234, -1, 242, 240, 243,875 -1, 244, -1, 233, 245, 233, -1, 241, -1, 234,876 241, -1, 244, 235, -1, 244, 241, -1, 30, 113,877 282, 114, -1, 30, 113, 176, 114, -1, 80, 113,878 282, 114, -1, 80, 113, 176, 114, -1, 247, -1,879 238, 247, -1, 246, 240, -1, 246, 240, 234, -1,880 250, -1, 234, 250, -1, 247, 235, -1, 249, -1,881 238, 249, -1, 248, 240, -1, 248, 240, 234, -1,882 76, -1, 234, 76, -1, 249, 235, -1, 251, -1,883 2 62, -1, 253, 118, 254, 119, -1, 253, 280, -1,884 -1, 253, 280, 252, 118, 254, 119, -1, 253, 113,885 298, 114, 118, 254, 119, -1, 253, 291, -1, 33,886 318, -1, 34, 318, -1, -1, 254, 255, -1, 256,887 13 6, -1, 42, 256, 136, -1, 257, 136, -1, 42,888 257, 136, -1, 372, -1, 372, 280, -1, 256, 120,889 280, -1, 256, 120, -1, 232, 258, -1, 257, 120,890 318, 258, -1, -1, 260, -1, 324, 259, -1, 337,891 259, -1, 363, -1, -1, 260, -1, 134, 170, -1,892 32, 318, -1, 261, 118, 264, 378, 119, -1, 261,893 2 80, -1, -1, 261, 280, 263, 118, 264, 378, 119,894 -1, 280, 265, -1, 264, 120, 280, 265, -1, -1,895 135, 170, -1, -1, 267, -1, 269, -1, 268, -1,896 26 8, 139, 120, 138, 269, -1, 269, 139, 120, 138,897 1 00, -1, 268, 139, 120, 138, 100, -1, 273, -1,898 2 69, 139, 120, 138, 273, -1, 268, 139, 120, 138,899 273, -1, 268, 139, 120, 138, 269, 139, 120, 138,900 2 73, -1, 274, -1, 269, 139, 120, 138, 274, -1,901 -1, 27 1, -1, 272, -1, 272, 139, 120, 138, 100,902 -1, 27 6, -1, 275, -1, 272, 139, 120, 138, 276,903 -1, 272, 139, 120, 138, 275, -1, 275, -1, 368,904 27 8, 379, -1, 376, 278, 379, -1, 234, 376, 278,905 379, -1, 224, -1, 276, -1, 368, -1, 376, -1,906 234, 376, -1, 377, -1, 231, 342, 379, -1, 231,907 346, 379, -1, 231, -1, 231, 357, -1, 143, -1,908 277, 120, 143, -1, 141, -1, 76, -1, 77, -1,909 142, -1, 76, -1, 77, -1, 143, -1, 76, -1,910 77, -1, 372, -1, 232, -1, 232, 363, -1, 372,911 -1, 377, -1, 232, -1, 232, 351, -1, -1, 135,912 284, -1, 111, 284, -1, 171, -1, 118, 285, 378,913 119, -1, -1, 284, -1, 286, 284, -1, 285, 120,914 284, -1, 285, 120, 286, 284, -1, 287, 134, -1,915 280, 134, -1, 288, -1, 287, 288, -1, 117, 280,916 -1, 115, 138, 171, 139, 116, -1, 115, 138, 316,917 13 9, 116, -1, 115, 138, 170, 100, 170, 139, 116,918 -1, 117, 115, 138, 151, 139, 116, -1, 290, -1,919 238, 290, -1, 289, 240, -1, 289, 240, 234, -1,920 291, -1, 234, 291, -1, 290, 235, -1, 77, 113,921 298, 114, -1, 293, 379, -1, 292, 120, 293, 379,922 -1, -1, 295, 280, 294, 296, -1, 232, 342, -1,923 3 5, -1, 37, -1, 36, -1, -1, 296, 297, -1,924 1 32, 280, 113, 298, 114, -1, 132, 118, 138, 304,925 1 19, -1, 132, 113, 138, 292, 139, 114, 118, 138,926 304, 119, 113, 298, 114, -1, 282, -1, 171, -1,927 29 8, 120, 282, -1, 298, 120, 171, -1, 35, 300,928 -1, 2 39, 35, 300, -1, 299, 120, 300, -1, 301,929 296, -1, 301, 296, 135, 282, -1, 280, -1, 279,930 11 3, 138, 292, 139, 114, -1, 38, 280, 113, 138,931 292, 139, 114, 118, 119, -1, -1, 38, 280, 113,932 1 38, 292, 139, 114, 118, 303, 304, 119, -1, 305,933 -1, 304, 13 8, 305, -1, 306, 139, 136, -1, 307,934 139, 136, -1, 222, -1, 224, -1, 306, 139, 120,935 138, 278, -1, 232, 315, -1, 307, 139, 120, 138,936 315, -1, -1, 309, -1, 311, -1, 309, 138, 311,937 -1, -1, 309, -1, 219, -1, 313, -1, 205, -1,938 -1, 5, 83, 312, 118, 310, 119, -1, 42, 311,939 -1, 314, -1, 329, 180, -1, 333, 138, 214, 180,940 -1, 223, 180, -1, 231, 329, 180, -1, 234, 329,941 1 80, -1, 238, 329, 180, -1, 238, 234, 329, 180,942 -1, 231, 333, 138, 214, 180, -1, 234, 333, 138,943 214, 180, -1, 238, 333, 138, 214, 180, -1, 238,944 234, 333, 138, 214, 180, -1, 324, -1, 337, -1,945 329, -1, 170, 126, 170, -1, -1, 66, 113, 145,946 114, 318, -1, -1, 319, -1, 320, -1, 319, 320,947 -1, 41, 113, 113, 321, 114, 114, -1, 322, -1,948 321, 120, 322, -1, -1, 323, -1, 323, 113, 177,949 114, -1, 278, -1, 240, -1, 241, -1, 235, -1,950 325, 318, -1, 326, -1, 327, 318, -1, 328, 318,951 -1, 141, -1, 113, 325, 114, -1, 156, 324, -1,952 1 56, 234, 324, -1, 113, 326, 114, -1, 325, 355,953 -1, 113, 326, 114, 355, -1, 113, 327, 114, 356,954 -1, 11 3, 327, 114, -1, 113, 326, 114, 113, 138,955 270, 139, 114, -1, 113, 328, 114, -1, 330, 318,956 -1, 331, -1, 332, 318, -1, 325, 113, 138, 270,957 139, 114, -1, 113, 331, 114, 113, 138, 270, 139,958 11 4, -1, 113, 330, 114, -1, 156, 329, -1, 156,959 234, 329, -1, 113, 331, 114, -1, 113, 331, 114,960 355, -1, 113, 332, 114, 356, -1, 113, 332, 114,961 -1, 334, -1, 3 35, -1, 336, -1, 325, 113, 277,962 11 4, -1, 113, 335, 114, 113, 277, 114, -1, 113,963 33 4, 114, -1, 156, 333, -1, 156, 234, 333, -1,964 11 3, 335, 114, -1, 113, 335, 114, 355, -1, 113,965 336, 114, 356, -1, 113, 336, 114, -1, 338, 318,966 -1, 339, -1, 340, 318, -1, 341, 318, -1, 347,967 -1, 1 13, 338, 114, -1, 156, 337, -1, 156, 234,968 337, -1, 113, 339, 114, -1, 338, 355, -1, 113,969 339, 114, 355, -1, 113, 340, 114, 356, -1, 113,970 340, 114, -1, 338, 113, 138, 270, 139, 114, -1,971 1 13, 339, 114, 113, 138, 270, 139, 114, -1, 113,972 3 41, 114, -1, 325, 318, -1, 343, -1, 344, 318,973 -1, 345, 318, -1, 156, 342, -1, 156, 234, 342,974 -1, 113, 343, 114, -1, 325, 361, -1, 113, 343,975 114, 355, -1, 113, 344, 114, 356, -1, 113, 344,976 1 14, -1, 325, 113, 138, 270, 139, 114, -1, 113,977 343, 114, 113, 138, 270, 139, 114, -1, 113, 345,978 114, -1, 347, 318, -1, 348, -1, 349, 318, -1,979 350, 318, -1, 76, -1, 77, -1, 156, 346, -1,980 1 56, 234, 346, -1, 113, 348, 114, -1, 347, 361,981 -1, 113, 348, 114, 361, -1, 347, 113, 138, 270,982 139, 114, -1, 113, 348, 114, 113, 138, 270, 139,983 114, -1, 352, -1, 353, 318, -1, 354, 318, -1,984 156, -1, 156, 234, -1, 156, 351, -1, 156, 234,985 351, -1, 113, 352, 114, -1, 355, -1, 113, 352,986 114, 355, -1, 113, 353, 114, 356, -1, 113, 353,987 114, -1, 113, 138, 270, 139, 114, -1, 113, 352,988 1 14, 113, 138, 270, 139, 114, -1, 113, 354, 114,989 -1, 115, 116, -1, 115, 116, 356, -1, 356, -1,990 11 5, 138, 171, 139, 116, -1, 115, 138, 121, 139,991 1 16, -1, 356, 115, 138, 171, 139, 116, -1, 356,992 11 5, 138, 121, 139, 116, -1, 358, -1, 359, 318,993 -1, 360, 318, -1, 156, -1, 156, 234, -1, 156,994 35 7, -1, 156, 234, 357, -1, 113, 358, 114, -1,995 361, -1, 113, 358, 114, 361, -1, 113, 359, 114,996 356, -1, 113, 359, 114, -1, 113, 138, 270, 139,997 11 4, -1, 113, 358, 114, 113, 138, 270, 139, 114,998 -1, 113, 360, 114, -1, 362, -1, 362, 356, -1,999 356, -1, 115, 116, -1, 115, 138, 234, 121, 139,1000 116, -1, 115, 138, 234, 139, 116, -1, 115, 138,1001 234, 171, 139, 116, -1, 115, 138, 7, 233, 171,1002 13 9, 116, -1, 115, 138, 234, 7, 171, 139, 116,1003 -1, 364, -1, 365, 318, -1, 366, 318, -1, 156,1004 -1, 156, 234, -1, 156, 363, -1, 156, 234, 363,1005 -1, 113, 364, 114, -1, 355, -1, 113, 364, 114,1006 355, -1, 113, 365, 114, 356, -1, 113, 365, 114,1007 -1, 113, 364, 114, 113, 138, 270, 139, 114, -1,1008 113, 366, 114, -1, 368, -1, 376, -1, 234, 376,1009 -1, 369, -1, 370, -1, 156, 232, -1, 234, 156,1010 232, -1, 156, 377, -1, 234, 156, 377, -1, 156,1011 36 7, -1, 234, 156, 367, -1, 115, 116, 232, -1,1012 371, 232, -1, 115, 116, 356, 232, -1, 371, 356,1013 232, -1, 356, 232, -1, 115, 116, 369, -1, 371,1014 3 69, -1, 115, 116, 356, 369, -1, 371, 356, 369,1015 -1, 356, 369, -1, 115, 138, 234, 121, 139, 116,1016 -1, 115, 138, 234, 171, 139, 116, -1, 115, 138,1017 238, 171, 139, 116, -1, 115, 138, 238, 234, 171,1018 139, 116, -1, 376, -1, 234, 376, -1, 373, -1,1019 374, -1, 375, -1, 156, 232, -1, 234, 156, 232,1020 -1, 156, 377, -1, 234, 156, 377, -1, 156, 372,1021 -1, 234, 156, 372, -1, 115, 116, 232, -1, 115,1022 116, 356, 232, -1, 356, 232, -1, 115, 116, 374,1023 -1, 115, 116, 356, 374, -1, 356, 374, -1, 115,1024 138, 269, 139, 116, -1, 376, 113, 138, 266, 139,1025 1 14, -1, 225, 113, 138, 266, 139, 114, -1, -1,1026 1 20, -1, -1, 135, 171, -1868 -1, 15, -1, 25, -1, 26, -1, 27, -1, 24, 869 -1, 241, -1, 236, 241, -1, 240, 238, -1, 240, 870 238, 232, -1, 240, 238, 241, -1, 242, -1, 231, 871 243, 231, -1, 239, -1, 232, 239, -1, 242, 233, 872 -1, 242, 239, -1, 28, 111, 280, 112, -1, 28, 873 111, 174, 112, -1, 78, 111, 280, 112, -1, 78, 874 111, 174, 112, -1, 245, -1, 236, 245, -1, 244, 875 238, -1, 244, 238, 232, -1, 248, -1, 232, 248, 876 -1, 245, 233, -1, 247, -1, 236, 247, -1, 246, 877 238, -1, 246, 238, 232, -1, 74, -1, 232, 74, 878 -1, 247, 233, -1, 249, -1, 260, -1, 251, 116, 879 252, 117, -1, 251, 278, -1, -1, 251, 278, 250, 880 116, 252, 117, -1, 251, 111, 296, 112, 116, 252, 881 117, -1, 251, 289, -1, 31, 316, -1, 32, 316, 882 -1, -1, 252, 253, -1, 254, 134, -1, 40, 254, 883 134, -1, 255, 134, -1, 40, 255, 134, -1, 370, 884 -1, 370, 278, -1, 254, 118, 278, -1, 254, 118, 885 -1, 230, 256, -1, 255, 118, 316, 256, -1, -1, 886 258, -1, 322, 257, -1, 335, 257, -1, 361, -1, 887 -1, 258, -1, 132, 168, -1, 30, 316, -1, 259, 888 116, 262, 376, 117, -1, 259, 278, -1, -1, 259, 889 278, 261, 116, 262, 376, 117, -1, 278, 263, -1, 890 262, 118, 278, 263, -1, -1, 133, 168, -1, -1, 891 265, -1, 267, -1, 266, -1, 266, 137, 118, 136, 892 267, -1, 267, 137, 118, 136, 98, -1, 266, 137, 893 118, 136, 98, -1, 271, -1, 267, 137, 118, 136, 894 271, -1, 266, 137, 118, 136, 271, -1, 266, 137, 895 118, 136, 267, 137, 118, 136, 271, -1, 272, -1, 896 267, 137, 118, 136, 272, -1, -1, 269, -1, 270, 897 -1, 270, 137, 118, 136, 98, -1, 274, -1, 273, 898 -1, 270, 137, 118, 136, 274, -1, 270, 137, 118, 899 136, 273, -1, 273, -1, 366, 276, 377, -1, 374, 900 276, 377, -1, 232, 374, 276, 377, -1, 222, -1, 901 274, -1, 366, -1, 374, -1, 232, 374, -1, 375, 902 -1, 229, 340, 377, -1, 229, 344, 377, -1, 229, 903 -1, 229, 355, -1, 141, -1, 275, 118, 141, -1, 904 139, -1, 74, -1, 75, -1, 140, -1, 74, -1, 905 75, -1, 141, -1, 74, -1, 75, -1, 370, -1, 906 230, -1, 230, 361, -1, 370, -1, 375, -1, 230, 907 -1, 230, 349, -1, -1, 133, 282, -1, 109, 282, 908 -1, 169, -1, 116, 283, 376, 117, -1, -1, 282, 909 -1, 284, 282, -1, 283, 118, 282, -1, 283, 118, 910 284, 282, -1, 285, 132, -1, 278, 132, -1, 286, 911 -1, 285, 286, -1, 115, 278, -1, 113, 136, 169, 912 137, 114, -1, 113, 136, 314, 137, 114, -1, 113, 913 136, 168, 98, 168, 137, 114, -1, 115, 113, 136, 914 149, 137, 114, -1, 288, -1, 236, 288, -1, 287, 915 238, -1, 287, 238, 232, -1, 289, -1, 232, 289, 916 -1, 288, 233, -1, 75, 111, 296, 112, -1, 291, 917 377, -1, 290, 118, 291, 377, -1, -1, 293, 278, 918 292, 294, -1, 230, 340, -1, 33, -1, 35, -1, 919 34, -1, -1, 294, 295, -1, 130, 278, 111, 296, 920 112, -1, 130, 116, 136, 302, 117, -1, 130, 111, 921 136, 290, 137, 112, 116, 136, 302, 117, 111, 296, 922 112, -1, 280, -1, 169, -1, 296, 118, 280, -1, 923 296, 118, 169, -1, 33, 298, -1, 237, 33, 298, 924 -1, 297, 118, 298, -1, 299, 294, -1, 299, 294, 925 133, 280, -1, 278, -1, 277, 111, 136, 290, 137, 926 112, -1, 36, 278, 111, 136, 290, 137, 112, 116, 927 117, -1, -1, 36, 278, 111, 136, 290, 137, 112, 928 116, 301, 302, 117, -1, 303, -1, 302, 136, 303, 929 -1, 304, 137, 134, -1, 305, 137, 134, -1, 220, 930 -1, 222, -1, 304, 137, 118, 136, 276, -1, 230, 931 313, -1, 305, 137, 118, 136, 313, -1, -1, 307, 932 -1, 309, -1, 307, 136, 309, -1, -1, 307, -1, 933 217, -1, 311, -1, 203, -1, -1, 5, 81, 310, 934 116, 308, 117, -1, 40, 309, -1, 312, -1, 327, 935 178, -1, 331, 136, 212, 178, -1, 221, 178, -1, 936 229, 327, 178, -1, 232, 327, 178, -1, 236, 327, 937 178, -1, 236, 232, 327, 178, -1, 229, 331, 136, 938 212, 178, -1, 232, 331, 136, 212, 178, -1, 236, 939 331, 136, 212, 178, -1, 236, 232, 331, 136, 212, 940 178, -1, 322, -1, 335, -1, 327, -1, 168, 124, 941 168, -1, -1, 64, 111, 144, 112, 316, -1, -1, 942 317, -1, 318, -1, 317, 318, -1, 39, 111, 111, 943 319, 112, 112, -1, 320, -1, 319, 118, 320, -1, 944 -1, 321, -1, 321, 111, 175, 112, -1, 276, -1, 945 238, -1, 239, -1, 233, -1, 323, 316, -1, 324, 946 -1, 325, 316, -1, 326, 316, -1, 139, -1, 111, 947 323, 112, -1, 154, 322, -1, 154, 232, 322, -1, 948 111, 324, 112, -1, 323, 353, -1, 111, 324, 112, 949 353, -1, 111, 325, 112, 354, -1, 111, 325, 112, 950 -1, 111, 324, 112, 111, 136, 268, 137, 112, -1, 951 111, 326, 112, -1, 328, 316, -1, 329, -1, 330, 952 316, -1, 323, 111, 136, 268, 137, 112, -1, 111, 953 329, 112, 111, 136, 268, 137, 112, -1, 111, 328, 954 112, -1, 154, 327, -1, 154, 232, 327, -1, 111, 955 329, 112, -1, 111, 329, 112, 353, -1, 111, 330, 956 112, 354, -1, 111, 330, 112, -1, 332, -1, 333, 957 -1, 334, -1, 323, 111, 275, 112, -1, 111, 333, 958 112, 111, 275, 112, -1, 111, 332, 112, -1, 154, 959 331, -1, 154, 232, 331, -1, 111, 333, 112, -1, 960 111, 333, 112, 353, -1, 111, 334, 112, 354, -1, 961 111, 334, 112, -1, 336, 316, -1, 337, -1, 338, 962 316, -1, 339, 316, -1, 345, -1, 111, 336, 112, 963 -1, 154, 335, -1, 154, 232, 335, -1, 111, 337, 964 112, -1, 336, 353, -1, 111, 337, 112, 353, -1, 965 111, 338, 112, 354, -1, 111, 338, 112, -1, 336, 966 111, 136, 268, 137, 112, -1, 111, 337, 112, 111, 967 136, 268, 137, 112, -1, 111, 339, 112, -1, 323, 968 316, -1, 341, -1, 342, 316, -1, 343, 316, -1, 969 154, 340, -1, 154, 232, 340, -1, 111, 341, 112, 970 -1, 323, 359, -1, 111, 341, 112, 353, -1, 111, 971 342, 112, 354, -1, 111, 342, 112, -1, 323, 111, 972 136, 268, 137, 112, -1, 111, 341, 112, 111, 136, 973 268, 137, 112, -1, 111, 343, 112, -1, 345, 316, 974 -1, 346, -1, 347, 316, -1, 348, 316, -1, 74, 975 -1, 75, -1, 154, 344, -1, 154, 232, 344, -1, 976 111, 346, 112, -1, 345, 359, -1, 111, 346, 112, 977 359, -1, 345, 111, 136, 268, 137, 112, -1, 111, 978 346, 112, 111, 136, 268, 137, 112, -1, 350, -1, 979 351, 316, -1, 352, 316, -1, 154, -1, 154, 232, 980 -1, 154, 349, -1, 154, 232, 349, -1, 111, 350, 981 112, -1, 353, -1, 111, 350, 112, 353, -1, 111, 982 351, 112, 354, -1, 111, 351, 112, -1, 111, 136, 983 268, 137, 112, -1, 111, 350, 112, 111, 136, 268, 984 137, 112, -1, 111, 352, 112, -1, 113, 114, -1, 985 113, 114, 354, -1, 354, -1, 113, 136, 169, 137, 986 114, -1, 113, 136, 119, 137, 114, -1, 354, 113, 987 136, 169, 137, 114, -1, 354, 113, 136, 119, 137, 988 114, -1, 356, -1, 357, 316, -1, 358, 316, -1, 989 154, -1, 154, 232, -1, 154, 355, -1, 154, 232, 990 355, -1, 111, 356, 112, -1, 359, -1, 111, 356, 991 112, 359, -1, 111, 357, 112, 354, -1, 111, 357, 992 112, -1, 111, 136, 268, 137, 112, -1, 111, 356, 993 112, 111, 136, 268, 137, 112, -1, 111, 358, 112, 994 -1, 360, -1, 360, 354, -1, 354, -1, 113, 114, 995 -1, 113, 136, 232, 119, 137, 114, -1, 113, 136, 996 232, 137, 114, -1, 113, 136, 232, 169, 137, 114, 997 -1, 113, 136, 7, 231, 169, 137, 114, -1, 113, 998 136, 232, 7, 169, 137, 114, -1, 362, -1, 363, 999 316, -1, 364, 316, -1, 154, -1, 154, 232, -1, 1000 154, 361, -1, 154, 232, 361, -1, 111, 362, 112, 1001 -1, 353, -1, 111, 362, 112, 353, -1, 111, 363, 1002 112, 354, -1, 111, 363, 112, -1, 111, 362, 112, 1003 111, 136, 268, 137, 112, -1, 111, 364, 112, -1, 1004 366, -1, 374, -1, 232, 374, -1, 367, -1, 368, 1005 -1, 154, 230, -1, 232, 154, 230, -1, 154, 375, 1006 -1, 232, 154, 375, -1, 154, 365, -1, 232, 154, 1007 365, -1, 113, 114, 230, -1, 369, 230, -1, 113, 1008 114, 354, 230, -1, 369, 354, 230, -1, 354, 230, 1009 -1, 113, 114, 367, -1, 369, 367, -1, 113, 114, 1010 354, 367, -1, 369, 354, 367, -1, 354, 367, -1, 1011 113, 136, 232, 119, 137, 114, -1, 113, 136, 232, 1012 169, 137, 114, -1, 113, 136, 236, 169, 137, 114, 1013 -1, 113, 136, 236, 232, 169, 137, 114, -1, 374, 1014 -1, 232, 374, -1, 371, -1, 372, -1, 373, -1, 1015 154, 230, -1, 232, 154, 230, -1, 154, 375, -1, 1016 232, 154, 375, -1, 154, 370, -1, 232, 154, 370, 1017 -1, 113, 114, 230, -1, 113, 114, 354, 230, -1, 1018 354, 230, -1, 113, 114, 372, -1, 113, 114, 354, 1019 372, -1, 354, 372, -1, 113, 136, 267, 137, 114, 1020 -1, 374, 111, 136, 264, 137, 112, -1, 223, 111, 1021 136, 264, 137, 112, -1, -1, 118, -1, -1, 133, 1022 169, -1 1027 1023 }; 1028 1024 … … 1030 1026 static const yytype_uint16 yyrline[] = 1031 1027 { 1032 0, 30 6, 306, 310, 317, 318, 319, 320, 321, 325,1033 32 6, 327, 331, 332, 336, 337, 341, 342, 346, 350,1034 35 1, 362, 364, 366, 367, 369, 374, 375, 381, 383,1035 38 5, 387, 389, 391, 393, 395, 397, 399, 408, 409,1036 41 5, 416, 420, 421, 425, 426, 428, 430, 432, 434,1037 43 6, 441, 443, 445, 457, 458, 466, 469, 471, 473,1038 47 8, 491, 493, 495, 497, 499, 501, 503, 505, 507,1039 50 9, 511, 518, 519, 525, 526, 527, 528, 532, 533,1040 5 40, 541, 543, 545, 550, 551, 553, 558, 559, 561,1041 5 66, 567, 569, 571, 573, 578, 579, 581, 586, 587,1042 5 92, 593, 598, 599, 604, 605, 610, 611, 616, 617,1043 6 20, 627, 632, 633, 641, 642, 646, 647, 648, 649,1044 6 50, 651, 652, 653, 654, 655, 656, 657, 667, 669,1045 6 74, 675, 680, 681, 687, 688, 694, 695, 696, 697,1046 69 8, 699, 700, 701, 702, 712, 719, 721, 731, 732,1047 73 7, 739, 745, 747, 751, 752, 757, 762, 765, 767,1048 76 9, 779, 781, 792, 793, 795, 799, 801, 805, 806,1049 8 11, 812, 816, 821, 822, 826, 828, 834, 835, 839,1050 8 41, 843, 845, 851, 852, 856, 858, 863, 865, 867,1051 8 72, 874, 879, 881, 885, 888, 892, 895, 899, 901,1052 903, 905, 910, 912, 914, 919, 921, 923, 925, 927,1053 9 32, 934, 936, 938, 943, 955, 956, 961, 963, 968,1054 9 72, 974, 976, 978, 980, 986, 987, 993, 994, 998,1055 99 9, 1004, 1006, 1012, 1013, 1015, 1021, 1026, 1036, 1038,1056 10 42, 1043, 1048, 1050, 1054, 1055, 1059, 1061, 1065, 1066,1057 10 70, 1071, 1075, 1076, 1091, 1092, 1093, 1094, 1095, 1099,1058 1 104, 1111, 1121, 1126, 1131, 1139, 1144, 1149, 1154, 1159,1059 118 9, 1194, 1201, 1203, 1210, 1215, 1220, 1231, 1236, 1241,1060 12 46, 1251, 1260, 1265, 1273, 1274, 1275, 1276, 1282, 1287,1061 12 95, 1296, 1297, 1298, 1302, 1303, 1304, 1305, 1310, 1311,1062 13 20, 1321, 1326, 1327, 1332, 1334, 1336, 1338, 1340, 1343,1063 13 42, 1354, 1355, 1357, 1367, 1368, 1373, 1375, 1377, 1379,1064 13 81, 1384, 1386, 1389, 1394, 1396, 1398, 1400, 1402, 1404,1065 1 406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1428,1066 142 9, 1431, 1433, 1435, 1440, 1441, 1447, 1448, 1450, 1452,1067 14 57, 1459, 1461, 1463, 1468, 1469, 1471, 1473, 1478, 1479,1068 14 81, 1486, 1487, 1489, 1491, 1496, 1498, 1500, 1505, 1506,1069 15 10, 1512, 1518, 1517, 1521, 1523, 1528, 1530, 1536, 1537,1070 15 42, 1543, 1545, 1546, 1555, 1556, 1558, 1560, 1565, 1567,1071 15 73, 1574, 1576, 1579, 1582, 1587, 1588, 1593, 1598, 1602,1072 1 604, 1610, 1609, 1616, 1618, 1624, 1625, 1633, 1634, 1638,1073 163 9, 1640, 1642, 1644, 1651, 1652, 1654, 1656, 1661, 1662,1074 166 8, 1669, 1673, 1674, 1679, 1680, 1681, 1683, 1691, 1692,1075 16 94, 1697, 1699, 1703, 1704, 1705, 1707, 1709, 1713, 1718,1076 172 6, 1727, 1736, 1738, 1743, 1744, 1745, 1749, 1750, 1751,1077 17 55, 1756, 1757, 1761, 1762, 1763, 1768, 1769, 1770, 1771,1078 17 77, 1778, 1780, 1785, 1786, 1791, 1792, 1793, 1794, 1795,1079 18 10, 1811, 1816, 1817, 1823, 1825, 1828, 1830, 1832, 1855,1080 18 56, 1858, 1860, 1865, 1866, 1868, 1873, 1878, 1879, 1885,1081 188 4, 1888, 1892, 1894, 1896, 1902, 1903, 1908, 1913, 1915,1082 19 20, 1922, 1923, 1925, 1930, 1932, 1934, 1939, 1941, 1946,1083 195 1, 1959, 1965, 1964, 1978, 1979, 1984, 1985, 1989, 1994,1084 1999, 2007, 2012, 2023, 2024, 2029, 2030, 2036, 2037, 2041,1085 20 42, 2043, 2046, 2045, 2056, 2065, 2071, 2077, 2086, 2092,1086 2098, 210 4, 2110, 2118, 2124, 2132, 2138, 2147, 2148, 2149,1087 21 53, 2159, 2160, 2166, 2167, 2171, 2172, 2177, 2183, 2184,1088 21 87, 2189, 2190, 2194, 2195, 2196, 2197, 2231, 2233, 2234,1089 223 6, 2241, 2246, 2251, 2253, 2255, 2260, 2262, 2264, 2266,1090 22 71, 2273, 2282, 2284, 2285, 2290, 2292, 2294, 2299, 2301,1091 2 303, 2308, 2310, 2312, 2321, 2322, 2323, 2327, 2329, 2331,1092 23 36, 2338, 2340, 2345, 2347, 2349, 2364, 2366, 2367, 2369,1093 23 74, 2375, 2380, 2382, 2384, 2389, 2391, 2393, 2395, 2400,1094 240 2, 2404, 2414, 2416, 2417, 2419, 2424, 2426, 2428, 2433,1095 24 35, 2437, 2439, 2444, 2446, 2448, 2479, 2481, 2482, 2484,1096 248 9, 2494, 2502, 2504, 2506, 2511, 2513, 2518, 2520, 2534,1097 25 35, 2537, 2542, 2544, 2546, 2548, 2550, 2555, 2556, 2558,1098 25 60, 2565, 2567, 2569, 2575, 2577, 2579, 2583, 2585, 2587,1099 25 89, 2603, 2604, 2606, 2611, 2613, 2615, 2617, 2619, 2624,1100 26 25, 2627, 2629, 2634, 2636, 2638, 2644, 2645, 2647, 2656,1101 265 9, 2661, 2664, 2666, 2668, 2681, 2682, 2684, 2689, 2691,1102 26 93, 2695, 2697, 2702, 2703, 2705, 2707, 2712, 2714, 2722,1103 27 23, 2724, 2729, 2730, 2734, 2736, 2738, 2740, 2742, 2744,1104 27 51, 2753, 2755, 2757, 2759, 2762, 2764, 2766, 2768, 2770,1105 27 75, 2777, 2779, 2784, 2810, 2811, 2813, 2817, 2818, 2822,1106 28 24, 2826, 2828, 2830, 2832, 2839, 2841, 2843, 2845, 2847,1107 284 9, 2854, 2861, 2863, 2881, 2883, 2888, 28891028 0, 305, 305, 309, 316, 317, 318, 319, 320, 324, 1029 325, 326, 330, 331, 335, 336, 340, 341, 345, 349, 1030 350, 361, 363, 365, 366, 368, 373, 374, 380, 382, 1031 384, 386, 388, 390, 392, 394, 396, 398, 407, 408, 1032 414, 415, 419, 420, 424, 425, 427, 429, 431, 433, 1033 435, 440, 442, 444, 450, 451, 459, 462, 464, 466, 1034 471, 484, 486, 488, 490, 492, 494, 496, 498, 500, 1035 502, 504, 511, 512, 518, 519, 520, 521, 525, 526, 1036 533, 534, 536, 538, 543, 544, 546, 551, 552, 554, 1037 559, 560, 562, 564, 566, 571, 572, 574, 579, 580, 1038 585, 586, 591, 592, 597, 598, 603, 604, 609, 610, 1039 613, 620, 625, 626, 634, 635, 639, 640, 641, 642, 1040 643, 644, 645, 646, 647, 648, 649, 650, 660, 662, 1041 667, 668, 673, 674, 680, 681, 687, 688, 689, 690, 1042 691, 692, 693, 694, 695, 705, 712, 714, 724, 725, 1043 730, 732, 738, 740, 744, 745, 750, 755, 758, 760, 1044 762, 772, 774, 785, 786, 788, 792, 794, 798, 799, 1045 804, 805, 809, 814, 815, 819, 821, 827, 828, 832, 1046 834, 836, 838, 844, 845, 849, 851, 856, 858, 860, 1047 865, 867, 872, 874, 878, 881, 885, 888, 892, 894, 1048 896, 898, 903, 905, 907, 912, 914, 916, 918, 920, 1049 925, 927, 929, 931, 936, 948, 949, 954, 956, 961, 1050 965, 967, 969, 971, 973, 979, 980, 986, 987, 991, 1051 992, 997, 999, 1005, 1006, 1008, 1013, 1018, 1028, 1030, 1052 1034, 1035, 1040, 1042, 1046, 1047, 1051, 1053, 1057, 1058, 1053 1062, 1063, 1067, 1068, 1083, 1084, 1085, 1086, 1087, 1091, 1054 1096, 1103, 1113, 1118, 1123, 1131, 1136, 1141, 1146, 1151, 1055 1181, 1186, 1193, 1195, 1202, 1207, 1212, 1223, 1228, 1233, 1056 1238, 1243, 1252, 1257, 1265, 1266, 1267, 1268, 1274, 1279, 1057 1287, 1288, 1289, 1290, 1294, 1295, 1296, 1297, 1302, 1303, 1058 1312, 1313, 1318, 1319, 1324, 1326, 1328, 1330, 1332, 1335, 1059 1334, 1346, 1347, 1349, 1359, 1360, 1365, 1367, 1369, 1371, 1060 1373, 1376, 1378, 1381, 1386, 1388, 1390, 1392, 1394, 1396, 1061 1398, 1400, 1402, 1404, 1406, 1408, 1410, 1416, 1417, 1419, 1062 1421, 1423, 1428, 1429, 1435, 1436, 1438, 1440, 1445, 1447, 1063 1449, 1451, 1456, 1457, 1459, 1461, 1466, 1467, 1469, 1474, 1064 1475, 1477, 1479, 1484, 1486, 1488, 1493, 1494, 1498, 1500, 1065 1506, 1505, 1509, 1511, 1516, 1518, 1524, 1525, 1530, 1531, 1066 1533, 1534, 1543, 1544, 1546, 1548, 1553, 1555, 1561, 1562, 1067 1564, 1567, 1570, 1575, 1576, 1581, 1586, 1590, 1592, 1598, 1068 1597, 1604, 1606, 1612, 1613, 1621, 1622, 1626, 1627, 1628, 1069 1630, 1632, 1639, 1640, 1642, 1644, 1649, 1650, 1656, 1657, 1070 1661, 1662, 1667, 1668, 1669, 1671, 1679, 1680, 1682, 1685, 1071 1687, 1691, 1692, 1693, 1695, 1697, 1701, 1706, 1714, 1715, 1072 1724, 1726, 1731, 1732, 1733, 1737, 1738, 1739, 1743, 1744, 1073 1745, 1749, 1750, 1751, 1756, 1757, 1758, 1759, 1765, 1766, 1074 1768, 1773, 1774, 1779, 1780, 1781, 1782, 1783, 1798, 1799, 1075 1804, 1805, 1811, 1813, 1816, 1818, 1820, 1843, 1844, 1846, 1076 1848, 1853, 1854, 1856, 1861, 1866, 1867, 1873, 1872, 1876, 1077 1880, 1882, 1884, 1890, 1891, 1896, 1901, 1903, 1908, 1910, 1078 1911, 1913, 1918, 1920, 1922, 1927, 1929, 1934, 1939, 1947, 1079 1953, 1952, 1966, 1967, 1972, 1973, 1977, 1982, 1987, 1995, 1080 2000, 2011, 2012, 2017, 2018, 2024, 2025, 2029, 2030, 2031, 1081 2034, 2033, 2044, 2053, 2059, 2065, 2074, 2080, 2086, 2092, 1082 2098, 2106, 2112, 2120, 2126, 2135, 2136, 2137, 2141, 2145, 1083 2147, 2152, 2153, 2157, 2158, 2163, 2169, 2170, 2173, 2175, 1084 2176, 2180, 2181, 2182, 2183, 2217, 2219, 2220, 2222, 2227, 1085 2232, 2237, 2239, 2241, 2246, 2248, 2250, 2252, 2257, 2259, 1086 2268, 2270, 2271, 2276, 2278, 2280, 2285, 2287, 2289, 2294, 1087 2296, 2298, 2307, 2308, 2309, 2313, 2315, 2317, 2322, 2324, 1088 2326, 2331, 2333, 2335, 2350, 2352, 2353, 2355, 2360, 2361, 1089 2366, 2368, 2370, 2375, 2377, 2379, 2381, 2386, 2388, 2390, 1090 2400, 2402, 2403, 2405, 2410, 2412, 2414, 2419, 2421, 2423, 1091 2425, 2430, 2432, 2434, 2465, 2467, 2468, 2470, 2475, 2480, 1092 2488, 2490, 2492, 2497, 2499, 2504, 2506, 2520, 2521, 2523, 1093 2528, 2530, 2532, 2534, 2536, 2541, 2542, 2544, 2546, 2551, 1094 2553, 2555, 2561, 2563, 2565, 2569, 2571, 2573, 2575, 2589, 1095 2590, 2592, 2597, 2599, 2601, 2603, 2605, 2610, 2611, 2613, 1096 2615, 2620, 2622, 2624, 2630, 2631, 2633, 2642, 2645, 2647, 1097 2650, 2652, 2654, 2667, 2668, 2670, 2675, 2677, 2679, 2681, 1098 2683, 2688, 2689, 2691, 2693, 2698, 2700, 2708, 2709, 2710, 1099 2715, 2716, 2720, 2722, 2724, 2726, 2728, 2730, 2737, 2739, 1100 2741, 2743, 2745, 2748, 2750, 2752, 2754, 2756, 2761, 2763, 1101 2765, 2770, 2796, 2797, 2799, 2803, 2804, 2808, 2810, 2812, 1102 2814, 2816, 2818, 2825, 2827, 2829, 2831, 2833, 2835, 2840, 1103 2847, 2849, 2867, 2869, 2874, 2875 1108 1104 }; 1109 1105 #endif … … 1117 1113 "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL", 1118 1114 "LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE", 1119 "SIGNED", "UNSIGNED", "ZERO_T", "ONE_T", "VALIST", "BOOL", "COMPLEX", 1120 "IMAGINARY", "TYPEOF", "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", 1121 "FTYPE", "DTYPE", "TRAIT", "SIZEOF", "OFFSETOF", "ATTRIBUTE", 1122 "EXTENSION", "IF", "ELSE", "SWITCH", "CASE", "DEFAULT", "DO", "WHILE", 1123 "FOR", "BREAK", "CONTINUE", "GOTO", "RETURN", "CHOOSE", "DISABLE", 1124 "ENABLE", "FALLTHRU", "TRY", "CATCH", "CATCHRESUME", "FINALLY", "THROW", 1125 "THROWRESUME", "AT", "ASM", "ALIGNAS", "ALIGNOF", "ATOMIC", "GENERIC", 1126 "NORETURN", "STATICASSERT", "THREADLOCAL", "IDENTIFIER", 1127 "QUOTED_IDENTIFIER", "TYPEDEFname", "TYPEGENname", "ATTR_IDENTIFIER", 1128 "ATTR_TYPEDEFname", "ATTR_TYPEGENname", "INTEGERconstant", 1129 "CHARACTERconstant", "STRINGliteral", "REALDECIMALconstant", 1130 "REALFRACTIONconstant", "FLOATINGconstant", "ZERO", "ONE", "ARROW", 1131 "ICR", "DECR", "LS", "RS", "LE", "GE", "EQ", "NE", "ANDAND", "OROR", 1132 "ELLIPSIS", "MULTassign", "DIVassign", "MODassign", "PLUSassign", 1133 "MINUSassign", "LSassign", "RSassign", "ANDassign", "ERassign", 1134 "ORassign", "ATassign", "THEN", "'('", "')'", "'['", "']'", "'.'", "'{'", 1135 "'}'", "','", "'*'", "'&'", "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", 1136 "'<'", "'>'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "$accept", 1137 "push", "pop", "constant", "identifier", "no_01_identifier", 1138 "no_attr_identifier", "zero_one", "string_literal", 1115 "SIGNED", "UNSIGNED", "VALIST", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF", 1116 "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", "FTYPE", "DTYPE", "TRAIT", 1117 "SIZEOF", "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH", 1118 "CASE", "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO", 1119 "RETURN", "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH", 1120 "CATCHRESUME", "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS", 1121 "ALIGNOF", "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT", 1122 "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname", 1123 "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname", 1124 "INTEGERconstant", "CHARACTERconstant", "STRINGliteral", 1125 "REALDECIMALconstant", "REALFRACTIONconstant", "FLOATINGconstant", 1126 "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE", "GE", "EQ", 1127 "NE", "ANDAND", "OROR", "ELLIPSIS", "MULTassign", "DIVassign", 1128 "MODassign", "PLUSassign", "MINUSassign", "LSassign", "RSassign", 1129 "ANDassign", "ERassign", "ORassign", "ATassign", "THEN", "'('", "')'", 1130 "'['", "']'", "'.'", "'{'", "'}'", "','", "'*'", "'&'", "'+'", "'-'", 1131 "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", "'?'", "':'", 1132 "'='", "';'", "$accept", "push", "pop", "constant", "identifier", 1133 "no_01_identifier", "no_attr_identifier", "zero_one", "string_literal", 1139 1134 "string_literal_list", "primary_expression", "postfix_expression", 1140 1135 "argument_expression_list", "argument_expression", "field_list", "field", … … 1240 1235 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 1241 1236 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 1242 365, 366, 367, 40, 41, 91, 93, 46, 123, 125,1243 44, 42, 38, 43, 45, 33, 126, 47, 37, 60,1244 62, 94,124, 63, 58, 61, 591237 365, 40, 41, 91, 93, 46, 123, 125, 44, 42, 1238 38, 43, 45, 33, 126, 47, 37, 60, 62, 94, 1239 124, 63, 58, 61, 59 1245 1240 }; 1246 1241 # endif … … 1249 1244 static const yytype_uint16 yyr1[] = 1250 1245 { 1251 0, 13 7, 138, 139, 140, 140, 140, 140, 140, 141,1252 1 41, 141, 142, 142, 143, 143, 144, 144, 145, 146,1253 14 6, 147, 147, 147, 147, 147, 148, 148, 148, 148,1254 14 8, 148, 148, 148, 148, 148, 148, 148, 149, 149,1255 1 50, 150, 151, 151, 152, 152, 152, 152, 152, 152,1256 15 2, 153, 153, 153, 154, 154, 155, 155, 155, 155,1257 15 5, 155, 155, 155, 155, 155, 155, 155, 155, 155,1258 15 5, 155, 156, 156, 157, 157, 157, 157, 158, 158,1259 15 9, 159, 159, 159, 160, 160, 160, 161, 161, 161,1260 16 2, 162, 162, 162, 162, 163, 163, 163, 164, 164,1261 16 5, 165, 166, 166, 167, 167, 168, 168, 169, 169,1262 16 9, 170, 171, 171, 172, 172, 173, 173, 173, 173,1263 17 3, 173, 173, 173, 173, 173, 173, 173, 174, 174,1264 17 5, 175, 176, 176, 177, 177, 178, 178, 178, 178,1265 17 8, 178, 178, 178, 178, 179, 180, 180, 181, 181,1266 18 2, 182, 182, 182, 183, 183, 184, 185, 185, 185,1267 18 5, 185, 185, 186, 186, 186, 187, 187, 188, 188,1268 18 9, 189, 190, 191, 191, 192, 192, 193, 193, 194,1269 19 4, 194, 194, 195, 195, 196, 196, 197, 197, 197,1270 19 8, 198, 199, 199, 199, 199, 199, 199, 199, 199,1271 19 9, 199, 200, 200, 200, 201, 201, 201, 201, 201,1272 20 2, 202, 202, 202, 203, 204, 204, 204, 204, 204,1273 20 5, 205, 205, 205, 205, 206, 206, 207, 207, 208,1274 20 8, 209, 209, 210, 210, 210, 211, 211, 212, 212,1275 21 3, 213, 214, 214, 215, 215, 216, 216, 217, 217,1276 21 8, 218, 219, 219, 220, 220, 220, 220, 220, 221,1277 2 21, 221, 222, 222, 222, 223, 223, 223, 223, 223,1278 22 4, 224, 225, 225, 226, 226, 226, 227, 227, 227,1279 22 7, 227, 228, 228, 229, 229, 229, 229, 230, 230,1280 2 31, 231, 231, 231, 232, 232, 232, 232, 233, 233,1281 23 4, 234, 235, 235, 236, 236, 236, 236, 236, 237,1282 23 6, 238, 238, 238, 239, 239, 240, 240, 240, 240,1283 2 40, 240, 240, 240, 241, 241, 241, 241, 241, 241,1284 2 41, 241, 241, 241, 241, 241, 241, 241, 241, 242,1285 24 2, 242, 242, 242, 243, 243, 244, 244, 244, 244,1286 24 5, 245, 245, 245, 246, 246, 246, 246, 247, 247,1287 24 7, 248, 248, 248, 248, 249, 249, 249, 250, 250,1288 25 1, 251, 252, 251, 251, 251, 253, 253, 254, 254,1289 25 5, 255, 255, 255, 256, 256, 256, 256, 257, 257,1290 25 8, 258, 258, 258, 258, 259, 259, 260, 261, 262,1291 26 2, 263, 262, 264, 264, 265, 265, 266, 266, 267,1292 26 7, 267, 267, 267, 268, 268, 268, 268, 269, 269,1293 2 70, 270, 271, 271, 272, 272, 272, 272, 273, 273,1294 27 3, 273, 273, 274, 274, 274, 274, 274, 275, 275,1295 27 6, 276, 277, 277, 278, 278, 278, 279, 279, 279,1296 2 80, 280, 280, 281, 281, 281, 282, 282, 282, 282,1297 28 3, 283, 283, 284, 284, 285, 285, 285, 285, 285,1298 28 6, 286, 287, 287, 288, 288, 288, 288, 288, 289,1299 28 9, 289, 289, 290, 290, 290, 291, 292, 292, 294,1300 293, 293, 29 5, 295, 295, 296, 296, 297, 297, 297,1301 29 8, 298, 298, 298, 299, 299, 299, 300, 300, 301,1302 301, 30 2, 303, 302, 304, 304, 305, 305, 306, 306,1303 30 6, 307, 307, 308, 308, 309, 309, 310, 310, 311,1304 31 1, 311, 312, 311, 311, 313, 313, 313, 314, 314,1305 31 4, 314, 314, 314, 314, 314, 314, 315, 315, 315,1306 31 6, 317, 317, 318, 318, 319, 319, 320, 321, 321,1307 32 2, 322, 322, 323, 323, 323, 323, 324, 324, 324,1308 32 4, 325, 325, 326, 326, 326, 327, 327, 327, 327,1309 32 8, 328, 329, 329, 329, 330, 330, 330, 331, 331,1310 33 1, 332, 332, 332, 333, 333, 333, 334, 334, 334,1311 33 5, 335, 335, 336, 336, 336, 337, 337, 337, 337,1312 33 8, 338, 339, 339, 339, 340, 340, 340, 340, 341,1313 34 1, 341, 342, 342, 342, 342, 343, 343, 343, 344,1314 34 4, 344, 344, 345, 345, 345, 346, 346, 346, 346,1315 34 7, 347, 348, 348, 348, 349, 349, 350, 350, 351,1316 35 1, 351, 352, 352, 352, 352, 352, 353, 353, 353,1317 35 3, 354, 354, 354, 355, 355, 355, 356, 356, 356,1318 35 6, 357, 357, 357, 358, 358, 358, 358, 358, 359,1319 35 9, 359, 359, 360, 360, 360, 361, 361, 361, 362,1320 36 2, 362, 362, 362, 362, 363, 363, 363, 364, 364,1321 36 4, 364, 364, 365, 365, 365, 365, 366, 366, 367,1322 36 7, 367, 368, 368, 369, 369, 369, 369, 369, 369,1323 3 70, 370, 370, 370, 370, 370, 370, 370, 370, 370,1324 3 71, 371, 371, 371, 372, 372, 372, 373, 373, 374,1325 37 4, 374, 374, 374, 374, 375, 375, 375, 375, 375,1326 375, 37 6, 377, 377, 378, 378, 379, 3791246 0, 135, 136, 137, 138, 138, 138, 138, 138, 139, 1247 139, 139, 140, 140, 141, 141, 142, 142, 143, 144, 1248 144, 145, 145, 145, 145, 145, 146, 146, 146, 146, 1249 146, 146, 146, 146, 146, 146, 146, 146, 147, 147, 1250 148, 148, 149, 149, 150, 150, 150, 150, 150, 150, 1251 150, 151, 151, 151, 152, 152, 153, 153, 153, 153, 1252 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 1253 153, 153, 154, 154, 155, 155, 155, 155, 156, 156, 1254 157, 157, 157, 157, 158, 158, 158, 159, 159, 159, 1255 160, 160, 160, 160, 160, 161, 161, 161, 162, 162, 1256 163, 163, 164, 164, 165, 165, 166, 166, 167, 167, 1257 167, 168, 169, 169, 170, 170, 171, 171, 171, 171, 1258 171, 171, 171, 171, 171, 171, 171, 171, 172, 172, 1259 173, 173, 174, 174, 175, 175, 176, 176, 176, 176, 1260 176, 176, 176, 176, 176, 177, 178, 178, 179, 179, 1261 180, 180, 180, 180, 181, 181, 182, 183, 183, 183, 1262 183, 183, 183, 184, 184, 184, 185, 185, 186, 186, 1263 187, 187, 188, 189, 189, 190, 190, 191, 191, 192, 1264 192, 192, 192, 193, 193, 194, 194, 195, 195, 195, 1265 196, 196, 197, 197, 197, 197, 197, 197, 197, 197, 1266 197, 197, 198, 198, 198, 199, 199, 199, 199, 199, 1267 200, 200, 200, 200, 201, 202, 202, 202, 202, 202, 1268 203, 203, 203, 203, 203, 204, 204, 205, 205, 206, 1269 206, 207, 207, 208, 208, 208, 209, 209, 210, 210, 1270 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 1271 216, 216, 217, 217, 218, 218, 218, 218, 218, 219, 1272 219, 219, 220, 220, 220, 221, 221, 221, 221, 221, 1273 222, 222, 223, 223, 224, 224, 224, 225, 225, 225, 1274 225, 225, 226, 226, 227, 227, 227, 227, 228, 228, 1275 229, 229, 229, 229, 230, 230, 230, 230, 231, 231, 1276 232, 232, 233, 233, 234, 234, 234, 234, 234, 235, 1277 234, 236, 236, 236, 237, 237, 238, 238, 238, 238, 1278 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 1279 239, 239, 239, 239, 239, 239, 239, 240, 240, 240, 1280 240, 240, 241, 241, 242, 242, 242, 242, 243, 243, 1281 243, 243, 244, 244, 244, 244, 245, 245, 245, 246, 1282 246, 246, 246, 247, 247, 247, 248, 248, 249, 249, 1283 250, 249, 249, 249, 251, 251, 252, 252, 253, 253, 1284 253, 253, 254, 254, 254, 254, 255, 255, 256, 256, 1285 256, 256, 256, 257, 257, 258, 259, 260, 260, 261, 1286 260, 262, 262, 263, 263, 264, 264, 265, 265, 265, 1287 265, 265, 266, 266, 266, 266, 267, 267, 268, 268, 1288 269, 269, 270, 270, 270, 270, 271, 271, 271, 271, 1289 271, 272, 272, 272, 272, 272, 273, 273, 274, 274, 1290 275, 275, 276, 276, 276, 277, 277, 277, 278, 278, 1291 278, 279, 279, 279, 280, 280, 280, 280, 281, 281, 1292 281, 282, 282, 283, 283, 283, 283, 283, 284, 284, 1293 285, 285, 286, 286, 286, 286, 286, 287, 287, 287, 1294 287, 288, 288, 288, 289, 290, 290, 292, 291, 291, 1295 293, 293, 293, 294, 294, 295, 295, 295, 296, 296, 1296 296, 296, 297, 297, 297, 298, 298, 299, 299, 300, 1297 301, 300, 302, 302, 303, 303, 304, 304, 304, 305, 1298 305, 306, 306, 307, 307, 308, 308, 309, 309, 309, 1299 310, 309, 309, 311, 311, 311, 312, 312, 312, 312, 1300 312, 312, 312, 312, 312, 313, 313, 313, 314, 315, 1301 315, 316, 316, 317, 317, 318, 319, 319, 320, 320, 1302 320, 321, 321, 321, 321, 322, 322, 322, 322, 323, 1303 323, 324, 324, 324, 325, 325, 325, 325, 326, 326, 1304 327, 327, 327, 328, 328, 328, 329, 329, 329, 330, 1305 330, 330, 331, 331, 331, 332, 332, 332, 333, 333, 1306 333, 334, 334, 334, 335, 335, 335, 335, 336, 336, 1307 337, 337, 337, 338, 338, 338, 338, 339, 339, 339, 1308 340, 340, 340, 340, 341, 341, 341, 342, 342, 342, 1309 342, 343, 343, 343, 344, 344, 344, 344, 345, 345, 1310 346, 346, 346, 347, 347, 348, 348, 349, 349, 349, 1311 350, 350, 350, 350, 350, 351, 351, 351, 351, 352, 1312 352, 352, 353, 353, 353, 354, 354, 354, 354, 355, 1313 355, 355, 356, 356, 356, 356, 356, 357, 357, 357, 1314 357, 358, 358, 358, 359, 359, 359, 360, 360, 360, 1315 360, 360, 360, 361, 361, 361, 362, 362, 362, 362, 1316 362, 363, 363, 363, 363, 364, 364, 365, 365, 365, 1317 366, 366, 367, 367, 367, 367, 367, 367, 368, 368, 1318 368, 368, 368, 368, 368, 368, 368, 368, 369, 369, 1319 369, 369, 370, 370, 370, 371, 371, 372, 372, 372, 1320 372, 372, 372, 373, 373, 373, 373, 373, 373, 374, 1321 375, 375, 376, 376, 377, 377 1327 1322 }; 1328 1323 … … 1363 1358 5, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1364 1359 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1366 2, 2, 3, 3, 1, 3, 1, 2, 2, 2, 1367 4, 4, 4, 4, 1, 2, 2, 3, 1, 2, 1368 2, 1, 2, 2, 3, 1, 2, 2, 1, 1, 1369 4, 2, 0, 6, 7, 2, 2, 2, 0, 2, 1370 2, 3, 2, 3, 1, 2, 3, 2, 2, 4, 1371 0, 1, 2, 2, 1, 0, 1, 2, 2, 5, 1372 2, 0, 7, 2, 4, 0, 2, 0, 1, 1, 1373 1, 5, 5, 5, 1, 5, 5, 9, 1, 5, 1374 0, 1, 1, 5, 1, 1, 5, 5, 1, 3, 1375 3, 4, 1, 1, 1, 1, 2, 1, 3, 3, 1376 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1377 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1378 0, 2, 2, 1, 4, 0, 1, 2, 3, 4, 1379 2, 2, 1, 2, 2, 5, 5, 7, 6, 1, 1380 2, 2, 3, 1, 2, 2, 4, 2, 4, 0, 1381 4, 2, 1, 1, 1, 0, 2, 5, 5, 13, 1382 1, 1, 3, 3, 2, 3, 3, 2, 4, 1, 1383 6, 9, 0, 11, 1, 3, 3, 3, 1, 1, 1384 5, 2, 5, 0, 1, 1, 3, 0, 1, 1, 1385 1, 1, 0, 6, 2, 1, 2, 4, 2, 3, 1386 3, 3, 4, 5, 5, 5, 6, 1, 1, 1, 1387 3, 0, 5, 0, 1, 1, 2, 6, 1, 3, 1388 0, 1, 4, 1, 1, 1, 1, 2, 1, 2, 1389 2, 1, 3, 2, 3, 3, 2, 4, 4, 3, 1390 8, 3, 2, 1, 2, 6, 8, 3, 2, 3, 1391 3, 4, 4, 3, 1, 1, 1, 4, 6, 3, 1392 2, 3, 3, 4, 4, 3, 2, 1, 2, 2, 1393 1, 3, 2, 3, 3, 2, 4, 4, 3, 6, 1394 8, 3, 2, 1, 2, 2, 2, 3, 3, 2, 1395 4, 4, 3, 6, 8, 3, 2, 1, 2, 2, 1396 1, 1, 2, 3, 3, 2, 4, 6, 8, 1, 1360 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1361 3, 3, 1, 3, 1, 2, 2, 2, 4, 4, 1362 4, 4, 1, 2, 2, 3, 1, 2, 2, 1, 1363 2, 2, 3, 1, 2, 2, 1, 1, 4, 2, 1364 0, 6, 7, 2, 2, 2, 0, 2, 2, 3, 1365 2, 3, 1, 2, 3, 2, 2, 4, 0, 1, 1366 2, 2, 1, 0, 1, 2, 2, 5, 2, 0, 1367 7, 2, 4, 0, 2, 0, 1, 1, 1, 5, 1368 5, 5, 1, 5, 5, 9, 1, 5, 0, 1, 1369 1, 5, 1, 1, 5, 5, 1, 3, 3, 4, 1370 1, 1, 1, 1, 2, 1, 3, 3, 1, 2, 1371 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1372 1, 1, 1, 2, 1, 1, 1, 2, 0, 2, 1373 2, 1, 4, 0, 1, 2, 3, 4, 2, 2, 1374 1, 2, 2, 5, 5, 7, 6, 1, 2, 2, 1375 3, 1, 2, 2, 4, 2, 4, 0, 4, 2, 1376 1, 1, 1, 0, 2, 5, 5, 13, 1, 1, 1377 3, 3, 2, 3, 3, 2, 4, 1, 6, 9, 1378 0, 11, 1, 3, 3, 3, 1, 1, 5, 2, 1379 5, 0, 1, 1, 3, 0, 1, 1, 1, 1, 1380 0, 6, 2, 1, 2, 4, 2, 3, 3, 3, 1381 4, 5, 5, 5, 6, 1, 1, 1, 3, 0, 1382 5, 0, 1, 1, 2, 6, 1, 3, 0, 1, 1383 4, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1384 3, 2, 3, 3, 2, 4, 4, 3, 8, 3, 1385 2, 1, 2, 6, 8, 3, 2, 3, 3, 4, 1386 4, 3, 1, 1, 1, 4, 6, 3, 2, 3, 1387 3, 4, 4, 3, 2, 1, 2, 2, 1, 3, 1388 2, 3, 3, 2, 4, 4, 3, 6, 8, 3, 1389 2, 1, 2, 2, 2, 3, 3, 2, 4, 4, 1390 3, 6, 8, 3, 2, 1, 2, 2, 1, 1, 1391 2, 3, 3, 2, 4, 6, 8, 1, 2, 2, 1392 1, 2, 2, 3, 3, 1, 4, 4, 3, 5, 1393 8, 3, 2, 3, 1, 5, 5, 6, 6, 1, 1397 1394 2, 2, 1, 2, 2, 3, 3, 1, 4, 4, 1398 3, 5, 8, 3, 2, 3, 1, 5, 5, 6, 1399 6, 1, 2, 2, 1, 2, 2, 3, 3, 1, 1400 4, 4, 3, 5, 8, 3, 1, 2, 1, 2, 1401 6, 5, 6, 7, 7, 1, 2, 2, 1, 2, 1402 2, 3, 3, 1, 4, 4, 3, 8, 3, 1, 1403 1, 2, 1, 1, 2, 3, 2, 3, 2, 3, 1404 3, 2, 4, 3, 2, 3, 2, 4, 3, 2, 1405 6, 6, 6, 7, 1, 2, 1, 1, 1, 2, 1406 3, 2, 3, 2, 3, 3, 4, 2, 3, 4, 1407 2, 5, 6, 6, 0, 1, 0, 2 1395 3, 5, 8, 3, 1, 2, 1, 2, 6, 5, 1396 6, 7, 7, 1, 2, 2, 1, 2, 2, 3, 1397 3, 1, 4, 4, 3, 8, 3, 1, 1, 2, 1398 1, 1, 2, 3, 2, 3, 2, 3, 3, 2, 1399 4, 3, 2, 3, 2, 4, 3, 2, 6, 6, 1400 6, 7, 1, 2, 1, 1, 1, 2, 3, 2, 1401 3, 2, 3, 3, 4, 2, 3, 4, 2, 5, 1402 6, 6, 0, 1, 0, 2 1408 1403 }; 1409 1404 … … 1415 1410 298, 298, 318, 316, 319, 317, 320, 321, 304, 306, 1416 1411 305, 0, 307, 332, 324, 329, 327, 328, 326, 325, 1417 330, 331, 33 7, 338, 336, 333, 334, 335, 553, 553,1418 553, 0, 0, 0, 298, 225, 308, 322, 323, 9,1419 365, 0, 10, 16, 17, 0, 2, 72, 73, 571,1420 11, 298, 531, 529, 252, 3, 460, 3, 265, 0,1421 3, 3, 3, 253, 3, 0, 0, 0, 299, 300,1422 3 02, 298, 311, 314, 346, 290, 339, 344, 291, 354,1423 292, 361, 358, 368, 0, 0, 369, 293, 479, 483,1424 3, 3, 0, 2, 525, 530, 535, 303, 0, 0,1425 55 3, 583, 553, 2, 594, 595, 596, 298, 0, 737,1426 738, 0, 14, 0, 15, 298, 274, 275, 0, 299,1427 29 4, 295, 296, 297, 532, 309, 398, 554, 555, 376,1428 377, 14, 451, 452, 13, 447, 450, 0, 509, 504,1429 4 95, 451, 452, 0, 0, 534, 226, 0, 298, 0,1430 0, 0, 0, 0, 0, 0, 0, 298, 298, 0,1431 739, 299, 588, 600, 743, 736, 734, 741, 0, 0,1432 0, 259, 2, 0, 538, 445, 446, 444, 0, 0,1433 0, 0, 553, 0, 640, 641, 0, 0, 551, 547,1434 55 3, 568, 553, 553, 549, 2, 548, 553, 607, 553,1435 553, 610, 0, 0, 0, 298, 298, 316, 366, 2,1436 298, 266, 301, 312, 347, 359, 484, 0, 2, 0,1437 460, 267, 299, 340, 355, 362, 480, 0, 2, 0,1438 3 15, 341, 348, 349, 0, 356, 360, 363, 367, 452,1439 298, 378, 371, 375, 0, 400, 481, 485, 0, 0,1440 0, 1, 298, 2, 536, 582, 584, 298, 2, 747,1441 299, 750, 551, 551, 0, 299, 0, 0, 277, 553,1442 549, 2, 298, 0, 0, 298, 556, 2, 507, 2,1443 560, 0, 0, 0, 0, 0, 0, 21, 69, 4,1444 8, 19, 5, 6, 7, 0, 0, 298, 2, 74,1445 7 5, 76, 77, 57, 22, 58, 18, 26, 56, 78,1446 298, 0, 80, 84, 87, 90, 95, 98, 100, 102,1447 10 4, 106, 108, 112, 501, 23, 458, 500, 0, 456,1448 457, 0, 572, 587, 590, 593, 599, 602, 605, 2,1449 74 5, 298, 748, 2, 72, 298, 3, 432, 0, 440,1450 299, 298, 311, 339, 291, 354, 361, 3, 3, 414,1451 4 18, 428, 433, 479, 298, 434, 712, 713, 298, 435,1452 437, 2, 589, 601, 735, 2, 2, 254, 2, 465,1453 0, 463, 462, 461, 146, 2, 2, 256, 2, 2,1454 2 55, 2, 285, 2, 286, 0, 284, 0, 0, 0,1455 0, 0, 0, 0, 0, 0, 573, 612, 0, 460,1456 2, 567, 576, 666, 569, 570, 539, 298, 2, 606,1457 6 15, 608, 609, 0, 280, 298, 298, 345, 299, 0,1458 299, 298, 740, 744, 742, 540, 298, 551, 260, 268,1459 313, 0, 2, 541, 298, 505, 342, 343, 287, 357,1460 364, 0, 298, 0, 754, 405, 0, 482, 506, 257,1461 2 58, 526, 298, 442, 0, 298, 242, 0, 2, 244,1462 0, 2 99, 0, 262, 2, 263, 282, 0, 0, 2,1463 298, 551, 298, 492, 494, 493, 0, 0, 756, 0,1464 298, 0, 298, 496, 298, 566, 564, 565, 563, 0,1465 558, 561, 0, 0, 298, 64, 298, 78, 59, 298,1466 66, 298, 298, 62, 63, 2, 132, 0, 0, 454,1467 0, 453, 734, 298, 20, 31, 0, 34, 35, 40,1468 2, 0, 40, 118, 119, 120, 121, 122, 123, 124,1469 12 5, 126, 127, 117, 116, 0, 60, 61, 0, 0,1412 330, 331, 336, 333, 334, 335, 551, 551, 551, 0, 1413 0, 0, 298, 225, 308, 322, 323, 9, 363, 0, 1414 10, 16, 17, 0, 2, 72, 73, 569, 11, 298, 1415 529, 527, 252, 3, 458, 3, 265, 0, 3, 3, 1416 3, 253, 3, 0, 0, 0, 299, 300, 302, 298, 1417 311, 314, 344, 290, 337, 342, 291, 352, 292, 359, 1418 356, 366, 0, 0, 367, 293, 477, 481, 3, 3, 1419 0, 2, 523, 528, 533, 303, 0, 0, 551, 581, 1420 551, 2, 592, 593, 594, 298, 0, 735, 736, 0, 1421 14, 0, 15, 298, 274, 275, 0, 299, 294, 295, 1422 296, 297, 530, 309, 396, 552, 553, 374, 375, 14, 1423 449, 450, 13, 445, 448, 0, 507, 502, 493, 449, 1424 450, 0, 0, 532, 226, 0, 298, 0, 0, 0, 1425 0, 0, 0, 0, 0, 298, 298, 0, 737, 299, 1426 586, 598, 741, 734, 732, 739, 0, 0, 0, 259, 1427 2, 0, 536, 443, 444, 442, 0, 0, 0, 0, 1428 551, 0, 638, 639, 0, 0, 549, 545, 551, 566, 1429 551, 551, 547, 2, 546, 551, 605, 551, 551, 608, 1430 0, 0, 0, 298, 298, 316, 364, 2, 298, 266, 1431 301, 312, 345, 357, 482, 0, 2, 0, 458, 267, 1432 299, 338, 353, 360, 478, 0, 2, 0, 315, 339, 1433 346, 347, 0, 354, 358, 361, 365, 450, 298, 376, 1434 369, 373, 0, 398, 479, 483, 0, 0, 0, 1, 1435 298, 2, 534, 580, 582, 298, 2, 745, 299, 748, 1436 549, 549, 0, 299, 0, 0, 277, 551, 547, 2, 1437 298, 0, 0, 298, 554, 2, 505, 2, 558, 0, 1438 0, 0, 0, 0, 0, 21, 69, 4, 8, 19, 1439 5, 6, 7, 0, 0, 298, 2, 74, 75, 76, 1440 77, 57, 22, 58, 18, 26, 56, 78, 298, 0, 1441 80, 84, 87, 90, 95, 98, 100, 102, 104, 106, 1442 108, 112, 499, 23, 456, 498, 0, 454, 455, 0, 1443 570, 585, 588, 591, 597, 600, 603, 2, 743, 298, 1444 746, 2, 72, 298, 3, 430, 0, 438, 299, 298, 1445 311, 337, 291, 352, 359, 3, 3, 412, 416, 426, 1446 431, 477, 298, 432, 710, 711, 298, 433, 435, 2, 1447 587, 599, 733, 2, 2, 254, 2, 463, 0, 461, 1448 460, 459, 146, 2, 2, 256, 2, 2, 255, 2, 1449 285, 2, 286, 0, 284, 0, 0, 0, 0, 0, 1450 0, 0, 0, 0, 571, 610, 0, 458, 2, 565, 1451 574, 664, 567, 568, 537, 298, 2, 604, 613, 606, 1452 607, 0, 280, 298, 298, 343, 299, 0, 299, 298, 1453 738, 742, 740, 538, 298, 549, 260, 268, 313, 0, 1454 2, 539, 298, 503, 340, 341, 287, 355, 362, 0, 1455 298, 0, 752, 403, 0, 480, 504, 257, 258, 524, 1456 298, 440, 0, 298, 242, 0, 2, 244, 0, 299, 1457 0, 262, 2, 263, 282, 0, 0, 2, 298, 549, 1458 298, 490, 492, 491, 0, 0, 754, 0, 298, 0, 1459 298, 494, 298, 564, 562, 563, 561, 0, 556, 559, 1460 0, 0, 298, 64, 298, 78, 59, 298, 66, 298, 1461 298, 62, 63, 2, 132, 0, 0, 452, 0, 451, 1462 732, 298, 20, 31, 0, 34, 35, 40, 2, 0, 1463 40, 118, 119, 120, 121, 122, 123, 124, 125, 126, 1464 127, 117, 116, 0, 60, 61, 0, 0, 0, 0, 1470 1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1471 0, 0, 0, 0, 0, 0, 0, 2, 652, 459,1472 649, 553, 553, 657, 486, 298, 2, 591, 592, 0,1473 603, 604, 0, 746, 749, 298, 298, 0, 714, 299,1474 7 18, 709, 710, 716, 0, 2, 2, 674, 553, 756,1475 623, 553, 553, 756, 553, 637, 553, 553, 688, 441,1476 671, 553, 553, 679, 686, 298, 436, 299, 0, 0,1477 29 8, 724, 299, 729, 756, 721, 298, 726, 756, 298,1478 298, 0, 0, 21, 2, 0, 22, 0, 466, 754,1479 0, 0, 472, 246, 0, 298, 0, 0, 0, 551,1480 57 5, 579, 581, 611, 614, 618, 621, 574, 613, 0,1481 288, 664, 0, 298, 281, 0, 0, 0, 0, 279,1482 2, 0, 264, 542, 298, 0, 0, 298, 2, 370,1483 390, 379, 0, 0, 384, 378, 755, 0, 0, 403,1484 0, 299, 3, 421, 3, 425, 424, 597, 0, 537,1485 298, 72, 3, 298, 440, 299, 3, 434, 435, 2,1486 0, 0, 0, 491, 310, 298, 0, 487, 489, 3,1487 2, 2, 0, 508, 3, 0, 560, 134, 0, 0,1488 227, 0, 0, 0, 0, 41, 0, 0, 298, 24,1489 0, 25, 0, 698, 703, 455, 695, 553, 553, 0,1490 114, 3, 2, 32, 0, 38, 0, 2, 29, 0,1491 113, 81, 82, 83, 85, 86, 88, 89, 93, 94,1492 9 1, 92, 96, 97, 99, 101, 103, 105, 107, 0,1493 0, 298, 0, 0, 0, 653, 654, 650, 651, 503,1494 502, 298, 0, 720, 298, 725, 299, 298, 668, 711,1495 667, 2, 298, 0, 0, 0, 0, 0, 0, 0,1496 0, 6 89, 0, 675, 626, 642, 676, 2, 622, 629,1497 438, 624, 625, 439, 2, 636, 645, 638, 639, 672,1498 673, 687, 715, 719, 717, 756, 272, 2, 751, 2,1499 429, 723, 728, 430, 3, 408, 3, 3, 3, 460,1500 0, 0, 2, 474, 471, 755, 0, 467, 2, 470,1501 473, 0, 298, 247, 269, 3, 276, 278, 0, 460,1502 2, 577, 578, 2, 616, 617, 0, 665, 543, 3,1503 351, 350, 353, 352, 298, 544, 0, 545, 378, 0,1504 0, 298, 0, 0, 698, 388, 391, 395, 553, 395,1505 3 94, 387, 380, 553, 382, 385, 298, 405, 399, 111,1506 406, 754, 0, 0, 443, 245, 0, 0, 3, 2,1507 674, 436, 0, 533, 0, 756, 757, 495, 0, 298,1508 298, 298, 0, 557, 559, 135, 0, 0, 220, 0,1509 0, 0, 228, 229, 65, 0, 67, 70, 71, 0,1510 133, 0, 0, 0, 699, 700, 696, 697, 465, 79,1511 115, 130, 3, 114, 0, 28, 40, 3, 0, 37,1512 110, 0, 3, 656, 660, 663, 655, 3, 598, 722,1513 727, 2, 72, 298, 3, 3, 299, 0, 3, 628,1514 6 32, 635, 644, 678, 682, 685, 298, 3, 627, 643,1515 677, 298, 298, 431, 298, 298, 0, 0, 0, 0,1516 261, 111, 0, 3, 3, 0, 468, 0, 464,0,1517 0, 250, 298, 0, 0, 134, 0, 0, 0, 0,1518 0, 134, 0, 0, 114, 114, 21, 0, 0, 3,1519 136, 137, 2, 148, 138, 139, 140, 141, 142, 143,1520 150, 152, 0, 0, 0, 289, 298, 298, 553, 0,1521 546, 298, 381, 383, 0, 397, 699, 392, 396, 393,1522 3 86, 390, 373, 404, 0, 585, 2, 670, 669, 0,1523 675, 2, 488, 490, 510, 3, 518, 519, 0, 2,1524 514, 3, 3, 0, 0, 562, 227, 0, 0, 0,1525 227, 0, 0, 702, 706, 708, 701, 754, 114, 0,1526 3, 54, 0, 54, 54, 3, 42, 44, 39, 0,1527 3, 109, 0, 2, 658, 659, 0, 298, 0, 0,1528 0, 3, 644, 0, 2, 630, 631, 2, 646, 2,1529 680, 681, 0, 0, 72, 0, 3, 3, 3,3,1530 41 6, 415, 419, 753, 2, 2, 752, 0, 0, 0,1531 0, 3, 469, 3, 0, 248, 151, 3, 299, 298,1532 0, 0, 0, 0, 2, 0, 196, 0, 194, 0,1533 0, 0, 0, 0, 0, 0, 553, 0, 156, 153,1534 298, 0, 0, 271, 283, 3, 3, 552, 619, 374,1535 389, 402, 298, 270, 298, 0, 521, 498, 298, 0,1536 0, 497, 512, 0, 0, 0, 221, 0, 230, 68,1537 2, 704, 705, 0, 131, 128, 0, 51, 2, 45,1538 52, 53, 0, 0, 0, 0, 27, 0, 661, 298,1539 586, 730, 731, 732, 0, 683, 298, 298, 298, 3,1540 3, 0, 691, 0, 0, 0, 0, 298, 298,3,1541 550, 475, 476, 0, 251, 299, 0, 0, 0, 0,1542 298, 197, 195, 192, 0, 198, 0, 0, 0, 0,1543 20 2, 205, 203, 199, 0, 200, 134, 40, 149, 147,1544 249, 0, 0, 423, 427, 426, 0, 515, 2, 516,1545 2, 517, 511, 298, 233, 0, 231, 0, 233, 298,1546 36, 129, 55, 0, 43, 33, 2, 49, 2, 47,1547 30, 3, 733, 3, 3, 3, 0, 0, 690, 692,1548 633, 647, 273, 2, 413, 3, 412, 0, 478, 134,1549 0, 0, 134, 3, 0, 134, 193, 0, 2, 2,1550 214, 204, 0, 0, 0, 145, 0, 580, 620, 2,1551 0, 0, 2, 234, 0, 0, 222, 0, 3, 3,1552 0, 0, 0, 0, 0, 0, 693, 694, 298, 0,1553 477, 157, 0, 0, 2, 170, 134, 159, 0, 187,1554 0, 134, 0, 2, 161, 0, 2, 0, 2, 2,1555 2, 201, 37, 298, 520, 522, 513, 0, 0, 0,1556 0, 0, 0, 3, 3, 662, 634, 648, 684, 417,1557 1 34, 163, 166, 0, 165, 169, 3, 172, 171, 0,1558 134, 189, 134, 3, 0, 298, 0, 298, 0, 2,1559 0, 2, 144, 2, 235, 236, 0, 232, 223, 707,1560 46, 0, 0, 158, 0, 0, 168, 238, 173, 2,1561 240, 188, 0, 191, 177, 206, 3, 215, 219, 208,1562 3, 0, 298, 0, 298, 0, 0, 0, 50, 48,1563 1 64, 167, 134, 0, 174, 298, 134, 134, 0, 178,1564 0, 0, 698, 216, 217, 218, 0, 207, 3, 209,1565 3, 298, 224, 237, 154, 175, 160, 134, 241, 190,1566 1 85, 183, 179, 162, 134, 0, 699, 0, 0, 0,1567 0, 155, 176, 186, 180, 184, 183, 181, 3, 3,1568 0, 0, 499, 182, 210, 212, 3, 3, 211, 2131466 0, 0, 0, 0, 0, 2, 650, 457, 647, 551, 1467 551, 655, 484, 298, 2, 589, 590, 0, 601, 602, 1468 0, 744, 747, 298, 298, 0, 712, 299, 716, 707, 1469 708, 714, 0, 2, 2, 672, 551, 754, 621, 551, 1470 551, 754, 551, 635, 551, 551, 686, 439, 669, 551, 1471 551, 677, 684, 298, 434, 299, 0, 0, 298, 722, 1472 299, 727, 754, 719, 298, 724, 754, 298, 298, 0, 1473 0, 21, 2, 0, 22, 0, 464, 752, 0, 0, 1474 470, 246, 0, 298, 0, 0, 0, 549, 573, 577, 1475 579, 609, 612, 616, 619, 572, 611, 0, 288, 662, 1476 0, 298, 281, 0, 0, 0, 0, 279, 2, 0, 1477 264, 540, 298, 0, 0, 298, 2, 368, 388, 377, 1478 0, 0, 382, 376, 753, 0, 0, 401, 0, 299, 1479 3, 419, 3, 423, 422, 595, 0, 535, 298, 72, 1480 3, 298, 438, 299, 3, 432, 433, 2, 0, 0, 1481 0, 489, 310, 298, 0, 485, 487, 3, 2, 2, 1482 0, 506, 3, 0, 558, 134, 0, 0, 227, 0, 1483 0, 0, 0, 41, 0, 0, 298, 24, 0, 25, 1484 0, 696, 701, 453, 693, 551, 551, 0, 114, 3, 1485 2, 32, 0, 38, 0, 2, 29, 0, 113, 81, 1486 82, 83, 85, 86, 88, 89, 93, 94, 91, 92, 1487 96, 97, 99, 101, 103, 105, 107, 0, 0, 298, 1488 0, 0, 0, 651, 652, 648, 649, 501, 500, 298, 1489 0, 718, 298, 723, 299, 298, 666, 709, 665, 2, 1490 298, 0, 0, 0, 0, 0, 0, 0, 0, 687, 1491 0, 673, 624, 640, 674, 2, 620, 627, 436, 622, 1492 623, 437, 2, 634, 643, 636, 637, 670, 671, 685, 1493 713, 717, 715, 754, 272, 2, 749, 2, 427, 721, 1494 726, 428, 3, 406, 3, 3, 3, 458, 0, 0, 1495 2, 472, 469, 753, 0, 465, 2, 468, 471, 0, 1496 298, 247, 269, 3, 276, 278, 0, 458, 2, 575, 1497 576, 2, 614, 615, 0, 663, 541, 3, 349, 348, 1498 351, 350, 298, 542, 0, 543, 376, 0, 0, 298, 1499 0, 0, 696, 386, 389, 393, 551, 393, 392, 385, 1500 378, 551, 380, 383, 298, 403, 397, 111, 404, 752, 1501 0, 0, 441, 245, 0, 0, 3, 2, 672, 434, 1502 0, 531, 0, 754, 755, 493, 0, 298, 298, 298, 1503 0, 555, 557, 135, 0, 0, 220, 0, 0, 0, 1504 228, 229, 65, 0, 67, 70, 71, 0, 133, 0, 1505 0, 0, 697, 698, 694, 695, 463, 79, 115, 130, 1506 3, 114, 0, 28, 40, 3, 0, 37, 110, 0, 1507 3, 654, 658, 661, 653, 3, 596, 720, 725, 2, 1508 72, 298, 3, 3, 299, 0, 3, 626, 630, 633, 1509 642, 676, 680, 683, 298, 3, 625, 641, 675, 298, 1510 298, 429, 298, 298, 0, 0, 0, 0, 261, 111, 1511 0, 3, 3, 0, 466, 0, 462, 0, 0, 250, 1512 298, 0, 0, 134, 0, 0, 0, 0, 0, 134, 1513 0, 0, 114, 114, 21, 0, 0, 3, 136, 137, 1514 2, 148, 138, 139, 140, 141, 142, 143, 150, 152, 1515 0, 0, 0, 289, 298, 298, 551, 0, 544, 298, 1516 379, 381, 0, 395, 697, 390, 394, 391, 384, 388, 1517 371, 402, 0, 583, 2, 668, 667, 0, 673, 2, 1518 486, 488, 508, 3, 516, 517, 0, 2, 512, 3, 1519 3, 0, 0, 560, 227, 0, 0, 0, 227, 0, 1520 0, 700, 704, 706, 699, 752, 114, 0, 3, 54, 1521 0, 54, 54, 3, 42, 44, 39, 0, 3, 109, 1522 0, 2, 656, 657, 0, 298, 0, 0, 0, 3, 1523 642, 0, 2, 628, 629, 2, 644, 2, 678, 679, 1524 0, 0, 72, 0, 3, 3, 3, 3, 414, 413, 1525 417, 751, 2, 2, 750, 0, 0, 0, 0, 3, 1526 467, 3, 0, 248, 151, 3, 299, 298, 0, 0, 1527 0, 0, 2, 0, 196, 0, 194, 0, 0, 0, 1528 0, 0, 0, 0, 551, 0, 156, 153, 298, 0, 1529 0, 271, 283, 3, 3, 550, 617, 372, 387, 400, 1530 298, 270, 298, 0, 519, 496, 298, 0, 0, 495, 1531 510, 0, 0, 0, 221, 0, 230, 68, 2, 702, 1532 703, 0, 131, 128, 0, 51, 2, 45, 52, 53, 1533 0, 0, 0, 0, 27, 0, 659, 298, 584, 728, 1534 729, 730, 0, 681, 298, 298, 298, 3, 3, 0, 1535 689, 0, 0, 0, 0, 298, 298, 3, 548, 473, 1536 474, 0, 251, 299, 0, 0, 0, 0, 298, 197, 1537 195, 192, 0, 198, 0, 0, 0, 0, 202, 205, 1538 203, 199, 0, 200, 134, 40, 149, 147, 249, 0, 1539 0, 421, 425, 424, 0, 513, 2, 514, 2, 515, 1540 509, 298, 233, 0, 231, 0, 233, 298, 36, 129, 1541 55, 0, 43, 33, 2, 49, 2, 47, 30, 3, 1542 731, 3, 3, 3, 0, 0, 688, 690, 631, 645, 1543 273, 2, 411, 3, 410, 0, 476, 134, 0, 0, 1544 134, 3, 0, 134, 193, 0, 2, 2, 214, 204, 1545 0, 0, 0, 145, 0, 578, 618, 2, 0, 0, 1546 2, 234, 0, 0, 222, 0, 3, 3, 0, 0, 1547 0, 0, 0, 0, 691, 692, 298, 0, 475, 157, 1548 0, 0, 2, 170, 134, 159, 0, 187, 0, 134, 1549 0, 2, 161, 0, 2, 0, 2, 2, 2, 201, 1550 37, 298, 518, 520, 511, 0, 0, 0, 0, 0, 1551 0, 3, 3, 660, 632, 646, 682, 415, 134, 163, 1552 166, 0, 165, 169, 3, 172, 171, 0, 134, 189, 1553 134, 3, 0, 298, 0, 298, 0, 2, 0, 2, 1554 144, 2, 235, 236, 0, 232, 223, 705, 46, 0, 1555 0, 158, 0, 0, 168, 238, 173, 2, 240, 188, 1556 0, 191, 177, 206, 3, 215, 219, 208, 3, 0, 1557 298, 0, 298, 0, 0, 0, 50, 48, 164, 167, 1558 134, 0, 174, 298, 134, 134, 0, 178, 0, 0, 1559 696, 216, 217, 218, 0, 207, 3, 209, 3, 298, 1560 224, 237, 154, 175, 160, 134, 241, 190, 185, 183, 1561 179, 162, 134, 0, 697, 0, 0, 0, 0, 155, 1562 176, 186, 180, 184, 183, 181, 3, 3, 0, 0, 1563 497, 182, 210, 212, 3, 3, 211, 213 1569 1564 }; 1570 1565 … … 1572 1567 static const yytype_int16 yydefgoto[] = 1573 1568 { 1574 -1, 80 2, 466, 303, 49, 135, 136, 304, 305, 306,1575 30 7, 308, 754, 755, 1115, 1116, 1117, 1227, 309, 380,1576 3 11, 312, 313, 314, 315, 316, 317, 318, 319, 320,1577 3 21, 322, 323, 1012, 516, 961, 545, 325, 962, 935,1578 103 8, 1504, 1040, 1041, 1042, 1043, 1505, 1044, 1045, 1422,1579 142 3, 1385, 1386, 1387, 1483, 1484, 1488, 1489, 1524, 1525,1580 104 6, 1344, 1047, 1048, 1280, 1281, 1282, 1466, 1049, 147,1581 9 41, 942, 943, 1364, 1446, 1458, 1459, 467, 468, 862,1582 86 3, 1020, 53, 54, 55, 56, 57, 347, 159, 60,1583 61, 62, 63, 64, 349, 66, 67, 265, 69, 70,1584 27 5, 351, 352, 73, 74, 75, 120, 77, 205, 354,1585 1 21, 80, 122, 82, 83, 453, 84, 452, 681, 682,1586 68 3, 895, 1067, 896, 85, 86, 456, 454, 689, 844,1587 84 5, 357, 358, 692, 693, 694, 359, 360, 361, 362,1588 46 4, 178, 137, 138, 520, 327, 171, 638, 639, 640,1589 6 41, 642, 87, 123, 89, 487, 488, 927, 489, 278,1590 49 3, 328, 90, 139, 140, 91, 1303, 1089, 1090, 1091,1591 109 2, 92, 93, 710, 94, 274, 95, 96, 188, 1014,1592 67 2, 411, 127, 97, 499, 500, 501, 189, 269, 191,1593 19 2, 193, 270, 100, 101, 102, 103, 104, 105, 106,1594 19 6, 197, 198, 199, 200, 814, 600, 601, 602, 603,1595 201, 605, 606, 607, 569, 570, 571, 572, 744, 107,1596 60 9, 610, 611, 612, 613, 614, 955, 746, 747, 748,1597 5 90, 365, 366, 367, 368, 329, 165, 109, 110, 111,1598 3 70, 687, 7171569 -1, 800, 464, 301, 47, 133, 134, 302, 303, 304, 1570 305, 306, 752, 753, 1113, 1114, 1115, 1225, 307, 378, 1571 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 1572 319, 320, 321, 1010, 514, 959, 543, 323, 960, 933, 1573 1036, 1502, 1038, 1039, 1040, 1041, 1503, 1042, 1043, 1420, 1574 1421, 1383, 1384, 1385, 1481, 1482, 1486, 1487, 1522, 1523, 1575 1044, 1342, 1045, 1046, 1278, 1279, 1280, 1464, 1047, 145, 1576 939, 940, 941, 1362, 1444, 1456, 1457, 465, 466, 860, 1577 861, 1018, 51, 52, 53, 54, 55, 345, 157, 58, 1578 59, 60, 61, 62, 347, 64, 65, 263, 67, 68, 1579 273, 349, 350, 71, 72, 73, 118, 75, 203, 352, 1580 119, 78, 120, 80, 81, 451, 82, 450, 679, 680, 1581 681, 893, 1065, 894, 83, 84, 454, 452, 687, 842, 1582 843, 355, 356, 690, 691, 692, 357, 358, 359, 360, 1583 462, 176, 135, 136, 518, 325, 169, 636, 637, 638, 1584 639, 640, 85, 121, 87, 485, 486, 925, 487, 276, 1585 491, 326, 88, 137, 138, 89, 1301, 1087, 1088, 1089, 1586 1090, 90, 91, 708, 92, 272, 93, 94, 186, 1012, 1587 670, 409, 125, 95, 497, 498, 499, 187, 267, 189, 1588 190, 191, 268, 98, 99, 100, 101, 102, 103, 104, 1589 194, 195, 196, 197, 198, 812, 598, 599, 600, 601, 1590 199, 603, 604, 605, 567, 568, 569, 570, 742, 105, 1591 607, 608, 609, 610, 611, 612, 953, 744, 745, 746, 1592 588, 363, 364, 365, 366, 327, 163, 107, 108, 109, 1593 368, 685, 715 1599 1594 }; 1600 1595 1601 1596 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1602 1597 STATE-NUM. */ 1603 #define YYPACT_NINF -1 2671598 #define YYPACT_NINF -1333 1604 1599 static const yytype_int16 yypact[] = 1605 1600 { 1606 5235, 8510, -1267, -14, -1267, -1267, -1267, -1267, -1267, -1267,1607 -1 267, -27, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,1608 -1 267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 84, 84,1609 84, 1541, 905, 123, 6677, 163, -1267, -1267, -1267, -1267,1610 -1 267, 157, -1267, -1267, -1267, 1043, 81, -1267, -1267, -1267,1611 -1 267, 4048, -1267, -1267, -1267, -1267, 225, 198, -1267, 1956,1612 -1 267, -1267, -1267, -1267, 217, 1716, 371, 37, 6797, -1267,1613 -1267, 4048, 829, -1267, -1267, 1101, 380, 3172, 661, 839,1614 1101, 977, -1267, -1267, 1289, 340, -1267, 1101, 1140, -1267,1615 273, -1267, 439, 447, -1267, -1267, -1267, -1267, 337, 198,1616 84, -1267, 84, -1267, -1267, -1267, -1267, 7269, 1956, -1267,1617 -1 267, 1956, -1267, 325, -1267, 7582, -1267, -1267, 2178, 8744,1618 -1267, 675, 675, 675, -1267, -1267, -1267, 84, -1267, -1267,1619 -1267, 360, 395, 436, -1267, -1267, -1267, 466, -1267, -1267,1620 -1 267, -1267, -1267, 503, 515, -1267, -1267, 272, 8119, 1675,1621 307, 370, 377, 524, 565, 568, 580, 8828, 6307, 594,1622 -1 267, 4677, -1267, -1267, -1267, -1267, 613, -1267, 271, 9583,1623 9583, -1267, 610, 339, -1267, -1267, -1267, -1267, 618, 379,1624 421, 468, 84, 603, -1267, -1267, 1716, 2591, 687, -1267,1625 90, -1267, 84, 84, 198, -1267, -1267, 91, -1267, 84,1626 84, -1267, 2973, 652, 657, 675, 6831, -1267, -1267, -1267,1627 4048, -1267, -1267, 1101, -1267, -1267, -1267, 198, -1267, 1956,1628 225, -1267, 7235, -1267, 675, 675, 675, 198, -1267, 1541,1629 -1 267, 3826, -1267, -1267, 642, 675, -1267, 675, -1267, 157,1630 8119, -1267, 665, -1267, 905, 685, 675, -1267, 1541, 689,1631 710, -1267, 6677, 291, -1267, -1267, -1267, 8477, -1267, -1267,1632 4354, -1267, 687, 8, 9760, 8744, 2178, 2973, -1267, 101,1633 -1267, -1267, 7582, 1956, 740, 10515, -1267, -1267, 378, -1267,1634 10178, 730, 705, 9819, 773, 9760, 9878, -1267, 794, -1267,1635 -1 267, -1267, -1267, -1267, -1267, 9937, 9937, 7885, 81, -1267,1636 -1 267, -1267, -1267, -1267, -1267, -1267, 834, -1267, 1184, 2546,1637 8119, 9760, -1267, 525, 415, 844, 338, 853, 823, 831,1638 841, 886, 56, -1267, -1267, -1267, 518, -1267, 528, -1267,1639 -1 267, 1675, -1267, -1267, 456, 900, -1267, 490, 900, -1267,1640 -1 267, 7269, -1267, 940, 946, 8236, -1267, -1267, 536, 1525,1641 7667, 6831, 1101, -1267, 1101, 675, 675, -1267, -1267, -1267,1642 -1 267, -1267, -1267, 675, 7269, 1956, -1267, -1267, 8828, 1786,1643 -1 267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 9524,1644 9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,1645 -1 267, -1267, -1267, -1267, -1267, 2178, -1267, 446, 945, 961,1646 9 68, 800, 973, 976, 981, 2591, -1267, -1267, 939, 225,1647 982, -1267, -1267, 987, -1267, -1267, -1267, 8477, -1267, -1267,1648 -1 267, -1267, -1267, 2973, -1267, 8119, 8119, -1267, 675, 2178,1649 10547, 7742, -1267, -1267, -1267, -1267, 8477, 8, -1267, -1267,1650 1101, 198, -1267, -1267, 8477, -1267, 5404, -1267, -1267, 675,1651 675, 579, 8594, 994, 993, 983, 998, 675, -1267, -1267,1652 -1267, -1267, 9019, -1267, 616, 10212, -1267, 198, 1004, -1267,1653 2178, 10298, 9996, -1267, -1267, -1267, -1267, 843, 2973, -1267,1654 7742, 687, 5806, -1267, -1267, -1267, 1900, 626, 990, 905,1655 10515, 1647, 7582, -1267, 10515, -1267, -1267, -1267, -1267, 627,1656 -1267, 1013, 705, 154, 7885, -1267, 8860, -1267, -1267, 7885,1657 -1267, 8002, 7885, -1267, -1267, 81, -1267, 640, 1015, 658,1658 1021, -1267, -1267, 6061, -1267, -1267, 315, -1267, -1267, 9760,1659 -1267, 368, 9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267,1660 -1 267, -1267, -1267, -1267, -1267, 9760, -1267, -1267, 9760, 9760,1661 9 760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760,1662 9 760, 9760, 9760, 9760, 9760, 9760, 3432, 518, 1212, -1267,1663 -1267, 84, 84, -1267, -1267, 8119, -1267, -1267, 987, 291,1664 -1267, 987, 10055, -1267, -1267, 8828, 6061, 1020, -1267, 8744,1665 -1267, -1267, 613, -1267, 1023, 1793, 1025, 1950, 136, 990,1666 -1267, 84, 84, 990, 407, -1267, 84, 84, 987, -1267,1667 -1267, 84, 84, -1267, 900, 8944, 1956, 10447, 356, 541,1668 8944, -1267, 4354, -1267, 990, -1267, 7269, -1267, 126, 7354,1669 7354, 1956, 9642, 1003, -1267, 789, 1008, 1010, -1267, 1026,1670 9583, 449, -1267, 1114, 1956, 7354, 291, 2178, 291, 687,1671 707, 900, -1267, -1267, 766, 900, -1267, -1267, -1267, 705,1672 -1267, 900, 198, 9019, -1267, 643, 1041, 647, 1045, -1267,1673 940, 198, -1267, -1267, 8477, 198, 1042, 8860, 81, -1267,1674 1307, -1267, 471, 481, 905, -1267, 905, 1047, 9760, -1267,1675 905, 10447, -1267, -1267, 1056, -1267, -1267, -1267, 291, -1267,1676 10373, 946, -1267, 7354, 694, 7667, -1267, -1267, 613, 1052,1677 1057, 1900, 2267, -1267, -1267, 10515, 9760, -1267, -1267, 1055,1678 -1267, -1267, 1048, -1267, 1055, 1063, 10178, 9760, 1046, 1051,1679 117, 1065, 1062, 1070, 1074, -1267, 1081, 1082, 6061, -1267,1680 9760, -1267, 658, 1520, -1267, -1267, -1267, 84, 84, 9701,1681 9760, 1077, -1267, -1267, 679, -1267, 9760, -1267, -1267, 821,1682 -1 267, -1267, -1267, -1267, 525, 525, 415, 415, 844, 844,1683 844, 844, 338, 338, 853, 823, 831, 841, 886, 9760,1684 397, 9019, 1085, 1086, 1087, 1212, -1267, -1267, -1267, -1267,1685 -1267, 9019, 691, -1267, 7269, -1267, 6430, 8353, -1267, -1267,1686 -1267, 1793, 9019, 856, 1089, 1091, 1092, 1093, 1096, 1098,1687 1104, -1267, 3291, 1950, -1267, -1267, -1267, -1267, -1267, -1267,1688 -1 267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,1689 -1 267, 987, -1267, -1267, -1267, 990, -1267, -1267, -1267, -1267,1690 -1 267, -1267, -1267, -1267, -1267, -1267, 1105, 1106, -1267, 225,1691 1077, 9642, -1267, -1267, -1267, 9524, 1108, -1267, -1267, -1267,1692 -1267, 905, 5524, 1197, -1267, -1267, -1267, -1267, 1095, 225,1693 -1267, -1267, 987, -1267, -1267, 987, 1117, 987, -1267, -1267,1694 -1 267, -1267, -1267, -1267, 6307, -1267, 198, -1267, -1267, 505,1695 507, 6307, 1549, 9760, 2098, -1267, -1267, 1099, 38, 1099,1696 -1 267, 905, -1267, 84, -1267, -1267, 8627, 983, -1267, -1267,1697 -1267, 993, 1120, 1115, -1267, -1267, 1122, 1123, -1267, 694,1698 1698, -1267, 576, -1267, 2267, 990, -1267, -1267, 1126, 10515,1699 7582, 8119, 1129, -1267, -1267, 1125, 1135, 1118, -1267, 9760,1700 11 41, 190, 1136, -1267, 1142, 291, 1142, -1267, -1267, 1142,1701 -1267, 1147, 1152, 1154, 1520, -1267, -1267, -1267, 9524, -1267,1702 -1267, -1267, 1163, 9760, 986, -1267, 9760, -1267, 986, -1267,1703 -1 267, 9760, -1267, 894, 900, -1267, -1267, -1267, -1267, -1267,1704 -1267, -1267, 946, 8236, -1267, -1267, 6553, 1171, -1267, 898,1705 900, -1267, 920, 936, 900, -1267, 675, 7112, -1267, -1267,1706 -1267, 9019, 9019, -1267, 7742, 7742, 1172, 1167, 1168, 1175,1707 -1267, 670, 111, 1077, -1267, 986, -1267, 9583, -1267, 9760,1708 540, -1267, 5932, 1180, 1181, 9465, 1182, 1185, -8, 40,1709 86, 9760, 1191, 198, 9760, 9760, 1177, 585, 1169, -1267,1710 -1267, -1267, 1187, -1267, -1267, -1267, -1267, -1267, -1267, -1267,1711 -1267, -1267, 905, 1195, 9760, -1267, 9019, 9019, 84, 1201,1712 -1 267, 8711, -1267, -1267, 862, -1267, 2098, -1267, -1267, -1267,1713 -1 267, 1307, -1267, -1267, 1198, -1267, -1267, -1267, -1267, 1202,1714 1698, -1267, -1267, 1196, -1267, 1055, -1267, -1267, 2178, 1210,1715 -1 267, -1267, -1267, 704, 1217, -1267, 117, 1214, 9760, 1200,1716 117, 117, 1224, 950, 900, -1267, -1267, 1026, 9760, 1230,1717 1163, -1267, 943, -1267, -1267, 1220, -1267, 78, -1267, 1231,1718 12 20, -1267, 1234, -1267, -1267, 987, 1236, 6184, 1235, 1239,1719 1241, -1267, -1267, 1238, -1267, -1267, 987, -1267, -1267, -1267,1720 -1267, 987, 9760, 9760, 946, 1243, -1267, -1267, -1267, -1267,1721 -1 267, -1267, -1267, -1267, -1267, -1267, -1267, 9760, 9760, 1244,1722 1248, 1220, -1267, -1267, 905, -1267, -1267, -1267, 7070, 7582,1723 9760, 9760, 1318, 9760, -1267, 1233, -1267, 1246, -1267, 1250,1724 9 760, 1254, 9760, 938, 1255, 47, 84, 1805, -1267, -1267,1725 5524, 1256, 554, -1267, -1267, -1267, -1267, -1267, -1267, -1267,1726 -1267, -1267, 9281, -1267, 7742, 1260, -1267, -1267, 7582, 555,1727 561, -1267, 1273, 1262, 705, 1283, -1267, 256, -1267, -1267,1728 -1267, -1267, 987, 1282, -1267, -1267, 1288, 1321, -1267, -1267,1729 1321, 1321, 986, 1292, 1699, 1866, -1267, 1295, -1267, 9019,1730 -1 267, -1267, -1267, -1267, 1298, -1267, 9019, 9019, 9019, -1267,1731 -1 267, 1300, -1267, 1301, 1310, 1311, 725, 7429, 7548, -1267,1732 -1 267, -1267, -1267, 1305, -1267, 7817, 709, 755, 1317, 758,1733 5667, -1267, -1267, -1267, 582, -1267, 768, 1319, 1323, 198,1734 1369, 935, -1267, -1267, 9760, -1267, 9465, 9760, -1267, -1267,1735 -1267, 1320, 1326, -1267, -1267, -1267, 1324, -1267, -1267, -1267,1736 -1 267, -1267, -1267, 7582, 705, 1330, -1267, 1313, 705, 9019,1737 -1 267, -1267, -1267, 986, -1267, -1267, -1267, -1267, -1267, -1267,1738 -1 267, -1267, -1267, -1267, -1267, -1267, 1337, 1340, -1267, -1267,1739 -1 267, -1267, -1267, -1267, -1267, 1343, -1267, 1342, -1267, 9465,1740 276, 9760, 9465, -1267, 1346, 9760, -1267, 281, 1361, 1363,1741 -1267, -1267, 1355, 1356, 1339, -1267, 901, -1267, -1267, -1267,1742 1 956, 2178, 1347, -1267, 401, 9760, -1267, 783, -1267, 1220,1743 986, 986, 1362, 1364, 1365, 1367, -1267, -1267, 7742, 1357,1744 -1267, 1438, 9760, 1352, -1267, -1267, 9375, -1267, 791, -1267,1745 1 360, 9465, 1368, -1267, -1267, 1386, -1267, 1389, -1267, 1407,1746 14 09, -1267, 1376, 7582, -1267, -1267, -1267, 705, 291, 1403,1747 1 382, 1405, 1404, 1220, 1220, -1267, -1267, -1267, -1267, -1267,1748 9465, 240, -1267, 474, -1267, -1267, 6917, -1267, -1267, 1385,1749 9 760, -1267, 9760, 6917, 198, 8860, 198, 8860, 1410, -1267,1750 1411, -1267, -1267, 1408, -1267, -1267, 802, -1267, -1267, -1267,1751 -1267, 1422, 1423, -1267, 9760, 9760, -1267, -1267, 979, 59,1752 -1267, -1267, 1390, -1267, 979, -1267, -1267, 2042, 291, -1267,1753 -1267, 198, 8860, 198, 8860, 1427, 1412, 291, -1267, -1267,1754 -1267, -1267, 9375, 1425, 979, 6995, 9760, 9285, 1426, 979,1755 1435, 2042, 2360, -1267, -1267, -1267, 1436, -1267, -1267, -1267,1756 -1 267, 8119, -1267, -1267, -1267, 9148, -1267, 9375, -1267, -1267,1757 1416, 9058, -1267, -1267, 9285, 198, 2360, 198, 1441, 1445,1758 814, -1267, 9148, -1267, -1267, -1267, 9058, -1267, -1267, -1267,1759 198, 198, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -12671601 6694, 7975, -1333, -14, -1333, -1333, -1333, -1333, -1333, -1333, 1602 -1333, 26, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1603 -1333, -1333, -1333, -1333, -1333, -1333, 109, 109, 109, 759, 1604 860, 66, 6930, 241, -1333, -1333, -1333, -1333, -1333, 199, 1605 -1333, -1333, -1333, 1264, 207, -1333, -1333, -1333, -1333, 8320, 1606 -1333, -1333, -1333, -1333, 3, 216, -1333, 1096, -1333, -1333, 1607 -1333, -1333, 265, 1996, 389, 54, 5394, -1333, -1333, 8320, 1608 780, -1333, -1333, 554, 416, 3688, 749, 995, 554, 1130, 1609 -1333, -1333, 768, 826, -1333, 554, 1144, -1333, 313, -1333, 1610 443, 462, -1333, -1333, -1333, -1333, 358, 216, 109, -1333, 1611 109, -1333, -1333, -1333, -1333, 8461, 1096, -1333, -1333, 1096, 1612 -1333, 414, -1333, 8545, -1333, -1333, 2376, 8575, -1333, 1138, 1613 1138, 1138, -1333, -1333, -1333, 109, -1333, -1333, -1333, 370, 1614 444, 488, -1333, -1333, -1333, 518, -1333, -1333, -1333, -1333, 1615 -1333, 525, 576, -1333, -1333, 50, 8059, 1902, 238, 538, 1616 578, 604, 613, 618, 635, 8659, 6327, 649, -1333, 8431, 1617 -1333, -1333, -1333, -1333, 661, -1333, -10, 9338, 9338, -1333, 1618 662, 181, -1333, -1333, -1333, -1333, 680, 348, 393, 400, 1619 109, 685, -1333, -1333, 1996, 2098, 801, -1333, 51, -1333, 1620 109, 109, 216, -1333, -1333, 180, -1333, 109, 109, -1333, 1621 2242, 712, 751, 1138, 6116, -1333, -1333, -1333, 8320, -1333, 1622 -1333, 554, -1333, -1333, -1333, 216, -1333, 1096, 3, -1333, 1623 7196, -1333, 1138, 1138, 1138, 216, -1333, 759, -1333, 4572, 1624 -1333, -1333, 739, 1138, -1333, 1138, -1333, 199, 8059, -1333, 1625 775, -1333, 860, 777, 1138, -1333, 759, 771, 804, -1333, 1626 6930, 594, -1333, -1333, -1333, 4461, -1333, -1333, 5315, -1333, 1627 801, 101, 9515, 8575, 2376, 2242, -1333, 187, -1333, -1333, 1628 8545, 1096, 786, 10191, -1333, -1333, 434, -1333, 9931, 803, 1629 866, 9574, 842, 9515, 9633, -1333, 845, -1333, -1333, -1333, 1630 -1333, -1333, -1333, 9692, 9692, 7829, 207, -1333, -1333, -1333, 1631 -1333, -1333, -1333, -1333, 885, -1333, 1691, 2462, 8059, 9515, 1632 -1333, 558, 367, 614, 669, 742, 852, 846, 858, 883, 1633 -13, -1333, -1333, -1333, 737, -1333, 269, -1333, -1333, 1902, 1634 -1333, -1333, 465, 880, -1333, 586, 880, -1333, -1333, 8461, 1635 -1333, 890, 897, 8174, -1333, -1333, 1514, 1088, 7619, 6116, 1636 554, -1333, 554, 1138, 1138, -1333, -1333, -1333, -1333, -1333, 1637 -1333, 1138, 8461, 1096, -1333, -1333, 8659, 1872, -1333, -1333, 1638 -1333, -1333, -1333, -1333, -1333, -1333, -1333, 9279, 9515, -1333, 1639 -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1640 -1333, -1333, -1333, 2376, -1333, 105, 903, 926, 928, 796, 1641 931, 941, 943, 2098, -1333, -1333, 952, 3, 954, -1333, 1642 -1333, 961, -1333, -1333, -1333, 4461, -1333, -1333, -1333, -1333, 1643 -1333, 2242, -1333, 8059, 8059, -1333, 1138, 2376, 6237, 7691, 1644 -1333, -1333, -1333, -1333, 4461, 101, -1333, -1333, 554, 216, 1645 -1333, -1333, 4461, -1333, 5995, -1333, -1333, 1138, 1138, 394, 1646 7535, 966, 959, 955, 974, 1138, -1333, -1333, -1333, -1333, 1647 5606, -1333, 424, 5852, -1333, 216, 977, -1333, 2376, 10015, 1648 9751, -1333, -1333, -1333, -1333, 884, 2242, -1333, 7691, 801, 1649 6812, -1333, -1333, -1333, 1296, 456, 986, 860, 10191, 1468, 1650 8545, -1333, 10191, -1333, -1333, -1333, -1333, 473, -1333, 988, 1651 866, 242, 7829, -1333, 8689, -1333, -1333, 7829, -1333, 7944, 1652 7829, -1333, -1333, 207, -1333, 485, 1009, 881, 1014, -1333, 1653 -1333, 6085, -1333, -1333, 360, -1333, -1333, 9515, -1333, 362, 1654 9515, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1655 -1333, -1333, -1333, 9515, -1333, -1333, 9515, 9515, 9515, 9515, 1656 9515, 9515, 9515, 9515, 9515, 9515, 9515, 9515, 9515, 9515, 1657 9515, 9515, 9515, 9515, 3091, 737, 1207, -1333, -1333, 109, 1658 109, -1333, -1333, 8059, -1333, -1333, 961, 594, -1333, 961, 1659 9810, -1333, -1333, 8659, 6085, 993, -1333, 8575, -1333, -1333, 1660 661, -1333, 1039, 587, 1045, 2359, 209, 986, -1333, 109, 1661 109, 986, 212, -1333, 109, 109, 961, -1333, -1333, 109, 1662 109, -1333, 880, 8773, 1096, 10160, 415, 496, 8773, -1333, 1663 5315, -1333, 986, -1333, 8461, -1333, 126, 7313, 7313, 1096, 1664 9397, 1029, -1333, 1354, 1033, 1043, -1333, 1060, 9338, 407, 1665 -1333, 1151, 1096, 7313, 594, 2376, 594, 801, 631, 880, 1666 -1333, -1333, 692, 880, -1333, -1333, -1333, 866, -1333, 880, 1667 216, 5606, -1333, 494, 1073, 520, 1074, -1333, 890, 216, 1668 -1333, -1333, 4461, 216, 1071, 8689, 207, -1333, 972, -1333, 1669 401, 438, 860, -1333, 860, 1075, 9515, -1333, 860, 10160, 1670 -1333, -1333, 1079, -1333, -1333, -1333, 594, -1333, 10088, 897, 1671 -1333, 7313, 960, 7619, -1333, -1333, 661, 1076, 1081, 1296, 1672 2130, -1333, -1333, 10191, 9515, -1333, -1333, 1085, -1333, -1333, 1673 1093, -1333, 1085, 1098, 9931, 9515, 1097, 1094, 38, 1119, 1674 1115, 1124, 1125, -1333, 1126, 1127, 6085, -1333, 9515, -1333, 1675 881, 1631, -1333, -1333, -1333, 109, 109, 9456, 9515, 1132, 1676 -1333, -1333, 577, -1333, 9515, -1333, -1333, 843, -1333, -1333, 1677 -1333, -1333, 558, 558, 367, 367, 614, 614, 614, 614, 1678 669, 669, 742, 852, 846, 858, 883, 9515, 296, 5606, 1679 1131, 1133, 1136, 1207, -1333, -1333, -1333, -1333, -1333, 5606, 1680 616, -1333, 8461, -1333, 6448, 8289, -1333, -1333, -1333, 587, 1681 5606, 990, 1140, 1141, 1142, 1145, 1146, 1147, 1149, -1333, 1682 2845, 2359, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1683 -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 961, 1684 -1333, -1333, -1333, 986, -1333, -1333, -1333, -1333, -1333, -1333, 1685 -1333, -1333, -1333, -1333, 1150, 1152, -1333, 3, 1132, 9397, 1686 -1333, -1333, -1333, 9279, 1154, -1333, -1333, -1333, -1333, 860, 1687 5689, 1243, -1333, -1333, -1333, -1333, 1143, 3, -1333, -1333, 1688 961, -1333, -1333, 961, 14, 961, -1333, -1333, -1333, -1333, 1689 -1333, -1333, 6327, -1333, 216, -1333, -1333, 452, 487, 6327, 1690 1790, 9515, 2983, -1333, -1333, 1153, 20, 1153, -1333, 860, 1691 -1333, 109, -1333, -1333, 8090, 955, -1333, -1333, -1333, 959, 1692 1161, 1157, -1333, -1333, 1163, 1164, -1333, 960, 1700, -1333, 1693 539, -1333, 2130, 986, -1333, -1333, 1167, 10191, 8545, 8059, 1694 1169, -1333, -1333, 1165, 1170, 1171, -1333, 9515, 1173, 310, 1695 1177, -1333, 1180, 594, 1180, -1333, -1333, 1180, -1333, 1195, 1696 1197, 1201, 1631, -1333, -1333, -1333, 9279, -1333, -1333, -1333, 1697 1196, 9515, 730, -1333, 9515, -1333, 730, -1333, -1333, 9515, 1698 -1333, 748, 880, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1699 897, 8174, -1333, -1333, 6569, 1203, -1333, 758, 880, -1333, 1700 763, 830, 880, -1333, 1138, 4995, -1333, -1333, -1333, 5606, 1701 5606, -1333, 7691, 7691, 1205, 1210, 1223, 1209, -1333, 551, 1702 162, 1132, -1333, 730, -1333, 9338, -1333, 9515, 513, -1333, 1703 5964, 1214, 1227, 9220, 1234, 1235, 42, 160, 163, 9515, 1704 1237, 216, 9515, 9515, 1226, 304, 1229, -1333, -1333, -1333, 1705 1244, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1706 860, 1248, 9515, -1333, 5606, 5606, 109, 1254, -1333, 8205, 1707 -1333, -1333, 773, -1333, 2983, -1333, -1333, -1333, -1333, 972, 1708 -1333, -1333, 1250, -1333, -1333, -1333, -1333, 1257, 1700, -1333, 1709 -1333, 1241, -1333, 1085, -1333, -1333, 2376, 1256, -1333, -1333, 1710 -1333, 617, 1258, -1333, 38, 1266, 9515, 1245, 38, 38, 1711 1274, 878, 880, -1333, -1333, 1060, 9515, 1276, 1196, -1333, 1712 841, -1333, -1333, 1270, -1333, 215, -1333, 1279, 1270, -1333, 1713 1282, -1333, -1333, 961, 1283, 6206, 1284, 1285, 1286, -1333, 1714 -1333, 1290, -1333, -1333, 961, -1333, -1333, -1333, -1333, 961, 1715 9515, 9515, 897, 1291, -1333, -1333, -1333, -1333, -1333, -1333, 1716 -1333, -1333, -1333, -1333, -1333, 9515, 9515, 1295, 1297, 1270, 1717 -1333, -1333, 860, -1333, -1333, -1333, 7124, 8545, 9515, 9515, 1718 1350, 9515, -1333, 1278, -1333, 1280, -1333, 1288, 9515, 1293, 1719 9515, 1056, 1298, 72, 109, 2402, -1333, -1333, 5689, 1287, 1720 521, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1721 9036, -1333, 7691, 1305, -1333, -1333, 8545, 522, 524, -1333, 1722 1308, 1302, 866, 1318, -1333, 325, -1333, -1333, -1333, -1333, 1723 961, 1324, -1333, -1333, 1328, 1363, -1333, -1333, 1363, 1363, 1724 730, 1333, 1026, 1220, -1333, 1339, -1333, 5606, -1333, -1333, 1725 -1333, -1333, 1340, -1333, 5606, 5606, 5606, -1333, -1333, 1341, 1726 -1333, 1342, 1345, 1347, 600, 7385, 7502, -1333, -1333, -1333, 1727 -1333, 1352, -1333, 7763, 633, 634, 1353, 658, 5821, -1333, 1728 -1333, -1333, 528, -1333, 659, 1362, 1364, 216, 1401, 965, 1729 -1333, -1333, 9515, -1333, 9220, 9515, -1333, -1333, -1333, 1365, 1730 1367, -1333, -1333, -1333, 1358, -1333, -1333, -1333, -1333, -1333, 1731 -1333, 8545, 866, 1373, -1333, 1368, 866, 5606, -1333, -1333, 1732 -1333, 730, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, 1733 -1333, -1333, -1333, -1333, 1384, 1391, -1333, -1333, -1333, -1333, 1734 -1333, -1333, -1333, 1404, -1333, 1408, -1333, 9220, 198, 9515, 1735 9220, -1333, 1406, 9515, -1333, 323, 1378, 1427, -1333, -1333, 1736 1416, 1417, 1395, -1333, 910, -1333, -1333, -1333, 1096, 2376, 1737 1413, -1333, 326, 9515, -1333, 663, -1333, 1270, 730, 730, 1738 1420, 1424, 1425, 1434, -1333, -1333, 7691, 1429, -1333, 1489, 1739 9515, 1426, -1333, -1333, 9130, -1333, 689, -1333, 1414, 9220, 1740 1418, -1333, -1333, 1445, -1333, 1449, -1333, 1467, 1469, -1333, 1741 1435, 8545, -1333, -1333, -1333, 866, 594, 1456, 1436, 1460, 1742 1466, 1270, 1270, -1333, -1333, -1333, -1333, -1333, 9220, 194, 1743 -1333, 376, -1333, -1333, 7048, -1333, -1333, 1447, 9515, -1333, 1744 9515, 7048, 216, 8689, 216, 8689, 1470, -1333, 1471, -1333, 1745 -1333, 1477, -1333, -1333, 720, -1333, -1333, -1333, -1333, 1473, 1746 1481, -1333, 9515, 9515, -1333, -1333, 991, 94, -1333, -1333, 1747 1462, -1333, 991, -1333, -1333, 2158, 594, -1333, -1333, 216, 1748 8689, 216, 8689, 1487, 1463, 594, -1333, -1333, -1333, -1333, 1749 9130, 1484, 991, 5522, 9515, 9040, 1485, 991, 1493, 2158, 1750 3005, -1333, -1333, -1333, 1494, -1333, -1333, -1333, -1333, 8059, 1751 -1333, -1333, -1333, 8905, -1333, 9130, -1333, -1333, 1474, 8815, 1752 -1333, -1333, 9040, 216, 3005, 216, 1498, 1500, 729, -1333, 1753 8905, -1333, -1333, -1333, 8815, -1333, -1333, -1333, 216, 216, 1754 -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333 1760 1755 }; 1761 1756 … … 1763 1758 static const yytype_int16 yypgoto[] = 1764 1759 { 1765 -1 267, 4051, 2784, -1267, 133, -1267, 1353, 867, -240, -1267,1766 -1 267, 504, -528, -489, -834, -1001, -1267, -77, 4776, 0,1767 -1 267, 793, 489, 531, 722, 534, 999, 1001, 1005, 1007,1768 10 02, -1267, 711, -584, 4023, -739, -1267, -1267, 606, -227,1769 -6 74, -263, -1267, 335, -1267, 382, -963, -1267, -1267, 119,1770 -1 267, -732, -1049, 228, -1267, -1267, -1267, -1267, 54, -1266,1771 -1 267, -1267, -1267, -1267, -1267, -1267, 302, -1050, 23, -1267,1772 - 171, -1267, 482, 277, -1267, 153, -1267, -355, -1267, -1267,1773 -1 267, 538, -612, -1267, -1267, 9, -990, 219, 2319, -1267,1774 -1 267, -1267, -124, -1267, 110, 36, -188, 1213, 3869, -1267,1775 -1 267, 12, 61, 970, 1623, -1267, 1495, -1267, -1267, 21,1776 1 827, -1267, 2153, 1937, -1267, -1267, -1267, -641, -1267, 911,1777 9 14, 521, 695, -93, -1267, -1267, -1267, 906, 690, -521,1778 -1 267, -507, -417, -420, -1267, -1267, -914, -941, -147, -54,1779 10 19, 19, -1267, 2311, 381, -366, -185, -122, 649, 745,1780 -1 267, 964, -1267, 2435, 1823, -463, 895, -1267, -1267, 693,1781 -1 267, -225, -1267, 103, -1267, -1267, -1267, -1263, 408, -1267,1782 -1 267, -1267, 1139, -1267, 42, -1267, -1267, -832, -94, -1230,1783 -1 62, 2364, -1267, 3117, -1267, 908, -1267, -103, 120, -184,1784 -1 83, -178, 7, -40, -39, -36, 1505, 4, 32, 71,1785 92, -173, -172, -170, -168, -306, -510, -503, -496, -559,1786 -31 3, -498, -1267, -1267, -514, 1064, 1072, 1076, 1925, 4399,1787 -5 24, -566, -556, -543, -548, -1267, -508, -723, -722, -717,1788 -58 2, -166, -229, -1267, -1267, 283, 102, 6, -1267, 3380,1789 108, -6 11, -4621760 -1333, 3826, 2645, -1333, 849, -1333, 762, 867, -112, 956, 1761 -1333, 580, -517, -490, -904, -999, -1333, -62, 4003, 0, 1762 -1333, 676, 547, 572, 581, 571, 1057, 1058, 1059, 1055, 1763 1061, -1333, 963, -485, 4467, -910, -1333, -1333, 665, 184, 1764 -691, 319, -1333, 356, -1333, 440, -1283, -1333, -1333, 176, 1765 -1333, -1072, -1062, 285, -1333, -1333, -1333, -1333, 107, -1332, 1766 -1333, -1333, -1333, -1333, -1333, -1333, 359, -1109, 16, -1333, 1767 -288, -1333, 535, 330, -1333, 208, -1333, -237, -1333, -1333, 1768 -1333, 596, -693, -1333, -1333, 9, -933, 372, 2238, -1333, 1769 -1333, -1333, -57, -1333, 110, 36, -194, 1419, 3198, -1333, 1770 -1333, 12, 61, 1486, 1572, -1333, 1265, -1333, -1333, 21, 1771 1950, -1333, 2034, 1735, -1333, -1333, -1333, -611, -1333, 975, 1772 976, 584, 761, 136, -1333, -1333, -1333, 967, 755, -456, 1773 -1333, -528, -433, 832, -1333, -1333, -922, -915, -420, 1560, 1774 1084, 19, -1333, 388, 467, -359, -203, -145, 706, 811, 1775 -1333, 1028, -1333, 2348, 798, -442, 958, -1333, -1333, 740, 1776 -1333, -233, -1333, 118, -1333, -1333, -1333, -1243, 466, -1333, 1777 -1333, -1333, 1188, -1333, -1, -1333, -1333, -832, -108, -1152, 1778 -131, 3669, -1333, 4255, -1333, 951, -1333, -125, 120, -178, 1779 -173, -170, 7, -41, -40, -39, 619, -5, 25, 46, 1780 -4, -167, -166, -158, -157, -296, -519, -516, -510, -538, 1781 -311, -552, -1333, -1333, -514, 1111, 1112, 1114, 1610, 4174, 1782 -565, -560, -546, -522, -389, -1333, -475, -720, -716, -715, 1783 -584, -222, -287, -1333, -1333, 47, 102, -51, -1333, 3453, 1784 108, -602, -196 1790 1785 }; 1791 1786 … … 1793 1788 positive, shift that token. If negative, reduce the rule which 1794 1789 number is the opposite. If YYTABLE_NINF, syntax error. */ 1795 #define YYTABLE_NINF -52 91790 #define YYTABLE_NINF -527 1796 1791 static const yytype_int16 yytable[] = 1797 1792 { 1798 51, 115, 398, 399, 759, 151, 152, 99, 400, 153, 1799 116, 745, 71, 401, 402, 451, 403, 427, 404, 951, 1800 952, 78, 734, 52, 268, 953, 409, 719, 856, 808, 1801 1051, 724, 1167, 833, 51, 438, 604, 118, 815, 809, 1802 1362, 99, 503, 599, 906, 149, 71, 382, 383, 154, 1803 819, 51, 810, 936, 786, 78, 826, 52, 162, 666, 1804 668, 72, 662, 706, 1152, 187, 1175, 203, 210, 124, 1805 517, 51, 194, 816, 408, 217, 145, 155, 227, 33, 1806 220, 671, 398, 399, 406, 804, 125, 160, 400, 675, 1807 1150, 1151, 805, 401, 402, 72, 403, 807, 404, 806, 1808 473, 475, 108, 108, 910, -239, -239, 115, 424, 848, 1809 65, 1229, 1284, 261, 1177, 115, 156, 204, 267, 272, 1810 98, 474, 846, 846, 865, 33, 723, 262, 1176, 213, 1811 263, 33, 33, 469, 1120, 623, 108, 820, 846, 627, 1812 1443, 823, 33, 259, 65, 736, 151, 152, 310, 149, 1813 153, 160, 1424, 410, 98, 565, 162, 115, 345, 167, 1814 1179, 210, 840, 342, 406, 150, 843, 1234, 372, 951, 1815 952, 98, 900, 108, 146, 953, 1178, 33, -239, 591, 1816 713, 1161, 918, 1285, 326, 190, 187, 187, 98, 566, 1817 154, 98, 177, 340, 162, 1235, 846, 157, 665, 667, 1818 291, 804, 267, 253, 418, 410, 410, 1180, 805, 790, 1819 51, 1157, 847, 847, 479, 806, 410, 162, 155, 58, 1820 117, 1512, 210, 167, 660, 1424, 151, 152, 847, 441, 1821 153, 1314, 939, 1317, 1319, 808, 144, 1158, 437, 474, 1822 310, 177, 429, 879, 177, 809, 432, 1061, 1527, 817, 1823 1050, 596, 51, 58, 999, 819, 330, 156, 810, 99, 1824 272, 716, 728, 1152, 71, 272, 267, 267, 729, 98, 1825 148, 976, 115, 78, 162, 52, 326, 517, 78, 407, 1826 1167, 98, 517, 440, 604, 517, 847, 211, 730, 1000, 1827 221, 804, 481, 469, 461, 1184, 1185, 310, 805, 498, 1828 1074, 649, 657, 987, 1099, 806, 397, 190, 432, 1065, 1829 310, 486, 469, 72, 707, 695, 172, 1152, 434, 886, 1830 469, 706, 1382, 1383, 1100, 281, 568, 1382, 1383, 664, 1831 98, 149, 445, 519, 164, 669, 169, 182, 372, 780, 1832 1454, 115, 98, 1150, 1151, 345, 160, 584, 330, 597, 1833 615, 458, 177, 808, 108, 1097, 795, 1181, 1051, 407, 1834 170, 972, 65, 809, 620, 112, 1158, 470, 620, 1224, 1835 1307, 977, 98, 1003, 202, 657, 810, 583, 43, 44, 1836 434, 588, 988, -294, 624, 282, 477, 1470, 628, 112, 1837 1308, 376, 174, 248, 1384, 267, 816, 842, 164, 1393, 1838 621, 833, 43, 44, 625, 187, 177, 377, 696, 1482, 1839 1166, 213, 372, 177, 112, 1487, 141, 142, 167, 876, 1840 253, 332, 1498, 267, 1500, 310, 310, 43, 44, 267, 1841 752, 620, 555, 556, 254, 1507, 1167, 1152, 78, 251, 1842 1514, 439, 112, 1167, 1138, 1140, 1106, -524, 33, 591, 1843 253, 98, 115, 593, 591, 43, 44, 78, 244, 386, 1844 264, 326, 326, 1082, 1419, 78, 1085, 557, 558, 598, 1845 267, 58, 836, -12, 706, 387, 837, 1118, 267, 1369, 1846 620, 177, 51, 757, 333, 372, 712, 869, 680, 99, 1847 940, 334, 115, 433, 71, 1167, 1223, 658, 177, 389, 1848 604, 118, 177, 78, 310, 52, 115, 998, -448, 310, 1849 491, 310, 310, 492, 1215, 390, 695, 740, 857, 743, 1850 824, 1407, 596, 345, 1511, 190, 486, 470, 326, 416, 1851 486, 971, 213, 330, 330, 1408, 1413, 1414, 551, 552, 1852 519, 391, 519, 72, 1522, 519, 470, 326, 519, -449, 1853 469, 1526, 435, 867, 470, 433, 1000, 392, 1106, 253, 1854 332, 410, 443, 900, 858, 980, 635, 568, 568, 576, 1855 658, 410, 707, 1259, 1260, 310, 915, 897, 1050, 277, 1856 521, 1147, 1148, 859, 108, 620, 345, 1149, 393, 615, 1857 704, 901, 65, 164, 1455, 597, 1343, 597, 797, 1039, 1858 330, 903, 98, 579, 394, 410, 598, 902, 1456, 696, 1859 39, 326, 175, 176, 42, 620, 279, 904, 998, 330, 1860 620, 793, 615, 43, 44, 901, 620, 903, 280, 620, 1861 620, 567, 518, 410, 695, 835, 1195, 1196, 335, 47, 1862 48, 1062, 574, 1063, 695, 620, 548, 267, 575, 371, 1863 849, 832, 549, 550, 1428, 695, 588, 838, 1345, 287, 1864 1164, 839, 841, 864, 1010, 2, 207, 4, 5, 6, 1865 7, 1392, 43, 44, 1164, 1298, 1165, 115, 440, 336, 1866 894, 1300, 337, 330, 1055, 8, 9, 10, 11, 12, 1867 1290, 1299, 838, 676, 338, 78, 1081, 1301, 512, 575, 1868 378, 58, 740, 620, 920, 615, 1093, 371, 398, 399, 1869 706, 712, 712, 680, 400, 803, 33, 598, 1346, 401, 1870 402, 78, 403, 834, 404, 707, 375, 696, 593, 384, 1871 697, 388, 37, 1016, 38, 684, 698, 696, 345, 396, 1872 714, 725, 743, 743, 36, 498, 715, 726, 696, 177, 1873 1428, 486, 213, 408, 739, 1428, 1462, 880, 1463, 1356, 1874 740, 882, 1172, 740, 177, 425, 213, 740, 951, 952, 1875 426, 742, 899, 410, 953, 1428, 673, 177, 448, 47, 1876 48, 1409, 1428, -372, 470, 568, -112, 521, 291, 521, 1877 -112, 406, 521, 965, 620, 521, 983, -3, 1421, 966, 1878 898, 597, 699, -401, 1068, 978, 1068, 919, 1142, 596, 1879 470, 698, 1509, 597, 1460, 47, 48, 591, 1211, 1321, 1880 870, 1460, 410, 1339, 575, 459, 1323, 1324, 1325, 740, 1881 979, 803, 598, 2, 207, 4, 5, 6, 7, 518, 1882 1335, 1332, -295, 502, 518, 1333, 460, 518, 704, 8, 1883 9, 10, 11, 12, 695, 695, 940, 213, 482, 177, 1884 940, 940, 310, 112, 229, 141, 142, 50, 114, 1340, 1885 1480, 1421, 1342, 1508, 71, 740, 43, 44, 740, 873, 1886 33, 410, 1347, 78, 345, 731, 506, 732, 740, 1368, 1887 733, 345, 894, 737, 894, 1162, 797, 1410, 114, 114, 1888 37, 50, 38, 1407, 852, 1429, 115, 511, 36, 695, 1889 695, 740, 50, 418, 653, 410, 1476, 524, 50, 920, 1890 920, 803, 1477, 72, 712, 1213, 50, 1039, 1532, 1217, 1891 115, 310, 50, 598, 575, 50, 553, 554, 50, 1086, 1892 969, 966, 680, 1266, 1267, 561, 1269, 696, 696, 559, 1893 560, 114, 114, 1274, 743, 1276, 479, 332, 410, 1494, 1894 684, 707, 562, 657, 108, 486, 1088, 326, 897, 817, 1895 332, 596, 65, 563, 1305, 50, 332, 410, 50, 112, 1896 -296, 141, 142, 345, 564, 50, 407, 8, 9, 10, 1897 11, 12, 43, 44, 1206, 1352, 1353, 878, 1277, 1278, 1898 1279, 704, 696, 696, 620, 620, 885, 1123, 1106, 410, 1899 887, 1134, 1064, 410, 898, 339, 50, 112, 33, 832, 1900 1402, 966, 310, 1355, 1111, 1382, 1383, 1112, 50, 1113, 1901 43, 44, 108, 1137, 1169, 596, 1230, 1231, 707, 330, 1902 764, 765, 230, 78, 598, 231, 36, 440, 235, 1139, 1903 237, 596, 659, 50, 50, 1294, 585, 246, 1228, 650, 1904 112, 115, -3, 1220, 1363, 410, 894, 1111, 1363, 50, 1905 1112, 894, 1113, 43, 44, 651, 1381, 50, 508, 1389, 1906 920, 58, 652, 72, 766, 767, 50, 654, 267, 50, 1907 655, 834, 695, 772, 773, 656, 114, 680, 661, 695, 1908 695, 695, 258, 546, 547, 2, 207, 4, 5, 6, 1909 7, 114, 685, 686, 1388, 114, 690, 39, 688, 50, 1910 114, 42, -243, 1427, 108, 716, 727, 345, 1431, 741, 1911 43, 44, 470, 50, 50, 749, 798, -14, 546, 800, 1912 50, 811, -15, -297, 854, 861, 855, 50, 1295, 1087, 1913 8, 9, 10, 11, 12, 881, 45, 1453, 658, 883, 1914 888, 931, 695, 899, 47, 48, 908, 1444, 272, 115, 1915 -422, -528, 37, 546, 38, 715, 923, 933, 220, 944, 1916 937, 33, 945, 230, 946, 696, 898, 938, 947, 684, 1917 310, 898, 696, 696, 696, 948, 949, 963, 50, 973, 1918 974, 975, 71, 989, 620, 990, 991, 992, 115, 36, 1919 993, 78, 994, 68, 119, 50, 50, 1086, 995, -410, 1920 -409, 1060, 8, 9, 10, 11, 12, 1018, 1052, 213, 1921 1054, 1058, 50, 893, 1075, 1076, 50, 704, 1077, 1078, 1922 1084, 58, 1521, 1094, 1088, 740, 636, 68, 1521, 1095, 1923 496, 72, 1096, 33, 1098, 696, 1101, 620, 620, 1521, 1924 958, 1103, 50, 1521, 161, 272, 1104, 1405, 1105, 525, 1925 310, 108, 50, 526, 527, 528, 1520, 768, 769, 770, 1926 771, 36, 1169, 1108, 222, 1132, 1153, 1154, 1155, 1156, 1927 50, 78, 108, 1170, 1171, 1173, 50, 529, 1174, 530, 1928 65, 531, 532, 115, 1182, 1188, -3, 398, 399, 1193, 1929 108, 1186, 1086, 400, 704, 1198, 1203, 1201, 401, 402, 1930 260, 403, 230, 404, 235, 567, 440, 410, 491, 1207, 1931 1214, 72, 114, 47, 48, 1212, 1216, 50, 1219, 1088, 1932 1232, 761, 762, 763, 684, 50, 1225, 1236, 1238, 50, 1933 1240, 1241, 1245, 50, 113, 1242, 114, 1243, 114, 1252, 1934 1261, 267, 331, 112, 1262, 141, 239, 1268, 1183, 1271, 1935 260, 350, 108, 1493, 1296, 1289, 43, 44, 620, 1404, 1936 470, 39, 1272, 184, 185, 42, 1273, 211, 221, 406, 1937 1275, 1283, 1302, 114, 43, 44, 1304, 1306, 114, 909, 1938 405, 1310, 240, 115, 1311, 108, 1312, 241, 1315, 58, 1939 230, 1320, 1086, 657, 1322, 423, 1328, 1329, 428, 430, 1940 892, 1338, 410, 161, 1330, 1331, 115, 1087, 47, 48, 1941 1341, 1279, 1348, 115, 1357, 115, 1349, 115, 1169, 1088, 1942 1358, 893, 1359, 1365, 446, 1169, 114, 78, 449, 1366, 1943 450, 151, 152, 1376, 78, 153, 1377, -411, 1380, 457, 1944 1391, 1395, 50, 1397, 50, 68, 1406, 1492, 1399, 1400, 1945 471, 1467, 115, 1467, 115, 1401, 1415, 1333, 1416, 1417, 1946 478, 1418, 1420, 50, 439, 115, 1425, 72, 430, 58, 1947 970, 1492, 1492, 177, 72, 76, 1430, 1169, 50, 162, 1948 1434, 310, 114, 1436, 1432, 108, 78, 1438, 1467, 1440, 1949 1467, 50, 1442, 114, 50, 114, 1492, 1447, 1448, 1449, 1950 1450, 1461, 1087, 372, 1471, 1473, 1486, 1475, 108, 76, 1951 8, 9, 10, 11, 12, 108, 470, 326, 1478, 1479, 1952 1501, 1187, 959, 470, 1506, 1513, 72, 50, 1502, 1515, 1953 1517, 114, 1523, 114, 260, 1530, 163, 114, 589, 1531, 1954 774, 33, 1011, 775, 617, 114, 223, 778, 776, 1110, 1955 195, 777, 1288, 218, 1481, 1394, 228, 622, 50, 50, 1956 1533, 622, 1351, 1218, 407, 1367, 1464, 108, 889, 36, 1957 1192, 890, 1200, 50, 1069, 470, 911, 1073, 792, 39, 1958 1017, 184, 185, 42, 909, 860, 463, 1107, 658, 330, 1959 925, 477, 43, 44, 1350, 131, 1297, 132, 133, 134, 1960 1083, 709, 1087, 39, 0, 184, 185, 42, 43, 44, 1961 471, 782, 0, 742, 934, 410, 43, 44, 595, 783, 1962 596, 47, 48, 784, 350, 58, 47, 48, 0, 471, 1963 909, 0, 58, 353, 163, 0, 0, 471, 0, 0, 1964 0, 0, 892, 0, 410, 0, 373, 0, 50, 0, 1965 47, 48, 0, 0, 0, 691, 0, 0, 430, 0, 1966 50, 0, 1121, 0, 0, 8, 9, 10, 11, 12, 1967 0, 214, 163, 705, 0, 68, 496, 0, 0, 0, 1968 233, 0, 0, 430, 58, 0, 0, 430, 8, 9, 1969 10, 11, 12, 0, 0, 163, 33, 0, 1468, 0, 1970 1468, 112, 636, 141, 142, 0, 447, 442, 114, 0, 1971 1011, 0, 0, 0, 43, 44, 350, 0, 0, 33, 1972 0, 0, 214, 0, 36, 0, 0, 76, 0, 39, 1973 0, 0, 76, 42, 0, 1468, 0, 1468, 0, 50, 1974 720, 50, 43, 44, 0, 721, 0, 36, 114, 1465, 1975 0, 1469, 0, 112, 0, 0, 546, 0, 0, 0, 1976 1111, 785, 0, 1112, 214, 1113, 43, 44, 45, 0, 1977 39, 50, 184, 185, 42, 0, 47, 48, 622, 796, 1978 0, 0, 0, 43, 44, 0, 1497, 0, 1499, 909, 1979 813, 919, 114, 596, 1316, 508, 0, 0, 113, 47, 1980 48, 0, 0, 0, 0, 636, 0, 79, 589, 186, 1981 0, 114, 0, 589, 0, 114, 373, 47, 48, 622, 1982 0, 0, 350, 350, 0, 214, 223, 0, 0, 0, 1983 1528, 0, 1529, 0, 0, 0, 0, 0, 350, 0, 1984 39, 79, 175, 176, 42, 1536, 1537, 39, 909, 909, 1985 0, 42, 0, 43, 44, 0, 691, 0, 0, 753, 1986 43, 44, 114, 214, 758, 0, 0, 471, 214, 0, 1987 525, 216, 0, 0, 526, 527, 528, 0, 224, 375, 1988 0, 0, 0, 497, 0, 0, 801, 243, 596, 0, 1989 373, 0, 76, 471, 47, 48, 350, 0, 529, 114, 1990 530, 0, 531, 1287, 0, 924, 353, 0, 430, 0, 1991 0, 76, 463, 50, 0, 0, 0, 0, 50, 76, 1992 112, 0, 216, 0, 0, 0, 0, 1111, 0, 0, 1993 1112, 705, 1113, 43, 44, 50, 954, 353, 0, 0, 1793 49, 113, 149, 150, 151, 449, 396, 97, 266, 425, 1794 114, 397, 69, 757, 398, 436, 50, 399, 400, 732, 1795 949, 76, 380, 381, 950, 951, 401, 402, 1049, 831, 1796 814, 143, 49, 806, 934, 854, 602, 116, 152, 97, 1797 693, 805, 743, 147, 69, 704, 717, 807, 50, 49, 1798 722, 597, 784, 76, 259, 407, 160, 813, 1360, 31, 1799 404, 70, 1118, 185, 664, 666, 208, 122, 153, 49, 1800 192, 808, 904, 215, 802, 621, 225, 803, 218, 625, 1801 1148, 1149, 201, 804, 563, 158, 396, 1165, 1150, 154, 1802 31, 397, 422, 70, 398, 522, 162, 399, 400, 844, 1803 844, 279, 106, 106, 340, 113, 401, 402, 374, 1159, 1804 63, 1227, 167, 113, 1173, 844, 265, 270, 564, 289, 1805 96, 589, 1182, 1183, 375, 260, 1056, 211, 261, 471, 1806 473, 721, 202, 408, 106, 1282, 168, 123, -239, -239, 1807 404, 257, 63, 149, 150, 151, 308, 147, 31, 158, 1808 734, 937, 96, 1510, 160, 113, 343, 165, 1441, 208, 1809 162, 280, 251, 148, 408, 406, 370, 1048, 501, 96, 1810 949, 106, 846, 844, 950, 951, 1174, 142, 660, 152, 1811 1525, 405, 324, 188, 185, 185, 96, 863, 711, 96, 1812 802, 338, 160, 803, 845, 845, 1222, 669, 467, 804, 1813 265, 908, 1509, 898, 658, 673, 1283, 817, 49, 153, 1814 845, -239, 472, 824, 788, 160, 251, 330, 408, 31, 1815 208, 165, 1520, 149, 150, 151, 31, 439, 1422, 1524, 1816 154, 1312, 1175, 1315, 1317, 1177, 435, 472, 308, 806, 1817 427, 693, 1380, 1381, 430, 916, 998, 985, 31, 459, 1818 49, 31, 144, 807, 328, 431, 705, 97, 270, 714, 1819 1155, 405, 69, 270, 265, 265, 50, 96, 845, 974, 1820 113, 76, 160, 997, 324, 1059, 76, 808, 655, 96, 1821 802, 438, 1178, 803, 602, 647, 1156, 1150, 582, 804, 1822 479, 416, 1452, 408, 1176, 308, 793, 496, 477, 384, 1823 408, 1422, 1232, 704, 395, 188, 430, 1072, 308, 484, 1824 146, 70, 1426, 662, 1382, 385, 432, 431, 1156, 667, 1825 815, 155, 594, 822, 566, 594, 1468, 1164, 96, 147, 1826 1233, 517, 170, 1148, 1149, 1165, 370, 840, 1179, 113, 1827 96, 1150, 519, 343, 158, 443, 328, 595, 613, 251, 1828 330, 655, 106, 814, 727, 162, 1049, 806, 467, 693, 1829 63, 1496, 618, 1498, 456, 468, 618, 1380, 1381, 693, 1830 96, 807, 56, 115, 728, 581, 285, 467, 432, 586, 1831 693, 572, 622, 180, 475, 467, 626, 573, 726, 41, 1832 42, 589, 200, 265, 1480, 808, 589, 831, 619, 656, 1833 1485, 818, 623, 185, 56, 821, 1063, 1367, 1426, 211, 1834 370, 172, 817, 1426, 738, 510, 165, 376, 141, -294, 1835 1505, 265, 1097, 308, 308, 1512, 838, 265, 969, 618, 1836 841, 246, 110, 1426, 110, 884, 76, 1305, 209, 1391, 1837 1426, 219, 1098, 249, 1405, 41, 42, 41, 42, 96, 1838 113, 591, 1095, 252, 1417, 76, 704, 1306, 1406, 324, 1839 324, 1150, -522, 76, 1411, 1412, 387, 596, 265, 251, 1840 240, 243, 656, 750, 1116, 755, 265, 1104, 618, 515, 1841 49, -12, 388, 370, 710, 1083, 678, 97, 549, 550, 1842 113, 1165, 69, 855, 1453, 1048, 50, 682, 1165, 116, 1843 602, 76, 308, 1221, 113, 978, 674, 308, 1454, 308, 1844 308, 389, 573, 998, 705, 996, 867, 741, 391, 899, 1845 856, 343, 633, 188, 484, 468, 324, 390, 484, 834, 1846 211, 328, 328, 835, 392, 900, 695, 865, 517, 857, 1847 517, 70, 696, 517, 468, 324, 517, 262, 414, 519, 1848 1165, 519, 468, 895, 519, -446, 901, 519, 2, 205, 1849 4, 5, 6, 7, 489, 566, 566, 490, 712, 1147, 1850 899, 433, 902, 308, 713, 1343, 574, 1341, 408, 693, 1851 693, 441, 106, 618, 343, 723, 1060, 613, 702, 1104, 1852 63, 724, 437, 595, 898, 595, 795, 737, 328, -447, 1853 96, 1136, 1138, 738, 596, 901, 878, 663, 665, 324, 1854 836, 1213, 738, 618, 837, 467, 938, 328, 618, 791, 1855 613, 1061, 56, 35, 618, 36, 996, 618, 618, 275, 1856 453, 1162, 880, 833, 693, 693, 277, 1001, 738, 1162, 1857 1296, 913, 1298, 618, 1008, 265, 738, 1163, 847, 830, 1858 331, 516, 1390, 836, 586, 1288, 1297, 1079, 1299, 37, 1859 839, 862, 1344, 40, 1053, -112, 110, 705, 161, -112, 1860 1257, 1258, 41, 42, 897, 113, 438, 546, 892, 41, 1861 42, 328, 193, 547, 548, 216, 515, 278, 226, 963, 1862 332, 515, 704, 76, 515, 964, 1091, 577, 799, 408, 1863 594, 618, 918, 613, 551, 552, 45, 46, 1014, 710, 1864 710, 678, 396, 801, 1330, 596, 333, 397, 1331, 76, 1865 398, 832, 682, 399, 400, 334, 591, 1080, 976, 1209, 1866 335, 1458, 401, 402, 696, 573, 343, 1460, 1458, 1461, 1867 741, 741, 868, 496, 408, 1337, 1338, 336, 778, 484, 1868 211, 738, 738, 2, 205, 4, 5, 6, 7, 589, 1869 369, 553, 554, 111, 211, 635, 161, 404, 1354, 949, 1870 1340, 1345, 373, 950, 951, 1408, 738, 738, 371, 382, 1871 1292, 1405, 468, 566, 2, 205, 4, 5, 6, 7, 1872 1506, 386, 618, 1507, 981, 671, 555, 556, 896, 595, 1873 1140, 1427, 110, 871, 161, 408, 1211, 738, 468, 1109, 1874 1215, 595, 1110, 227, 1111, 41, 42, 693, 35, 394, 1875 36, 697, 1333, 423, 693, 693, 693, 161, 977, 801, 1876 596, 129, 1474, 130, 131, 132, 557, 558, 1475, 440, 1877 110, 1530, 139, 237, 41, 42, 702, 573, 565, 35, 1878 408, 36, 56, 41, 42, 211, 45, 46, 516, 1121, 1879 308, 408, 424, 516, 214, 406, 516, 48, 112, 1132, 1880 1160, 408, 69, 446, 1135, 716, 594, 720, 1407, 238, 1881 241, 76, 343, -3, 239, 330, 408, 693, 405, 343, 1882 892, -370, 892, -399, 795, 1419, 112, 112, 110, 48, 1883 139, 140, 480, 705, 113, 457, 175, 416, 651, 408, 1884 48, 41, 42, 110, 500, 214, 48, 918, 918, 801, 1885 1109, 70, 710, 1110, 48, 1111, 41, 42, 113, 308, 1886 48, 596, 110, 48, 139, 140, 48, 1084, 458, 655, 1887 678, 1137, 242, 594, 895, 41, 42, 289, 371, 112, 1888 112, 682, 741, 504, 1226, 175, 509, 214, 175, 506, 1889 967, 964, 106, 484, 1086, 324, 522, 1478, 1419, 729, 1890 63, 730, 559, 48, 731, 560, 48, 735, 1204, 562, 1891 705, 343, 938, 48, 544, 545, 938, 938, 561, 1218, 1892 1492, 408, 740, 337, 408, 477, 330, 408, -295, 702, 1893 45, 46, 618, 618, 583, 8, 9, 10, 11, 12, 1894 1062, -3, 896, 461, 48, 648, 876, 830, 214, 544, 1895 308, 851, 371, 1350, 1351, 883, 48, 1400, 964, 885, 1896 106, 1066, 1167, 1066, 31, 1380, 1381, 328, 649, 1104, 1897 650, 76, 596, 652, 37, 438, 182, 183, 40, 1228, 1898 1229, 48, 48, 653, 544, 654, 214, 41, 42, 113, 1899 656, 214, 34, 657, 892, 897, 175, 48, 659, 892, 1900 903, 917, 905, 594, 256, 48, 453, 684, 918, 45, 1901 46, 70, 683, 890, 48, 408, 265, 48, 686, 832, 1902 688, 45, 46, -243, 112, 678, 762, 763, 110, 725, 1903 1303, 815, 330, 594, 891, 1109, 682, 796, 1110, 112, 1904 1111, 41, 42, 112, 1275, 1276, 1277, 48, 112, 714, 1905 175, 739, 106, 764, 765, 343, 747, 175, 770, 771, 1906 468, 48, 48, -296, 766, 767, 768, 769, 48, 1314, 1907 8, 9, 10, 11, 12, 48, 214, -297, 8, 9, 1908 10, 11, 12, 798, 8, 9, 10, 11, 12, 809, 1909 37, -14, 182, 183, 40, -15, 270, 113, 37, 31, 1910 173, 174, 40, 41, 42, 852, 218, 31, 853, 1037, 1911 859, 41, 42, 31, 896, 879, 881, 886, 308, 896, 1912 1361, -420, 906, -526, 1361, 175, 48, 34, 921, 593, 1913 69, 594, 618, 713, 929, 34, 113, 45, 46, 76, 1914 931, 34, 175, 48, 48, 1084, 175, 8, 9, 10, 1915 11, 12, 759, 760, 761, 111, 214, 211, 936, 935, 1916 48, 942, 56, 943, 48, 702, 944, 945, 946, 947, 1917 1058, 635, 1086, 971, 634, 972, 31, 1019, 973, 70, 1918 961, 1403, 987, 988, 989, 618, 618, 990, 991, 992, 1919 48, 993, -408, 270, -407, 74, 1518, 214, 308, 106, 1920 48, 1016, 1050, 1073, 34, 1074, 1052, 1075, 1076, 1082, 1921 1167, 1092, 1093, 738, 1096, 891, 751, 1068, 48, 76, 1922 106, 756, 110, 1442, 48, 1099, 956, 74, 63, 1109, 1923 1085, 113, 1110, 1094, 1111, 41, 42, 1101, 106, 1102, 1924 1084, 396, 702, 1103, 1106, 1130, 397, 1151, 565, 398, 1925 408, 1154, 399, 400, 438, 1168, 45, 46, 1152, 70, 1926 112, 401, 402, 1316, 221, 48, 37, 1086, 1169, 461, 1927 40, 1153, 1170, 48, 635, 1171, 1172, 48, 1180, 41, 1928 42, 48, 1264, 1265, 112, 1267, 112, 1491, 1184, 265, 1929 1191, -3, 1272, 1186, 1274, 404, 1196, 1199, 37, 1201, 1930 106, 489, 40, 1205, 1210, 43, 618, 1402, 468, 1214, 1931 1212, 41, 42, 45, 46, 214, 1217, 1181, 1230, 655, 1932 1223, 112, 56, 1234, 1236, 1238, 112, 1266, 1239, 1240, 1933 1241, 113, 1243, 106, 1287, 1250, 864, 709, 866, 1259, 1934 1084, 1260, 1269, 214, 1270, 45, 46, 1294, 214, 66, 1935 117, 351, 1271, 957, 113, 1300, 110, 1273, 139, 140, 1936 1304, 113, 1281, 113, 1302, 113, 1167, 1086, 1019, 41, 1937 42, 1308, 1309, 1167, 112, 76, 1310, 1313, 149, 150, 1938 151, 66, 76, 1318, 1320, 1326, 1327, 1328, 912, 1329, 1939 48, 1277, 48, 175, 1339, 1490, 1336, 850, 159, 1465, 1940 113, 1465, 113, 1346, 1357, 1347, 1393, 1355, 175, 1356, 1941 1466, 48, 1466, 113, 1363, 70, 405, 214, 220, 1490, 1942 1490, 175, 70, 877, 445, 1167, 48, 160, 1374, 308, 1943 112, 214, 1364, 106, 76, 1375, 1465, 1037, 1465, 48, 1944 656, 112, 48, 112, 1490, 74, -409, 1466, 1389, 1466, 1945 74, 370, 1378, 1386, 258, 1395, 106, 1397, 1398, 1399, 1946 1404, 1418, 1413, 106, 468, 324, 1414, 1415, 209, 219, 1947 110, 468, 139, 140, 70, 48, 1416, 1331, 1428, 112, 1948 1262, 112, 1430, 41, 42, 112, 228, 1432, 1423, 229, 1949 56, 1434, 233, 112, 235, 1436, 329, 1438, 1445, 1440, 1950 1446, 244, 1447, 175, 258, 348, 48, 48, 1085, 718, 1951 1448, 1459, 1469, 1471, 719, 106, 37, 1476, 173, 174, 1952 40, 48, 214, 468, 1473, 1477, 1484, 1500, 1499, 41, 1953 42, 1504, 1511, 1353, 403, 1513, 1515, 328, 1521, 475, 1954 1528, 970, 1529, 874, 221, 1185, 772, 775, 773, 421, 1955 774, 975, 426, 428, 776, 369, 1108, 159, 1286, 1479, 1956 1392, 1531, 986, 1348, 1216, 437, 1365, 1349, 212, 1462, 1957 56, 8, 9, 10, 11, 12, 1190, 231, 444, 907, 1958 887, 888, 447, 1198, 448, 909, 1379, 544, 1067, 1387, 1959 1071, 790, 1105, 455, 1015, 1081, 48, 858, 707, 66, 1960 31, 923, 1295, 1085, 469, 932, 780, 781, 48, 782, 1961 74, 0, 0, 0, 476, 0, 0, 0, 0, 212, 1962 0, 0, 428, 0, 351, 0, 506, 228, 34, 74, 1963 0, 0, 0, 1425, 0, 1100, 0, 74, 1429, 0, 1994 1964 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 1995 0, 0, 0, 214, 39, 353, 0, 76, 42, 114, 1996 0, 1318, 0, 0, 216, 355, 0, 43, 44, 0, 1997 0, 33, 0, 0, 691, 0, 0, 0, 0, 866, 1998 0, 868, 0, 0, 691, 215, 0, 622, 0, 0, 1999 986, 0, 0, 711, 0, 691, 0, 0, 353, 36, 2000 0, 47, 48, 0, 39, 997, 184, 185, 42, 0, 2001 39, 114, 175, 176, 42, 0, 0, 43, 44, 0, 2002 0, 0, 0, 43, 44, 216, 0, 0, 0, 0, 2003 0, 914, 0, 214, 0, 0, 215, 0, 0, 0, 2004 0, 0, 0, 595, 0, 596, 0, 0, 0, 214, 2005 0, 47, 48, 0, 0, 68, 909, 0, 0, 79, 2006 0, 353, 0, 216, 79, 0, 0, 0, 216, 0, 2007 0, 0, 0, 909, 214, 0, 0, 796, 215, 114, 2008 0, 114, 114, 0, 705, 0, 0, 1066, 8, 9, 2009 10, 11, 12, 0, 0, 412, 39, 0, 184, 185, 2010 42, 0, 420, 0, 353, 353, 0, 0, 0, 43, 2011 44, 0, 0, 1080, 0, 0, 0, 0, 0, 33, 2012 353, 0, 430, 119, 0, 0, 0, 0, 0, 0, 2013 0, 0, 0, 81, 0, 1491, 0, 410, 353, 215, 2014 0, 0, 0, 47, 48, 909, 909, 36, 0, 76, 2015 0, 0, 39, 216, 184, 185, 42, 0, 224, 0, 2016 114, 0, 0, 0, 0, 43, 44, 81, 0, 0, 2017 0, 0, 0, 0, 412, 76, 589, 215, 353, 0, 2018 0, 0, 215, 0, 0, 0, 0, 0, 0, 428, 2019 0, 892, 214, 410, 691, 691, 0, 350, 350, 47, 2020 48, 0, 0, 0, 225, 0, 0, 50, 50, 0, 2021 0, 0, 0, 353, 0, 1168, 0, 114, 114, 0, 2022 214, 0, 0, 0, 79, 214, 0, 0, 0, 0, 2023 0, 573, 39, 216, 184, 185, 42, 0, 355, 577, 2024 0, 0, 580, 79, 0, 43, 44, 0, 0, 691, 2025 691, 79, 0, 0, 0, 114, 353, 8, 9, 10, 2026 11, 12, 0, 0, 0, 0, 353, 215, 0, 355, 2027 0, 266, 223, 0, 216, 0, 0, 353, 1102, 47, 2028 48, 0, 0, 0, 0, 0, 0, 355, 33, 79, 2029 0, 356, 0, 0, 214, 0, 0, 1114, 0, 59, 2030 59, 1114, 412, 0, 0, 0, 420, 0, 214, 0, 2031 0, 0, 0, 0, 50, 114, 36, 0, 0, 0, 2032 705, 39, 0, 143, 114, 42, 0, 0, 0, 497, 2033 355, 0, 0, 59, 43, 44, 0, 76, 50, 50, 2034 0, 0, 0, 0, 0, 0, 0, 215, 1114, 0, 2035 8, 9, 10, 11, 12, 0, 0, 0, 0, 353, 2036 711, 0, 1265, 50, 0, 0, 353, 59, 47, 48, 2037 59, 0, 126, 129, 130, 242, 245, 0, 0, 0, 2038 0, 33, 412, 68, 0, 81, 0, 0, 215, 0, 2039 81, 0, 216, 355, 0, 691, 0, 705, 0, 214, 2040 0, 119, 0, 0, 0, 0, 0, 0, 0, 36, 2041 0, 0, 0, 0, 39, 88, 184, 185, 42, 0, 2042 216, 0, 0, 0, 0, 216, 0, 43, 44, 0, 2043 0, 0, 691, 0, 0, 0, 355, 355, 0, 691, 2044 691, 691, 0, 0, 255, 1114, 256, 0, 0, 88, 2045 350, 350, 355, 1491, 0, 410, 0, 348, 0, 0, 2046 0, 47, 48, 1168, 0, 0, 0, 0, 0, 0, 2047 355, 0, 573, 573, 0, 0, 353, 353, 0, 353, 2048 353, 79, 0, 0, 225, 0, 226, 0, 0, 0, 2049 0, 0, 0, 0, 216, 0, 119, 76, 0, 0, 2050 0, 0, 691, 0, 0, 0, 215, 79, 216, 0, 2051 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052 0, 59, 0, 0, 0, 0, 395, 0, 0, 0, 2053 0, 353, 353, 0, 215, 455, 414, 415, 0, 215, 2054 0, 419, 0, 421, 422, 355, 0, 0, 0, 0, 2055 81, 59, 0, 0, 0, 871, 0, 0, 0, 874, 2056 0, 0, 0, 0, 356, 1114, 0, 1114, 1114, 81, 2057 0, 350, 0, 363, 0, 0, 0, 81, 0, 0, 2058 0, 8, 9, 10, 11, 12, 0, 0, 355, 214, 2059 0, 0, 0, 0, 0, 356, 119, 0, 355, 216, 2060 0, 0, 353, 0, 224, 0, 0, 0, 215, 355, 2061 0, 0, 33, 356, 0, 81, 0, 0, 0, 1168, 2062 0, 0, 215, 0, 0, 0, 1168, 533, 534, 535, 2063 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, 2064 36, 0, 0, 0, 223, 39, 1114, 184, 185, 42, 2065 0, 0, 0, 0, 0, 0, 356, 0, 43, 44, 2066 0, 544, 0, 0, 0, 76, 0, 88, 0, 79, 2067 637, 0, 88, 0, 0, 0, 0, 353, 1168, 353, 2068 0, 0, 0, 0, 186, 1516, 0, 0, 0, 0, 2069 573, 355, 47, 48, 0, 0, 0, 0, 355, 0, 2070 0, 0, 0, 1114, 1114, 0, 0, 0, 0, 0, 2071 0, 0, 0, 215, 353, 0, 0, 0, 0, 356, 2072 0, 353, 353, 353, 0, 0, 0, 0, 0, 0, 2073 348, 0, 353, 353, 0, 0, 0, 0, 0, 0, 2074 0, 1445, 0, 0, 0, 76, 0, 0, 0, 0, 1965 634, 0, 0, 0, 1112, 351, 112, 0, 1112, 0, 1966 0, 212, 0, 0, 0, 0, 0, 1451, 0, 31, 1967 968, 0, 740, 351, 408, 74, 0, 0, 0, 0, 1968 45, 46, 0, 0, 0, 0, 0, 48, 258, 48, 1969 0, 0, 587, 0, 494, 0, 112, 34, 615, 0, 1970 0, 0, 0, 1085, 523, 1112, 0, 0, 524, 525, 1971 526, 620, 214, 0, 0, 620, 351, 0, 1463, 48, 1972 1467, 0, 212, 0, 0, 0, 56, 0, 410, 0, 1973 0, 213, 527, 56, 528, 418, 529, 530, 0, 0, 1974 112, 917, 1009, 594, 0, 0, 0, 0, 0, 45, 1975 46, 0, 1519, 634, 0, 1495, 0, 1497, 1519, 112, 1976 212, 1145, 1146, 112, 469, 212, 228, 0, 233, 1519, 1977 0, 0, 0, 1519, 0, 0, 0, 0, 348, 351, 1978 495, 0, 213, 469, 907, 56, 0, 0, 0, 0, 1979 0, 469, 37, 0, 182, 183, 40, 0, 0, 1526, 1980 0, 1527, 1112, 0, 0, 41, 42, 410, 0, 689, 1981 112, 0, 428, 0, 1534, 1535, 1193, 1194, 0, 0, 1982 0, 0, 351, 351, 213, 0, 0, 703, 0, 66, 1983 907, 890, 0, 408, 0, 0, 0, 428, 351, 45, 1984 46, 428, 8, 9, 10, 11, 12, 112, 0, 0, 1985 212, 0, 0, 0, 228, 0, 351, 0, 0, 0, 1986 0, 48, 1119, 0, 571, 0, 48, 74, 0, 0, 1987 348, 31, 575, 0, 37, 578, 173, 174, 40, 0, 1988 77, 0, 0, 48, 0, 213, 0, 41, 42, 0, 1989 0, 0, 0, 74, 214, 0, 351, 0, 0, 34, 1990 0, 0, 0, 0, 37, 0, 0, 112, 40, 0, 1991 1009, 0, 77, 373, 0, 783, 0, 41, 42, 0, 1992 0, 0, 1112, 213, 1112, 1112, 0, 0, 213, 0, 1993 212, 351, 620, 794, 0, 410, 0, 0, 0, 418, 1994 0, 0, 0, 43, 811, 0, 212, 0, 0, 222, 1995 694, 45, 46, 0, 0, 0, 0, 0, 0, 112, 1996 0, 0, 587, 0, 79, 0, 0, 587, 0, 0, 1997 0, 212, 0, 620, 351, 0, 348, 348, 0, 0, 1998 0, 0, 0, 0, 351, 0, 0, 0, 0, 907, 1999 221, 214, 348, 0, 0, 351, 79, 0, 37, 1319, 2000 182, 183, 40, 1112, 0, 0, 1321, 1322, 1323, 0, 2001 689, 41, 42, 213, 0, 410, 0, 0, 0, 0, 2002 0, 469, 0, 0, 0, 0, 0, 112, 0, 112, 2003 112, 0, 0, 223, 0, 0, 353, 184, 8, 9, 2004 10, 11, 12, 0, 0, 45, 46, 469, 907, 907, 2005 348, 0, 0, 0, 0, 74, 0, 0, 0, 922, 2006 1112, 1112, 428, 0, 0, 0, 0, 31, 0, 1366, 2007 8, 9, 10, 11, 12, 0, 0, 351, 0, 0, 2008 0, 0, 0, 0, 351, 703, 0, 0, 0, 212, 2009 952, 0, 0, 213, 0, 34, 0, 0, 1443, 31, 2010 37, 0, 182, 183, 40, 571, 571, 0, 112, 0, 2011 0, 0, 0, 41, 42, 0, 0, 212, 0, 0, 2012 354, 0, 212, 0, 0, 0, 0, 34, 689, 0, 2013 77, 0, 37, 0, 213, 77, 40, 175, 689, 184, 2014 494, 620, 0, 0, 984, 41, 42, 45, 46, 689, 2015 0, 694, 0, 0, 0, 48, 48, 0, 1493, 995, 2016 37, 0, 182, 183, 40, 112, 112, 1501, 57, 57, 2017 0, 709, 0, 41, 42, 0, 0, 0, 0, 45, 2018 46, 0, 8, 9, 10, 11, 12, 0, 869, 0, 2019 0, 212, 872, 0, 351, 351, 0, 351, 351, 1489, 2020 57, 408, 0, 112, 0, 212, 0, 45, 46, 66, 2021 0, 31, 0, 0, 79, 74, 0, 0, 0, 79, 2022 0, 0, 0, 0, 0, 0, 495, 0, 0, 222, 2023 0, 794, 0, 0, 57, 0, 0, 57, 703, 34, 2024 0, 1064, 0, 0, 37, 0, 182, 183, 40, 351, 2025 351, 0, 213, 0, 0, 0, 907, 41, 42, 0, 2026 0, 0, 48, 112, 0, 0, 0, 1078, 0, 694, 2027 0, 0, 112, 907, 0, 0, 428, 117, 86, 694, 2028 213, 0, 0, 264, 0, 213, 48, 48, 0, 0, 2029 694, 45, 46, 0, 0, 77, 212, 0, 0, 8, 2030 9, 10, 11, 12, 0, 0, 0, 0, 0, 353, 2031 86, 48, 0, 223, 77, 0, 0, 0, 0, 0, 2032 351, 0, 77, 571, 346, 0, 0, 0, 31, 0, 2033 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2034 353, 0, 0, 426, 0, 907, 907, 224, 689, 689, 2035 0, 348, 348, 0, 213, 0, 34, 0, 353, 0, 2036 77, 37, 221, 182, 183, 40, 0, 0, 213, 1166, 2037 0, 0, 0, 0, 41, 42, 0, 0, 37, 79, 2038 182, 183, 40, 74, 0, 0, 0, 0, 57, 0, 2039 0, 41, 42, 354, 0, 351, 0, 351, 79, 0, 2040 593, 353, 594, 689, 689, 0, 79, 0, 45, 46, 2041 0, 0, 0, 0, 0, 523, 0, 264, 57, 524, 2042 525, 526, 0, 0, 354, 45, 46, 0, 0, 0, 2043 0, 0, 351, 0, 361, 0, 410, 0, 0, 351, 2044 351, 351, 354, 527, 79, 528, 0, 529, 1285, 0, 2045 351, 351, 0, 0, 0, 0, 0, 0, 0, 213, 2046 0, 0, 0, 74, 353, 0, 0, 0, 0, 0, 2047 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 2048 0, 0, 0, 0, 0, 354, 212, 0, 0, 694, 2049 694, 531, 532, 533, 534, 535, 536, 537, 538, 539, 2050 540, 541, 351, 0, 0, 0, 0, 353, 353, 0, 2051 0, 1122, 0, 0, 0, 0, 1263, 0, 0, 0, 2052 0, 0, 0, 353, 0, 542, 0, 1133, 86, 0, 2053 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 2054 0, 353, 0, 0, 694, 694, 0, 0, 354, 689, 2055 0, 703, 77, 0, 0, 117, 0, 0, 0, 0, 2075 2056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2076 0, 0, 356, 356, 0, 0, 226, 0, 0, 0, 2077 0, 214, 0, 0, 0, 0, 0, 0, 356, 0, 2078 718, 59, 722, 0, 353, 0, 0, 0, 0, 216, 2079 0, 0, 0, 0, 0, 0, 356, 0, 0, 0, 2080 0, 1495, 0, 412, 0, 0, 0, 81, 355, 355, 2081 1503, 355, 355, 0, 0, 0, 0, 0, 0, 168, 2082 0, 173, 348, 0, 179, 180, 181, 0, 183, 79, 2083 0, 0, 88, 81, 0, 0, 356, 0, 0, 0, 2084 0, 0, 234, 0, 0, 0, 363, 0, 0, 0, 2085 0, 88, 0, 353, 249, 250, 0, 0, 0, 88, 2086 0, 0, 0, 355, 355, 0, 0, 0, 214, 0, 2087 0, 356, 0, 0, 0, 0, 0, 363, 1124, 0, 2088 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 2089 0, 0, 0, 0, 1135, 363, 0, 88, 0, 0, 2090 0, 76, 0, 215, 0, 0, 0, 0, 76, 0, 2091 0, 0, 0, 0, 356, 787, 788, 0, 0, 0, 2092 0, 0, 0, 0, 356, 0, 853, 0, 348, 348, 2093 225, 0, 0, 0, 355, 356, 0, 0, 363, 0, 2094 0, 0, 818, 0, 348, 821, 822, 0, 825, 0, 2095 827, 828, 0, 0, 0, 829, 830, 0, 0, 0, 2096 76, 0, 0, 8, 9, 10, 11, 12, 0, 412, 2097 0, 216, 0, 0, 0, 905, 224, 907, 0, 0, 2098 0, 455, 0, 0, 0, 0, 0, 0, 0, 0, 2099 0, 0, 0, 0, 33, 81, 0, 79, 0, 0, 2100 0, 363, 348, 0, 0, 0, 0, 0, 1221, 355, 2101 0, 355, 0, 0, 0, 0, 0, 356, 0, 0, 2102 0, 0, 36, 0, 356, 0, 0, 39, 0, 184, 2103 185, 42, 0, 0, 0, 0, 0, 0, 0, 0, 2104 43, 44, 0, 0, 363, 363, 355, 0, 0, 0, 2105 0, 0, 0, 355, 355, 355, 0, 0, 0, 0, 2106 363, 0, 0, 0, 355, 355, 266, 0, 216, 0, 2107 0, 0, 0, 0, 47, 48, 0, 79, 363, 0, 2108 0, 0, 0, 0, 0, 215, 0, 0, 0, 88, 2109 0, 956, 957, 0, 0, 0, 0, 0, 0, 0, 2110 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, 2111 594, 0, 0, 0, 0, 88, 355, 0, 363, 0, 2112 0, 618, 619, 0, 0, 128, 128, 128, 0, 0, 2113 0, 0, 0, 0, 356, 356, 0, 356, 356, 0, 2114 0, 0, 0, 0, 0, 0, 637, 0, 0, 0, 2115 0, 0, 1021, 363, 0, 81, 0, 0, 0, 0, 2116 0, 59, 8, 9, 10, 11, 12, 13, 14, 15, 2057 0, 351, 0, 0, 0, 0, 0, 0, 77, 0, 2058 0, 353, 0, 0, 0, 0, 689, 0, 0, 0, 2059 0, 354, 354, 689, 689, 689, 0, 346, 0, 0, 2060 0, 0, 410, 0, 348, 348, 0, 354, 0, 0, 2061 0, 0, 0, 0, 0, 0, 353, 1166, 0, 74, 2062 0, 0, 0, 0, 0, 354, 74, 224, 166, 0, 2063 171, 0, 0, 177, 178, 179, 79, 181, 0, 0, 2064 0, 1219, 0, 0, 0, 0, 0, 0, 57, 213, 2065 117, 232, 0, 0, 0, 0, 689, 0, 0, 353, 2066 0, 0, 79, 247, 248, 354, 0, 0, 212, 353, 2067 0, 0, 0, 0, 0, 222, 0, 0, 74, 0, 2068 353, 0, 0, 0, 0, 0, 0, 0, 0, 346, 2069 1293, 0, 0, 86, 0, 0, 0, 0, 0, 0, 2070 354, 0, 0, 0, 0, 0, 0, 361, 0, 0, 2071 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 2072 86, 0, 0, 0, 0, 348, 0, 694, 0, 0, 2073 0, 0, 0, 0, 694, 694, 694, 0, 361, 0, 2074 77, 0, 0, 354, 0, 0, 0, 0, 0, 0, 2075 117, 0, 346, 354, 0, 0, 361, 0, 86, 223, 2076 0, 0, 353, 0, 354, 212, 0, 0, 0, 353, 2077 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, 2078 1166, 0, 994, 0, 0, 8, 9, 10, 11, 12, 2079 0, 0, 0, 0, 0, 346, 346, 694, 0, 361, 2080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2081 0, 346, 281, 282, 31, 283, 0, 0, 0, 0, 2082 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 2083 0, 213, 1166, 0, 0, 0, 0, 0, 0, 1514, 2084 0, 284, 34, 0, 0, 0, 354, 285, 0, 0, 2085 0, 286, 0, 354, 287, 288, 289, 290, 291, 292, 2086 41, 42, 361, 293, 294, 0, 0, 0, 0, 346, 2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 2088 353, 0, 353, 353, 0, 0, 295, 0, 376, 0, 2089 0, 0, 0, 0, 342, 46, 297, 298, 299, 300, 2090 77, 0, 0, 0, 0, 361, 361, 0, 0, 0, 2091 0, 0, 0, 0, 0, 0, 0, 585, 0, 592, 2092 0, 361, 0, 8, 9, 10, 11, 12, 213, 0, 2093 616, 617, 0, 0, 353, 353, 0, 0, 0, 361, 2094 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2095 86, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2096 0, 0, 0, 354, 354, 0, 354, 354, 0, 0, 2097 0, 0, 0, 0, 31, 0, 86, 0, 0, 361, 2098 34, 0, 0, 0, 79, 37, 0, 182, 183, 40, 2099 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 2100 0, 0, 34, 0, 0, 353, 0, 37, 0, 182, 2101 183, 40, 0, 0, 361, 0, 0, 0, 354, 354, 2102 41, 42, 0, 0, 890, 0, 408, 0, 57, 0, 2103 0, 0, 45, 46, 0, 0, 0, 0, 0, 0, 2104 0, 0, 0, 0, 0, 0, 1489, 222, 408, 0, 2105 346, 0, 0, 0, 45, 46, 0, 361, 281, 282, 2106 0, 283, 0, 0, 0, 0, 0, 361, 77, 0, 2107 0, 0, 0, 224, 0, 0, 0, 0, 361, 0, 2108 353, 0, 353, 0, 0, 0, 0, 284, 0, 354, 2109 0, 0, 0, 285, 0, 0, 57, 286, 0, 0, 2110 287, 288, 289, 290, 291, 292, 41, 42, 0, 293, 2111 294, 0, 0, 0, 0, 0, 0, 353, 0, 0, 2112 0, 0, 0, 0, 353, 353, 353, 0, 0, 0, 2113 0, 223, 295, 0, 376, 353, 353, 0, 86, 0, 2114 45, 46, 297, 298, 299, 300, 0, 0, 77, 0, 2115 0, 0, 79, 777, 0, 0, 0, 0, 0, 0, 2116 361, 0, 0, 0, 354, 0, 354, 361, 0, 0, 2117 346, 346, 0, 0, 0, 0, 0, 0, 0, 0, 2118 0, 0, 0, 0, 0, 0, 0, 353, 57, 0, 2119 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 2120 0, 354, 0, 230, 0, 234, 0, 236, 354, 354, 2121 354, 0, 0, 0, 245, 0, 0, 0, 0, 354, 2122 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2123 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 2124 0, 0, 0, 0, 0, 210, 0, 234, 236, 245, 2125 0, 0, 0, 0, 0, 0, 353, 0, 0, 0, 2126 0, 0, 0, 0, 0, 910, 0, 911, 0, 0, 2127 0, 354, 0, 0, 914, 915, 0, 361, 361, 920, 2128 361, 361, 0, 0, 0, 0, 0, 210, 0, 0, 2129 0, 0, 926, 0, 0, 0, 0, 930, 86, 0, 2130 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 2131 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 2132 0, 0, 0, 0, 592, 0, 0, 0, 0, 0, 2133 0, 0, 361, 361, 57, 57, 0, 0, 0, 0, 2134 354, 0, 0, 0, 0, 0, 0, 0, 210, 0, 2135 234, 236, 245, 0, 0, 0, 57, 0, 0, 0, 2136 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 2137 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 2138 0, 0, 0, 0, 0, 0, 210, 0, 79, 0, 2139 0, 210, 0, 0, 0, 79, 0, 0, 0, 0, 2140 0, 0, 0, 361, 0, 0, 493, 0, 0, 0, 2141 0, 0, 0, 0, 0, 0, 0, 1004, 0, 1005, 2142 1006, 1007, 0, 346, 346, 0, 0, 0, 0, 0, 2143 0, 57, 164, 0, 0, 0, 57, 0, 1051, 0, 2144 0, 0, 0, 0, 0, 224, 0, 79, 0, 217, 2145 0, 0, 1057, 0, 0, 0, 0, 210, 0, 0, 2146 0, 0, 0, 0, 0, 0, 86, 0, 0, 57, 2147 0, 0, 0, 0, 0, 0, 210, 0, 361, 0, 2148 361, 234, 236, 0, 0, 0, 0, 0, 0, 245, 2149 0, 1077, 0, 0, 0, 0, 164, 0, 0, 0, 2150 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2151 0, 0, 0, 0, 0, 361, 0, 0, 0, 0, 2152 0, 0, 361, 361, 361, 0, 0, 0, 0, 164, 2153 0, 210, 0, 361, 361, 1107, 0, 0, 0, 367, 2154 1117, 0, 372, 0, 346, 1120, 86, 0, 0, 210, 2155 1124, 0, 0, 0, 210, 1126, 210, 1127, 1128, 0, 2156 0, 1131, 0, 0, 0, 0, 0, 0, 0, 57, 2157 1143, 0, 210, 0, 0, 210, 210, 0, 0, 0, 2158 0, 0, 0, 210, 0, 361, 1157, 1158, 0, 0, 2159 0, 164, 57, 0, 0, 0, 0, 210, 0, 57, 2160 0, 0, 0, 217, 210, 0, 0, 0, 0, 0, 2161 0, 0, 1187, 0, 0, 1189, 0, 0, 0, 0, 2162 0, 164, 0, 0, 0, 124, 127, 128, 8, 9, 2163 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2164 20, 21, 22, 23, 24, 25, 372, 0, 0, 0, 2165 0, 57, 0, 164, 361, 0, 0, 31, 1203, 0, 2166 0, 0, 0, 0, 1207, 1208, 0, 0, 0, 0, 2167 0, 0, 0, 0, 0, 0, 0, 0, 520, 0, 2168 0, 0, 0, 1224, 0, 34, 0, 0, 1231, 0, 2169 0, 164, 0, 1235, 0, 0, 0, 253, 0, 254, 2170 0, 0, 86, 0, 1242, 0, 0, 0, 0, 86, 2171 0, 0, 0, 0, 0, 210, 0, 1249, 0, 1251, 2172 1252, 1253, 1254, 0, 0, 0, 590, 0, 0, 0, 2173 0, 614, 0, 0, 1261, 0, 1157, 0, 0, 0, 2174 171, 0, 0, 210, 0, 0, 0, 0, 210, 0, 2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2176 0, 86, 0, 0, 0, 0, 0, 0, 1289, 1290, 2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 2179 413, 0, 0, 0, 417, 0, 419, 420, 0, 0, 2180 156, 0, 0, 0, 0, 0, 164, 164, 0, 0, 2181 0, 0, 367, 0, 0, 0, 0, 210, 0, 0, 2182 0, 0, 1324, 1325, 0, 0, 0, 0, 0, 0, 2183 0, 210, 1335, 520, 0, 0, 0, 0, 0, 0, 2184 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 2185 0, 0, 493, 0, 0, 0, 0, 255, 0, 0, 2186 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 2187 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 2188 0, 0, 0, 0, 0, 520, 0, 520, 0, 0, 2189 520, 0, 164, 520, 1370, 0, 1371, 1372, 1373, 0, 2190 0, 0, 0, 0, 367, 0, 0, 0, 1377, 0, 2191 0, 210, 0, 0, 0, 0, 1388, 0, 0, 0, 2192 0, 0, 210, 0, 0, 0, 383, 0, 0, 0, 2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 2194 0, 1409, 1410, 0, 0, 0, 0, 0, 0, 415, 2195 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 2196 0, 0, 0, 429, 0, 0, 0, 367, 0, 0, 2197 797, 0, 434, 0, 0, 0, 0, 0, 0, 0, 2198 0, 0, 442, 0, 0, 0, 1449, 1450, 0, 0, 2199 0, 0, 0, 0, 0, 0, 590, 0, 0, 1455, 2200 0, 590, 0, 0, 0, 0, 1455, 460, 0, 0, 2201 367, 367, 470, 0, 0, 0, 0, 0, 0, 0, 2202 0, 0, 0, 0, 0, 478, 367, 0, 0, 0, 2203 0, 488, 0, 492, 0, 0, 0, 0, 0, 1488, 2204 0, 0, 0, 1494, 0, 0, 0, 0, 0, 0, 2205 210, 0, 521, 0, 0, 0, 0, 0, 520, 0, 2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2207 0, 1516, 0, 1517, 0, 0, 0, 0, 0, 0, 2208 210, 0, 0, 0, 367, 0, 919, 0, 0, 0, 2209 0, 0, 0, 580, 0, 0, 0, 584, 0, 0, 2210 0, 1532, 1533, 0, 0, 0, 0, 0, 0, 1536, 2211 1537, 0, 210, 0, 0, 0, 0, 0, 0, 706, 2212 0, 0, 0, 210, 0, 627, 0, 0, 0, 628, 2213 629, 0, 630, 0, 0, 0, 0, 0, 0, 641, 2214 642, 0, 643, 644, 0, 645, 0, 646, 0, 0, 2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2216 0, 0, 0, 0, 580, 0, 0, 0, 785, 786, 2217 0, 0, 661, 0, 0, 0, 0, 614, 0, 0, 2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2219 0, 0, 210, 0, 0, 816, 672, 0, 819, 820, 2220 0, 823, 0, 825, 826, 0, 210, 0, 827, 828, 2221 0, 126, 126, 126, 503, 0, 505, 508, 0, 0, 2222 0, 0, 698, 0, 0, 0, 511, 512, 701, 0, 2223 0, 0, 0, 460, 0, 0, 0, 0, 0, 0, 2224 0, 505, 505, 0, 0, 0, 0, 0, 0, 0, 2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 2226 362, 0, 0, 0, 0, 367, 0, 0, 0, 736, 2227 0, 0, 706, 0, 0, 0, 505, 0, 0, 0, 2228 0, 0, 0, 126, 754, 126, 0, 520, 0, 0, 2229 0, 0, 411, 0, 210, 0, 0, 0, 0, 411, 2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2231 274, 505, 164, 0, 0, 0, 0, 0, 0, 0, 2232 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, 2233 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234 0, 0, 0, 0, 954, 955, 0, 0, 0, 0, 2235 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2236 0, 0, 0, 0, 590, 126, 0, 0, 0, 0, 2237 0, 411, 0, 126, 0, 126, 126, 0, 0, 0, 2238 126, 0, 126, 126, 0, 367, 367, 0, 849, 0, 2239 0, 210, 0, 0, 463, 2, 205, 4, 5, 6, 2240 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2241 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2242 0, 26, 27, 28, 882, 0, 0, 0, 411, 0, 2243 31, 0, 889, 0, 0, 0, 411, 576, 0, 411, 2244 579, 0, 520, 0, 0, 0, 0, 362, 0, 0, 2245 0, 606, 126, 0, 0, 0, 0, 0, 34, 0, 2246 35, 0, 36, 250, 0, 38, 39, 0, 0, 0, 2247 624, 0, 0, 0, 927, 928, 0, 0, 0, 505, 2248 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 2249 505, 505, 505, 505, 505, 505, 505, 0, 0, 411, 2250 1069, 0, 0, 411, 0, 0, 962, -3, 706, 0, 2251 0, 966, 8, 9, 10, 11, 12, 13, 14, 15, 2117 2252 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2118 26, 27, 215, 348, 0, 355, 0, 0, 0, 356, 2119 356, 0, 1070, 33, 0, 0, 363, 128, 0, 128, 2120 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 2121 0, 0, 226, 0, 0, 0, 0, 363, 0, 0, 2122 0, 36, 0, 0, 276, 0, 0, 0, 0, 59, 2123 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 2124 79, 0, 0, 0, 0, 0, 0, 1071, 0, 637, 2253 -298, 0, 0, 362, 0, 0, 0, 0, 0, 0, 2254 0, 31, 0, 322, 0, 0, 0, 0, 0, 217, 2255 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 2256 0, 0, 0, 0, 379, 379, 0, 0, 0, 34, 2257 0, 999, 0, 0, 0, 0, 0, 0, 1000, 411, 2258 -298, 0, 362, 0, 0, 706, 0, 0, 0, 0, 2259 0, 1002, 0, 1003, 0, 0, 0, 0, 0, 0, 2260 0, 0, 0, 0, 0, 0, 1013, 0, 0, 0, 2261 0, 0, 1017, 0, 0, 0, 0, 0, 0, 505, 2262 0, 411, 0, 0, 1054, 362, 0, 1055, 0, 0, 2263 0, 0, 0, 0, 0, 322, 0, 0, 367, 367, 2264 0, 0, 210, 0, 0, 0, 217, 0, 0, 0, 2265 0, 0, 0, 0, 0, 1195, 0, 0, 0, 474, 2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 2267 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2268 505, 0, 0, 0, 0, 0, 0, 792, 362, 0, 2269 0, 0, 0, 0, 0, 0, 0, 606, 0, 606, 2270 606, 0, 0, 0, 0, 0, 606, 0, 0, 0, 2271 505, 0, 0, 0, 0, 0, 829, 362, 0, 0, 2272 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 2273 0, 362, 362, 0, 0, 1125, 0, 0, 0, 0, 2274 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 2275 0, 0, 411, 870, 126, 126, 411, 873, 0, 367, 2276 0, 0, 0, 875, 0, 0, 0, 0, 0, 0, 2277 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 2278 0, 126, 411, 1284, 126, 126, 0, 126, 0, 126, 2279 126, 0, 0, 0, 126, 126, 1188, 0, 0, 0, 2280 0, 0, 0, 0, 0, 362, 606, 0, 0, 0, 2281 0, 0, 0, 0, 0, 0, 520, 0, 520, 0, 2282 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 2283 1200, 0, 0, 0, 0, 1202, 0, 0, 0, 0, 2284 362, 0, 0, 1206, 411, 411, 0, 0, 0, 0, 2285 0, 0, 0, 520, 0, 520, 0, 0, 0, 0, 2286 0, 0, 0, 0, 0, 0, 0, 700, 0, 0, 2287 505, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 2288 0, 0, 164, 0, 0, 0, 0, 411, 1244, 0, 2289 0, 1245, 0, 1246, 0, 0, 0, 0, 0, 0, 2290 0, 0, 505, 606, 0, 606, 733, 0, 1255, 1256, 2291 0, 0, 0, 0, 505, 606, 0, 0, 749, 0, 2292 0, 0, 0, 0, 733, 0, 0, 733, 1268, 0, 2293 126, 126, 1141, 0, 0, 8, 9, 10, 11, 12, 2294 758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2295 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 2296 0, 0, 281, 282, 31, 283, 0, 0, 0, 0, 2297 787, 0, 0, 0, 1307, 0, 0, 344, 0, 0, 2298 0, 749, 1311, 0, 0, 0, 362, 0, 0, 0, 2299 0, 284, 34, 362, 411, 0, 411, 285, 0, 0, 2300 411, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2301 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2302 0, 606, 606, 0, 0, 0, 0, 848, 0, 505, 2303 0, 0, 0, 0, 0, 379, 295, 0, 376, 0, 2304 0, 0, 0, 0, 1142, 46, 297, 298, 299, 300, 2305 0, 0, 1358, 0, 1359, 0, 411, 0, 0, 0, 2125 2306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2126 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2127 0, 0, 0, 0, 0, 0, 0, 88, 996, 128, 2128 0, 8, 9, 10, 11, 12, 0, 128, 0, 128, 2129 128, 0, 79, 0, 128, 0, 128, 128, 0, 363, 2130 0, 0, 225, 348, 348, 0, 363, 0, 0, 0, 2131 283, 284, 33, 285, 0, 0, 0, 0, 0, 0, 2132 0, 59, 0, 81, 0, 0, 0, 0, 0, 0, 2133 0, 0, 0, 0, 0, 356, 0, 356, 0, 286, 2134 36, 0, 0, 1021, 0, 287, 0, 0, 0, 288, 2135 0, 0, 289, 290, 291, 292, 293, 294, 43, 44, 2136 0, 295, 296, 0, 0, 0, 128, 0, 0, 0, 2137 0, 0, 356, 0, 0, 0, 0, 0, 0, 356, 2138 356, 356, 0, 0, 297, 0, 378, 0, 0, 0, 2139 356, 356, 344, 48, 299, 300, 301, 302, 0, 0, 2140 0, 0, 1197, 81, 0, 0, 0, 0, 0, 0, 2141 0, 166, 0, 0, 0, 0, 363, 363, 0, 363, 2142 363, 0, 0, 0, 0, 0, 0, 0, 219, 0, 2143 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 2144 0, 0, 356, 0, 0, 0, 0, 0, 0, 0, 2145 0, 283, 284, 0, 285, 1264, 912, 0, 913, 0, 2146 0, 0, 0, 0, 0, 916, 917, 59, 59, 0, 2147 922, 363, 363, 0, 0, 166, 0, 0, 0, 273, 2148 286, 0, 0, 928, 0, 0, 287, 0, 932, 59, 2149 288, 0, 0, 289, 290, 291, 292, 293, 294, 43, 2150 44, 0, 295, 296, 0, 0, 0, 59, 166, 0, 2151 0, 356, 0, 0, 0, 594, 0, 0, 369, 0, 2152 0, 374, 0, 0, 0, 297, 0, 378, 0, 0, 2153 1286, 0, 0, 47, 48, 299, 300, 301, 302, 0, 2154 0, 0, 363, 0, 0, 0, 779, 0, 0, 0, 2155 0, 0, 0, 0, 0, 0, 348, 348, 0, 81, 2156 0, 0, 0, 0, 59, 0, 81, 0, 0, 59, 2157 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2158 0, 0, 219, 0, 226, 0, 0, 0, 0, 0, 2307 1368, 0, 1369, 0, 0, 411, 1123, 0, 0, 0, 2308 0, 126, 0, 0, 0, 362, 126, 1376, 505, 505, 2309 0, 411, 1134, 0, 606, 606, 1139, 0, 0, 0, 2310 0, 0, 1394, 1396, 0, 0, 362, 362, 0, 0, 2311 0, 924, 0, 1401, 0, 0, 1206, 0, 0, 0, 2159 2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2160 166, 0, 59, 0, 0, 88, 0, 0, 1006, 0, 2161 1007, 1008, 1009, 0, 0, 0, 0, 363, 81, 363, 2162 0, 0, 0, 0, 0, 374, 0, 0, 0, 1053, 2163 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 2164 0, 0, 0, 1059, 0, 0, 0, 0, 0, 0, 2165 0, 0, 0, 0, 363, 0, 0, 522, 0, 0, 2166 0, 363, 363, 363, 0, 0, 0, 0, 128, 128, 2167 166, 0, 363, 363, 0, 0, 0, 348, 0, 0, 2168 0, 0, 1079, 0, 0, 88, 0, 0, 0, 0, 2169 0, 0, 0, 0, 0, 128, 0, 0, 128, 128, 2170 0, 128, 59, 128, 128, 592, 0, 0, 128, 128, 2171 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2172 0, 0, 0, 0, 363, 59, 1109, 0, 0, 0, 2173 0, 1119, 59, 0, 0, 0, 1122, 0, 0, 0, 2174 0, 1126, 0, 0, 0, 0, 1128, 0, 1129, 1130, 2175 0, 0, 1133, 0, 0, 0, 0, 0, 0, 0, 2176 0, 1145, 0, 0, 0, 0, 0, 0, 0, 0, 2177 0, 0, 0, 0, 0, 0, 0, 1159, 1160, 0, 2178 0, 0, 0, 0, 59, 166, 166, 0, 0, 0, 2179 0, 369, 0, 363, 0, 0, 0, 0, 0, 0, 2180 0, 0, 0, 1189, 0, 0, 1191, 0, 0, 0, 2181 0, 0, 522, 0, 0, 0, 8, 9, 10, 11, 2182 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2183 22, 23, 24, 25, 26, 27, -298, 0, 0, 0, 2184 708, 88, 0, 0, 128, 128, 0, 33, 88, 1205, 2185 0, 0, 166, 0, 0, 1209, 1210, 0, 0, 0, 2186 0, 0, 0, 0, 522, 0, 522, 0, 0, 522, 2187 0, 166, 522, 0, 1226, 36, 0, 0, 0, 1233, 2188 0, 0, 0, 369, 1237, 0, -298, 0, 0, 0, 2189 0, 0, 0, 0, 0, 1244, 0, 0, 0, 0, 2190 88, 0, 0, 0, 0, 0, 0, 0, 1251, 0, 2191 1253, 1254, 1255, 1256, 0, 0, 0, 212, 0, 0, 2192 0, 0, 0, 0, 0, 1263, 232, 1159, 236, 0, 2193 238, 173, 0, 0, 0, 166, 0, 247, 0, 0, 2194 0, 0, 0, 0, 0, 0, 369, 0, 0, 799, 2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 2196 1292, 0, 0, 0, 0, 0, 0, 0, 212, 0, 2197 236, 238, 247, 0, 0, 592, 0, 0, 0, 0, 2198 592, 0, 0, 0, 0, 0, 0, 0, 0, 369, 2199 369, 0, 0, 0, 0, 128, 0, 0, 0, 0, 2200 128, 0, 0, 0, 0, 369, 0, 0, 0, 0, 2201 212, 0, 0, 1326, 1327, 0, 0, 0, 0, 0, 2202 0, 0, 0, 1337, 0, 0, 0, 0, 0, 0, 2203 0, 0, 0, 0, 0, 0, 0, 522, 8, 9, 2204 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2205 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2206 28, 29, 30, 369, 0, 921, 0, 0, 0, 33, 2207 0, 212, 0, 236, 238, 247, 0, 158, 0, 0, 2208 0, 0, 0, 0, 0, 1372, 0, 1373, 1374, 1375, 2209 0, 0, 0, 0, 0, 0, 0, 36, 708, 1379, 2210 0, 0, 39, 0, 40, 41, 42, 1390, 0, 212, 2211 0, 0, 0, 0, 212, 43, 44, 0, 0, 0, 2212 0, 0, 0, 0, 252, 0, 0, 0, 0, 495, 2213 0, 0, 1411, 1412, 257, 0, 0, 0, 0, 0, 2214 0, 45, 0, 46, 0, 0, 0, 0, 0, 47, 2215 48, 324, 0, 0, 0, 128, 616, 0, 0, 0, 2216 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 2217 0, 0, 381, 381, 0, 0, 0, 1451, 1452, 0, 2218 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2219 1457, 0, 0, 0, 0, 0, 0, 1457, 0, 212, 2220 0, 0, 0, 385, 236, 238, 0, 0, 0, 0, 2221 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 2222 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 2223 1490, 0, 0, 0, 1496, 0, 0, 0, 0, 0, 2224 431, 0, 0, 324, 369, 0, 0, 0, 0, 436, 2225 0, 708, 0, 0, 212, 0, 0, 0, 0, 444, 2226 0, 0, 1518, 0, 1519, 0, 522, 476, 0, 0, 2227 0, 0, 212, 0, 0, 0, 0, 212, 0, 212, 2228 0, 0, 0, 128, 462, 0, 0, 0, 0, 472, 2229 0, 166, 1534, 1535, 0, 212, 0, 0, 212, 212, 2230 1538, 1539, 480, 0, 0, 0, 212, 0, 490, 0, 2231 494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2232 212, 0, 0, 0, 0, 0, 0, 212, 0, 523, 2313 0, 0, 0, 749, 0, 948, 0, 0, 1424, 0, 2314 0, 0, 0, 0, 0, 958, 0, 1431, 0, 0, 2315 1433, 965, 1435, 1437, 1439, 0, 0, 0, 0, 0, 2316 0, 0, 0, 0, 0, 0, 411, 0, 411, 0, 2317 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, 2318 0, 0, 606, 0, 0, 0, 0, 0, 0, 0, 2319 0, 982, 983, 1470, 0, 1472, 0, 1206, 0, 0, 2320 0, 0, 0, 0, 0, 411, 1220, 344, 0, 0, 2321 0, 0, 0, 1483, 0, 0, 0, 0, 0, 0, 2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 2233 2323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234 0, 0, 0, 592, 8, 9, 10, 11, 12, 13, 2235 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2236 24, 25, 26, 27, 369, 369, 28, 29, 30, 0, 2237 582, 0, 0, 0, 586, 33, 0, 0, 0, 0, 2238 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2240 0, 0, 629, 36, 0, 0, 630, 631, 0, 632, 2241 208, 41, 0, 0, 0, 0, 643, 644, 0, 645, 2242 646, 522, 647, 0, 648, 0, 0, 0, 0, 0, 2243 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 2244 0, 582, 0, 0, 0, 0, 0, 0, 0, 663, 2245 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2246 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, 2247 0, 212, 0, 674, 0, 702, 0, 0, 0, 0, 2248 0, 0, 0, 0, 0, 0, 0, 708, 0, 0, 2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 700, 2250 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 2251 462, 0, 0, 0, 735, 0, 0, 0, 0, 0, 2252 0, 0, 0, 0, 0, 0, 751, 0, 219, 0, 2253 0, 0, 735, 0, 0, 735, 341, 364, 0, 0, 2254 212, 0, 0, 0, 0, 0, 738, 0, 760, 0, 2255 0, 0, 0, 0, 212, 0, 0, 0, 0, 0, 2256 0, 756, 0, 0, 708, 0, 0, 0, 0, 413, 2257 0, 0, 0, 0, 0, 495, 413, 0, 789, 0, 2258 0, 0, 0, 0, 0, 346, 0, 0, 0, 751, 2259 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 2260 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 2261 0, 0, 0, 0, 0, 0, 0, 369, 369, 0, 2262 0, 0, 0, 0, 0, 219, 0, 812, 0, 0, 2263 0, 0, 0, 0, 212, 850, 0, 0, 0, 0, 2264 0, 0, 0, 381, 0, 212, 0, 0, 413, 0, 2265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2266 0, 0, 212, 0, 0, 851, 0, 8, 9, 10, 2267 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2268 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2269 29, 30, 0, 0, 0, 0, 0, 0, 33, 0, 2270 0, 884, 0, 0, 0, 413, 0, 0, 0, 891, 2271 0, 0, 0, 413, 578, 0, 413, 581, 0, 926, 2272 0, 0, 0, 0, 364, 0, 36, 0, 608, 0, 2273 0, 39, 0, 208, 41, 42, 0, 0, 369, 0, 2274 252, 751, 0, 950, 43, 44, 0, 626, 0, 0, 2275 0, 929, 930, 960, 0, 0, 0, 0, 0, 967, 2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2277 45, 0, 271, 212, 0, 0, 413, 0, 47, 48, 2278 413, 0, 0, 964, 0, 0, 0, 0, 968, 0, 2279 0, 0, 0, 0, 0, 522, 0, 522, 0, 984, 2280 985, 0, 0, 212, 0, 0, 0, 0, 0, 0, 2281 364, 0, 0, 0, 0, 346, 0, 0, 0, 0, 2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2283 0, 0, 522, 0, 522, 212, 0, 0, 0, 0, 2284 0, 0, 0, 0, 0, 0, 212, 0, 1001, 0, 2285 0, 0, 0, 0, 1013, 1002, 413, 0, 381, 364, 2286 0, 166, 0, 0, 0, 0, 0, 0, 1004, 0, 2287 1005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2288 0, 0, 0, 1015, 0, 0, 0, 346, 0, 1019, 2289 0, 0, 0, 0, 346, 0, 0, 0, 413, 0, 2290 0, 1056, 364, 0, 1057, 0, 0, 0, 0, 0, 2291 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, 2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 2293 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, 2294 0, 0, 0, 0, 0, 0, 413, 413, 0, 0, 2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2296 0, 381, 0, 0, 794, 364, 960, 0, 0, 735, 2297 0, 0, 0, 0, 608, 0, 608, 608, 0, 0, 2298 0, 0, 0, 608, 0, 0, 0, 0, 0, 1131, 2299 0, 0, 0, 831, 364, 0, 0, 0, 0, 364, 2300 1146, 0, 0, 0, 0, 0, 0, 0, 364, 364, 2301 0, 0, 1127, 0, 0, 0, 0, 212, 0, 0, 2302 381, 0, 1163, 0, 364, 0, 0, 0, 0, 413, 2303 872, 0, 0, 413, 875, 0, 0, 960, 960, 505, 2304 877, 507, 510, 0, 0, 0, 0, 0, 0, 0, 2305 0, 513, 514, 0, 0, 0, 0, 1194, 0, 413, 2306 0, 0, 0, 0, 0, 0, 507, 507, 0, 0, 2307 0, 0, 0, 1190, 0, 0, 0, 0, 0, 0, 2308 0, 0, 364, 608, 0, 0, 0, 0, 0, 0, 2309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310 0, 507, 0, 0, 0, 0, 0, 1202, 0, 0, 2311 0, 960, 1204, 0, 212, 0, 0, 364, 0, 0, 2312 1208, 413, 413, 0, 0, 0, 0, 0, 0, 0, 2313 850, 0, 0, 0, 0, 0, 507, 0, 0, 0, 2314 0, 0, 0, 0, 0, 1249, 1250, 0, 0, 0, 2315 0, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 2316 0, 0, 0, 0, 413, 1246, 0, 0, 1247, 0, 2317 1248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2318 608, 0, 608, 0, 0, 1257, 1258, 0, 0, 0, 2319 0, 0, 608, 0, 0, 0, 0, 0, 0, 0, 2320 0, 0, 0, 0, 0, 1270, 0, 0, 0, 0, 2321 0, 0, 0, 0, 0, -523, 0, 0, 1, 2, 2322 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2324 0, 126, 0, 0, 0, 0, 1011, 0, 0, 0, 2325 379, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2323 2326 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2324 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2325 31, 1309, 0, 32, 0, 0, 33, 34, 0, 1313, 2326 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 2327 364, 413, 0, 413, 0, 0, 0, 413, 0, 0, 2328 0, 35, 0, 0, 36, 0, 37, 1354, 38, 39, 2329 735, 40, 41, 42, 0, 0, 0, 0, 608, 608, 2330 0, 0, 43, 44, 507, 507, 507, 507, 507, 507, 2331 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 2332 507, 507, 0, 0, 0, 0, 0, 0, 45, 1360, 2333 46, 1361, 0, 413, 0, 0, 47, 48, 0, 0, 2334 0, 0, 0, 0, 0, 0, 0, 1370, 0, 1371, 2335 0, 0, 413, 1125, 0, 0, 0, 0, 0, 0, 2336 0, 0, 364, 0, 1378, 212, 0, 0, 413, 1136, 2337 0, 608, 608, 1141, 0, 0, 0, 0, 0, 1396, 2338 1398, 0, 0, 364, 364, 0, 0, 0, 0, 0, 2339 1403, 0, 0, 1208, 8, 9, 10, 11, 12, 13, 2340 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2341 24, 25, 26, 27, -299, 1426, 0, 0, 0, 0, 2342 0, 0, 0, 0, 1433, 33, 0, 1435, 0, 1437, 2343 1439, 1441, 0, 0, 0, 0, 0, 0, 0, 0, 2344 0, 0, 0, 413, 507, 413, 0, 0, 0, 0, 2345 413, 0, 0, 36, 0, 0, 0, 0, 0, 608, 2346 0, 0, 0, 0, -299, 0, 0, 0, 0, 0, 2347 1472, 0, 1474, 0, 1208, 0, 0, 0, 0, 0, 2348 0, 0, 413, 1222, 0, 0, 0, 0, 0, 0, 2349 1485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2350 0, 0, 0, 0, 324, 507, 364, 1, 2, 207, 2327 23, 24, 25, 0, 0, 26, 27, 28, 0, 344, 2328 0, 0, 0, 0, 31, 0, 344, 0, 0, 0, 2329 0, 0, 0, 0, 0, 0, 505, 0, 0, 0, 2330 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 2331 0, 0, 34, 505, 0, 0, 0, 0, 0, 206, 2332 39, 0, 0, 0, 0, 0, 322, 204, 2, 205, 2351 2333 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2352 2334 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2353 24, 25, 26, 27, 0, 507, 28, 29, 30, 31, 2354 0, 0, 32, 283, 284, 33, 1022, 1023, 0, 1024, 2355 0, 0, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 2356 0, 0, 0, 1033, 0, 0, 0, 1034, 1035, 0, 2357 35, 0, 286, 36, 0, 37, 0, 38, 1036, 0, 2358 40, 41, 288, 364, 0, 289, 290, 291, 292, 293, 2359 294, 43, 44, 0, 295, 296, 0, 0, 0, 0, 2335 24, 25, 0, 379, 26, 27, 28, 0, 958, 362, 2336 362, 733, 0, 31, 45, 46, 0, 0, 0, 126, 2360 2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2361 0, 0, 0, 0, 0, 0, 0, 297, 0, 298, 2362 0, 0, 172, 0, 0, 47, 48, 299, 300, 301, 2363 302, 0, 0, 0, 0, 1037, 364, 364, 0, 0, 2364 -134, 0, 0, 0, 0, 0, 0, 0, 0, 507, 2365 1, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2366 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2367 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2368 29, 30, 31, 0, 0, 32, 283, 284, 33, 285, 2369 0, 0, 0, 0, 0, 507, 0, 0, 0, 0, 2370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2371 0, 0, 0, 0, 0, 286, 36, 0, 37, 0, 2372 38, 287, 0, 40, 41, 288, 0, 507, 289, 290, 2373 291, 292, 293, 294, 43, 44, 0, 295, 296, 507, 2374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2375 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 2376 297, 0, 298, 0, 0, 0, 0, 0, 47, 48, 2377 299, 300, 301, 302, 0, 0, 0, 0, 507, 0, 2378 0, 0, 0, -134, 0, 0, 0, 0, 0, 1, 2379 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2380 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2381 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2382 30, 31, 0, 0, 32, 0, 0, 33, 34, 0, 2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2384 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, 2385 0, 0, 35, 0, 507, 36, 0, 37, 0, 38, 2386 39, 0, 40, 41, 42, 0, 0, 0, 0, 0, 2387 413, 413, 0, 43, 44, 0, 0, 0, 0, 0, 2388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2389 0, 0, 0, 0, 0, 413, 0, 0, 0, 45, 2390 0, 46, 0, 0, 0, -527, 0, 47, 48, 0, 2391 0, 0, 0, 507, 507, 1, 2, 207, 4, 5, 2338 0, 1129, 0, 0, 0, 505, 505, 0, 0, 0, 2339 0, 34, 1144, 35, 0, 36, 37, 0, 206, 39, 2340 40, 0, 0, 0, 0, 0, 0, 0, 0, 41, 2341 42, 0, 379, 0, 1161, 0, 0, 0, 0, 0, 2342 0, 0, 0, 0, 0, 0, 0, 0, 0, 958, 2343 958, 0, 0, 0, 0, 43, 0, 207, 0, 0, 2344 0, 0, 0, 45, 46, 0, 0, 0, 0, 1192, 2345 0, 0, 0, 0, 0, 1, 2, 205, 4, 5, 2392 2346 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2393 2347 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2394 26, 27, 0, 0, 28, 29, 30, 31, 0, 0, 2395 32, 283, 284, 33, 285, 0, 0, 0, 0, 0, 2348 362, 0, 26, 27, 28, 29, 0, 0, 30, 0, 2349 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 2350 0, 0, 0, 958, 0, 0, 0, 0, 0, 0, 2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2352 0, 35, 848, 36, 0, 0, 38, 39, 0, 0, 2353 0, 0, 0, 0, 0, 0, 0, 1247, 1248, 0, 2354 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2355 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2356 22, 23, 24, 25, 0, 44, 26, 27, 28, 411, 2357 0, 45, 46, 0, 0, 31, 0, 0, 0, 0, 2358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359 0, 0, 0, 411, 411, 0, 0, 0, 0, 0, 2360 0, 0, 0, 34, 0, 35, 0, 36, 0, 0, 2361 38, 39, 0, 0, 0, 0, 0, 0, 411, 0, 2362 0, 0, 1, 2, 205, 4, 5, 6, 7, 8, 2363 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2364 19, 20, 21, 22, 23, 24, 25, 0, -418, 26, 2365 27, 28, 29, 0, 0, 30, 281, 282, 31, 1020, 2366 1021, 0, 1022, 0, 0, 1023, 1024, 1025, 1026, 1027, 2367 1028, 1029, 1030, 0, 0, 0, 1031, 0, 0, 1352, 2368 1032, 1033, 733, 33, 0, 284, 34, 0, 35, 0, 2369 36, 1034, 0, 38, 39, 286, 0, 0, 287, 288, 2370 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2396 2371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2397 2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2398 286, 36, 0, 37, 0, 38, 287, 0, 40, 41, 2399 288, 0, 0, 289, 290, 291, 292, 293, 294, 43, 2400 44, 0, 295, 296, 0, 0, 0, 0, 0, 0, 2373 295, 0, 296, 0, 0, 170, 0, 0, 45, 46, 2374 297, 298, 299, 300, 0, 0, 0, 0, 1035, 0, 2375 0, 0, 0, -134, 1, 2, 205, 4, 5, 6, 2376 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2377 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2378 0, 26, 27, 28, 29, 0, 0, 30, 281, 282, 2379 31, 283, 8, 9, 10, 11, 12, 13, 14, 15, 2380 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2381 0, 0, 26, 27, 28, 0, 0, 284, 34, 0, 2382 35, 31, 36, 285, 0, 38, 39, 286, 0, 0, 2383 287, 288, 289, 290, 291, 292, 41, 42, 0, 293, 2384 294, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2385 0, 0, 0, 0, 110, 0, 38, 39, 0, 0, 2386 0, 0, 295, 0, 296, 0, 0, 41, 42, 0, 2387 45, 46, 297, 298, 299, 300, 0, 0, 0, 0, 2388 0, 0, 0, 0, 0, -134, 0, 0, 0, 0, 2389 0, 0, 0, 0, 0, 0, 322, 1, 2, 205, 2390 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2391 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2392 24, 25, 0, 0, 26, 27, 28, 29, 0, 0, 2393 30, 281, 282, 31, 283, 8, 9, 10, 11, 12, 2394 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2395 23, 24, 25, -299, 0, 0, 0, 0, 0, 0, 2396 284, 34, 0, 35, 31, 36, 285, 0, 38, 39, 2397 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2398 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2399 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 2400 0, 0, 0, -299, 0, 295, 0, 296, 0, 0, 2401 0, 0, 0, 45, 46, 297, 298, 299, 300, 2, 2402 205, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2403 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2404 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2405 0, 0, 281, 282, 31, 283, 8, 9, 10, 11, 2406 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2407 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2408 0, 284, 34, 0, 35, 31, 36, 285, 0, 38, 2409 39, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2410 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2411 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 2412 38, 39, 0, 0, 0, 0, 295, 0, 341, 0, 2413 0, 0, 0, 748, 342, 46, 297, 298, 299, 300, 2414 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2415 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2416 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2417 0, 0, 0, 281, 282, 31, 283, 8, 9, 10, 2418 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2419 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2420 0, 0, 284, 34, 0, 35, 31, 36, 285, 0, 2421 38, 39, 286, 0, 0, 287, 288, 289, 290, 291, 2422 292, 41, 42, 0, 293, 294, 0, 0, 0, 0, 2423 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2424 0, 206, 39, 0, 0, 0, 0, 295, 0, 341, 2425 0, 0, 0, 0, 748, 45, 46, 297, 298, 299, 2426 300, 2, 205, 4, 5, 6, 7, 8, 9, 10, 2427 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2428 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2429 0, 0, 0, 0, 281, 282, 31, 283, 0, 0, 2401 2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2402 0, 0, 0, 0, 0, 297, 0, 298, 0, 0, 2403 0, 0, 0, 47, 48, 299, 300, 301, 302, 0, 2404 0, 0, 0, 0, 0, 2, 207, 4, 5, 6, 2431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2432 0, 0, 0, 284, 34, 0, 35, 0, 36, 285, 2433 0, 38, 39, 286, 0, 0, 287, 288, 289, 290, 2434 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2436 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 2437 341, 0, 0, 0, 0, 0, 342, 46, 297, 298, 2438 299, 300, 2, 205, 4, 5, 6, 7, 8, 9, 2439 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2440 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2441 28, 0, 0, 0, 0, 281, 282, 31, 283, 0, 2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444 0, 0, 0, 0, 284, 34, 0, 35, 0, 36, 2445 285, 0, 206, 39, 286, 0, 0, 287, 288, 289, 2446 290, 291, 292, 41, 42, 0, 293, 294, 0, 0, 2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2448 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 2449 0, 979, 0, 0, 0, 0, 0, 980, 46, 297, 2450 298, 299, 300, 2, 205, 4, 5, 6, 7, 8, 2451 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2452 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2453 27, 28, 0, 0, 0, 0, 281, 282, 31, 283, 2454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2456 0, 0, 0, 0, 0, 284, 34, 0, 35, 0, 2457 36, 285, 0, 206, 39, 286, 0, 0, 287, 288, 2458 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2461 295, 0, 376, 0, 0, 0, 0, 0, 45, 46, 2462 297, 298, 299, 300, -521, 0, 0, 1, 2, 3, 2463 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2464 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2465 24, 25, 0, 0, 26, 27, 28, 29, 0, 0, 2466 30, 0, 0, 31, 32, 0, 0, 0, 0, 0, 2467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2468 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2469 0, 34, 0, 35, 0, 36, 37, 0, 38, 39, 2470 40, 0, 0, 0, 0, 0, 0, 0, 0, 41, 2471 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473 0, 0, 0, 0, 0, 43, 0, 44, 0, 0, 2474 0, 0, 0, 45, 46, 1, 2, 3, 4, 5, 2475 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2476 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2477 0, 0, 26, 27, 28, 29, 0, 0, 30, 0, 2478 0, 31, 32, 0, 0, 0, 0, 0, 0, 0, 2479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2480 0, 0, 0, 0, 0, 0, 33, 0, 0, 34, 2481 0, 35, 0, 36, 37, 0, 38, 39, 40, 0, 2482 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 2483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2485 0, 0, 0, 43, 0, 44, 0, 0, 0, -525, 2486 0, 45, 46, 1, 2, 3, 4, 5, 6, 7, 2487 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2488 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2489 26, 27, 28, 29, 0, 0, 30, 0, 0, 31, 2490 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2492 0, 0, 0, 0, 33, 0, 0, 34, 0, 35, 2493 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 2494 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 2495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2497 0, 43, 0, 44, 0, 0, 0, 0, 0, 45, 2498 46, 1, 2, 205, 4, 5, 6, 7, 8, 9, 2499 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2500 20, 21, 22, 23, 24, 25, -298, 0, 26, 27, 2501 28, 29, 0, 0, 30, 0, 0, 31, 0, 0, 2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2504 0, 0, 0, 0, 0, 34, 0, 35, 0, 36, 2505 0, 0, 38, 39, 0, 0, -298, 204, 2, 205, 2506 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2507 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2508 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2509 0, 44, 0, 31, 0, 0, 0, 45, 46, 0, 2510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512 0, 34, 0, 35, 0, 36, 0, 0, 206, 39, 2513 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2514 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2515 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2516 0, 0, 0, 0, 0, 31, 0, 207, 0, 0, 2517 0, 0, 0, 45, 46, 0, 0, 0, 0, 0, 2518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2519 0, 0, 0, 34, 0, 35, 0, 36, 37, 0, 2520 206, 39, 40, 0, 0, 0, 0, 0, 0, 0, 2521 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523 0, 0, 0, 0, 0, 0, 0, 43, 0, 207, 2524 0, 0, 0, 0, 0, 45, 46, 2, 205, 4, 2525 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2526 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2527 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2528 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531 34, 0, 35, 0, 36, 0, 0, 38, 39, 2, 2532 205, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2533 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2534 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2535 0, 0, 0, 0, 31, -405, 668, 0, 0, 0, 2536 0, 0, 45, 46, 0, 0, 0, 0, 0, 0, 2537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2538 0, 0, 34, 0, 35, 0, 36, 0, 0, 38, 2539 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2541 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 2542 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 2543 0, 0, 0, 0, 45, 46, 2, 205, 4, 5, 2544 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2545 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2546 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2547 0, 31, 0, 0, 0, 8, 9, 10, 11, 12, 2548 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2549 23, 24, 25, 0, 0, 26, 27, 28, 0, 34, 2550 0, 35, 0, 36, 31, 675, 38, 39, 0, 0, 2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2553 1334, 0, 34, 0, 0, 0, 0, 0, 0, 38, 2554 39, 0, 0, 0, 0, 668, 0, 0, 0, 0, 2555 0, 45, 46, 2, 205, 4, 5, 6, 7, 8, 2556 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2557 19, 20, 21, 22, 23, 24, 25, 0, 676, 26, 2558 27, 28, 677, 0, 45, 46, 0, 0, 31, 0, 2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2561 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2562 36, 0, 0, 206, 39, 2, 205, 4, 5, 6, 2563 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2564 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2565 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 2566 31, 0, 269, 0, 0, 0, 0, 0, 45, 46, 2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2569 35, 0, 36, 0, 0, 38, 39, 2, 205, 4, 2570 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2571 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2572 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2573 0, 0, 31, 0, 668, 0, 0, 0, 0, 0, 2574 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2576 34, 0, 35, 0, 36, 0, 0, 206, 39, 8, 2577 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2578 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2579 27, 28, 0, 0, 0, 0, 281, 282, 31, 283, 2580 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 2581 0, 0, 45, 46, 0, 0, 0, 0, 0, 0, 2582 0, 0, 0, 0, 0, 284, 34, 0, 0, 0, 2583 0, 285, 0, 38, 39, 286, 0, 0, 287, 288, 2584 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2587 295, 0, 513, 0, 0, 170, 0, 0, 45, 46, 2588 297, 298, 299, 300, 8, 9, 10, 11, 12, 13, 2589 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2590 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2591 0, 281, 282, 31, 283, 8, 9, 10, 11, 12, 2592 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2593 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2594 284, 34, 0, 0, 31, 0, 285, 0, 38, 39, 2595 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2596 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2597 0, 0, 34, 0, 0, 0, 0, 110, 0, 38, 2598 39, 0, 0, 0, 0, 295, -40, 296, 0, 0, 2599 41, 42, 0, 45, 46, 297, 298, 299, 300, 8, 2600 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2601 19, 20, 21, 22, 23, 24, 25, 0, 44, 26, 2602 27, 28, 0, 0, 45, 46, 281, 282, 31, 283, 2603 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2604 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2605 26, 27, 28, 0, 0, 284, 34, 0, 0, 31, 2606 675, 285, 0, 38, 39, 286, 0, 0, 287, 288, 2607 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2608 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2609 0, 0, 0, 0, 38, 39, 0, 0, 0, 0, 2610 295, 0, 296, 0, 0, 0, 0, 0, 45, 46, 2611 297, 298, 299, 300, 8, 9, 10, 11, 12, 13, 2612 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2613 24, 25, 0, 676, 26, 27, 28, 1070, 0, 45, 2614 46, 281, 282, 31, 283, 8, 9, 10, 11, 12, 2615 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2616 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2617 284, 34, 0, 0, 31, 675, 285, 0, 38, 39, 2618 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2619 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2620 0, 0, 34, 0, 0, 0, 0, 0, 0, 38, 2621 39, 0, 0, 0, 0, 295, 0, 341, 0, 0, 2622 0, 0, 0, 45, 46, 297, 298, 299, 300, 8, 2623 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2624 19, 20, 21, 22, 23, 24, 25, 0, 676, 26, 2625 27, 28, 1197, 0, 45, 46, 281, 282, 31, 283, 2626 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2627 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2628 26, 27, 28, 0, 0, 284, 34, 0, 0, 31, 2629 0, 285, 0, 38, 39, 286, 0, 0, 287, 288, 2630 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2631 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2632 0, 0, 37, 0, 38, 39, 40, 0, 0, 0, 2633 295, 0, 376, 0, 0, 41, 42, 0, 45, 46, 2634 297, 298, 299, 300, 0, 0, 0, 0, 0, 0, 2635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2636 0, 43, 0, 44, 0, 0, 0, 0, 0, 45, 2637 46, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2638 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2639 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 2640 31, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2641 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2642 0, 26, 27, 28, 0, 0, 0, 0, 34, 0, 2643 31, 0, 0, 37, 0, 206, 39, 40, 0, 0, 2644 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 2645 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2646 0, 0, 0, 0, 0, 38, 39, 0, 0, 0, 2647 0, 0, 43, 0, 269, 0, 0, 0, 0, 0, 2648 45, 46, 0, 0, 0, 8, 9, 10, 11, 12, 2649 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2650 23, 24, 25, 0, 256, 26, 27, 28, 0, 0, 2651 45, 46, 0, 0, 31, 8, 9, 10, 11, 12, 2652 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2653 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2654 0, 0, 34, 0, 31, 0, 0, 0, 0, 38, 2655 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2657 0, 0, 34, 0, 0, 0, 0, 0, 0, 206, 2658 39, 0, 0, 0, 0, 0, 0, 0, 44, 0, 2659 0, 0, 0, 0, 45, 46, 0, 0, 0, 8, 2660 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2661 19, 20, 21, 22, 23, 24, 25, 0, 269, 26, 2662 27, 28, 0, 0, 45, 46, 0, 0, 31, 8, 2663 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2664 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2665 27, 28, 0, 0, 0, 0, 34, 0, 31, 0, 2666 0, 0, 0, 38, 39, 0, 0, 0, 0, 0, 2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2668 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2669 0, 0, 0, 38, 39, 0, 0, 0, 0, 0, 2670 0, 0, 337, 0, 0, 0, 0, 0, 45, 46, 2671 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2672 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2673 25, 0, 676, 26, 27, 28, 0, 0, 45, 46, 2674 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2677 34, 0, 0, 0, 0, 0, 0, 38, 39, 0, 2678 0, 0, 281, 282, 0, 283, 1021, 0, 1022, 0, 2679 0, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 0, 2680 0, 1508, 1031, 0, 0, 0, 1032, 1033, 0, 33, 2681 0, 284, 0, 0, 0, 0, 668, 1034, 0, 0, 2682 0, 286, 45, 46, 287, 288, 289, 290, 291, 292, 2683 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2685 0, 0, 0, 0, 0, 0, 295, 0, 376, 0, 2686 0, 170, 0, 0, 45, 46, 297, 298, 299, 300, 2687 0, 0, 281, 282, 1035, 283, 1021, 0, 1022, -134, 2688 0, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 0, 2689 0, 0, 1031, 0, 0, 0, 1032, 1033, 0, 33, 2690 0, 284, 0, 0, 0, 0, 0, 1034, 0, 0, 2691 0, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2692 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2694 0, 0, 0, 0, 0, 0, 295, 0, 376, 0, 2695 0, 170, 0, 0, 45, 46, 297, 298, 299, 300, 2696 0, 0, 0, 0, 1035, 0, 0, 0, 0, -134, 2697 2, 205, 4, 5, 6, 7, 8, 9, 10, 11, 2698 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2699 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2700 0, 0, 0, 0, 0, 31, 0, 281, 282, 0, 2701 283, 1021, 0, 1022, 1380, 1381, 1023, 1024, 1025, 1026, 2702 1027, 1028, 1029, 1030, 0, 0, 1508, 1031, 0, 0, 2703 0, 1032, 1033, 34, 33, 35, 284, 36, 0, 0, 2704 38, 39, 1034, 0, 0, 0, 286, 0, 0, 287, 2705 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2706 0, 0, 0, 0, 1291, 0, 0, 0, 0, 0, 2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2708 0, 295, 0, 376, 0, 0, 170, 0, 0, 45, 2709 46, 297, 298, 299, 300, 0, 0, 281, 282, 1035, 2710 283, 1021, 0, 1022, 1380, 1381, 1023, 1024, 1025, 1026, 2711 1027, 1028, 1029, 1030, 0, 0, 0, 1031, 0, 0, 2712 0, 1032, 1033, 0, 33, 0, 284, 0, 0, 0, 2713 0, 0, 1034, 0, 0, 0, 286, 0, 0, 287, 2714 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2717 0, 295, 0, 376, 0, 0, 170, 0, 0, 45, 2718 46, 297, 298, 299, 300, 0, 0, 281, 282, 1035, 2719 283, 1021, 0, 1022, 0, 0, 1023, 1024, 1025, 1026, 2720 1027, 1028, 1029, 1030, 0, 0, 0, 1031, 0, 0, 2721 0, 1032, 1033, 0, 33, 0, 284, 0, 0, 0, 2722 0, 0, 1034, 0, 0, 0, 286, 0, 0, 287, 2723 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2724 0, 0, 0, 0, 0, 0, 281, 282, 0, 283, 2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2726 0, 295, 0, 376, 0, 0, 170, 0, 0, 45, 2727 46, 297, 298, 299, 300, 284, 0, 0, 0, 1035, 2728 0, 631, 0, 139, 140, 286, 0, 0, 287, 288, 2729 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2730 0, 0, 0, 0, 0, 281, 282, 0, 283, 0, 2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732 295, 0, 632, 0, 633, 377, 0, 0, 45, 46, 2733 297, 298, 299, 300, 284, 0, 0, 0, 0, 0, 2734 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 2735 290, 291, 292, 41, 42, 0, 293, 294, 0, 0, 2736 0, 0, 0, 0, 281, 282, 0, 283, 0, 0, 2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 2738 0, 376, 0, 0, 377, 0, 0, 45, 46, 297, 2739 298, 299, 300, 284, 0, 0, 0, 0, 0, 285, 2740 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 2741 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2742 0, 0, 0, 281, 282, 0, 283, 0, 0, 0, 2743 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 2744 376, 0, 0, 0, 0, 748, 45, 46, 297, 298, 2745 299, 300, 284, 0, 0, 0, 0, 0, 285, 0, 2746 0, 0, 286, 0, 0, 287, 288, 289, 290, 291, 2747 292, 41, 42, 0, 293, 294, 0, 0, 0, 0, 2748 0, 0, 281, 282, 0, 283, 0, 0, 0, 0, 2749 0, 0, 0, 0, 0, 0, 0, 295, 0, 376, 2750 0, 0, 956, 0, 0, 45, 46, 297, 298, 299, 2751 300, 284, 0, 0, 0, 0, 0, 285, 0, 0, 2752 0, 286, 0, 0, 287, 288, 289, 290, 291, 292, 2753 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2754 0, 281, 282, 0, 283, 0, 0, 0, 0, 0, 2755 0, 0, 0, 0, 0, 0, 295, 0, 376, 0, 2756 0, 0, 0, 0, 45, 46, 297, 298, 299, 300, 2757 284, 0, 0, 0, 0, 0, 285, 0, 0, 0, 2758 286, 0, 0, 287, 288, 289, 290, 291, 292, 41, 2759 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2760 281, 282, 0, 283, 0, 0, 0, 0, 0, 0, 2761 0, 0, 0, 0, 0, 502, 0, 376, 0, 0, 2762 0, 0, 0, 45, 46, 297, 298, 299, 300, 284, 2763 0, 0, 0, 0, 0, 285, 0, 0, 0, 286, 2764 0, 0, 287, 288, 289, 290, 291, 292, 41, 42, 2765 0, 293, 294, 0, 0, 0, 0, 0, 0, 281, 2766 282, 0, 283, 0, 0, 0, 0, 0, 0, 0, 2767 0, 0, 0, 0, 507, 0, 376, 0, 0, 0, 2768 0, 0, 45, 46, 297, 298, 299, 300, 284, 0, 2769 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 2770 0, 287, 288, 289, 290, 291, 292, 41, 42, 0, 2771 293, 294, 0, 0, 0, 0, 0, 0, 281, 282, 2772 0, 283, 0, 0, 0, 0, 0, 0, 0, 0, 2773 0, 0, 0, 510, 0, 376, 0, 0, 0, 0, 2774 0, 45, 46, 297, 298, 299, 300, 284, 0, 0, 2775 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 2776 287, 288, 289, 290, 291, 292, 41, 42, 0, 293, 2777 294, 0, 0, 0, 0, 0, 0, 281, 282, 0, 2778 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2779 0, 0, 295, 0, 376, 0, 0, 0, 0, 0, 2780 699, 46, 297, 298, 299, 300, 284, 0, 0, 0, 2781 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 2782 288, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785 0, 295, 0, 376, 0, 0, 0, 0, 0, 342, 2786 46, 297, 298, 299, 300, 2, 205, 4, 5, 6, 2787 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2788 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2790 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2793 35, 0, 36, 37, 0, 173, 174, 40, 0, 0, 2794 0, 0, 0, 0, 0, 0, 41, 42, 204, 2, 2795 205, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2796 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2797 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2798 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801 0, 0, 34, 0, 35, 0, 36, 0, 0, 206, 2802 39, 463, 2, 205, 4, 5, 6, 7, 8, 9, 2803 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2804 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2805 28, 0, 0, 0, 0, 0, 0, 31, 0, 0, 2806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808 0, 0, 0, 0, 0, 34, 0, 35, 0, 36, 2809 0, 0, 38, 39, 2, 205, 4, 5, 6, 7, 2810 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2811 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2812 26, 27, 28, 0, 0, 0, 0, 0, 0, 31, 2813 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2814 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2815 0, 26, 27, 28, 481, 482, 483, 34, 0, 35, 2816 31, 36, 0, 0, 206, 39, 0, 0, 0, 0, 2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2818 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2819 0, 0, 0, 0, 0, 38, 39 2820 }; 2821 2822 #define yypact_value_is_default(yystate) \ 2823 ((yystate) == (-1333)) 2824 2825 #define yytable_value_is_error(yytable_value) \ 2826 YYID (0) 2827 2828 static const yytype_int16 yycheck[] = 2829 { 2830 0, 1, 43, 43, 43, 238, 184, 0, 116, 203, 2831 1, 184, 0, 530, 184, 218, 0, 184, 184, 509, 2832 740, 0, 167, 168, 740, 740, 184, 184, 860, 613, 2833 595, 32, 32, 593, 725, 637, 347, 1, 43, 32, 2834 460, 593, 517, 43, 32, 478, 488, 593, 32, 49, 2835 492, 347, 566, 32, 105, 186, 49, 595, 1301, 39, 2836 185, 0, 966, 63, 423, 424, 66, 81, 43, 69, 2837 63, 593, 683, 66, 593, 362, 69, 593, 69, 366, 2838 1002, 1003, 28, 593, 97, 49, 264, 1020, 1003, 43, 2839 39, 264, 200, 32, 264, 81, 49, 264, 264, 627, 2840 628, 51, 0, 1, 155, 105, 264, 264, 118, 1013, 2841 0, 1110, 109, 113, 72, 643, 116, 117, 131, 81, 2842 0, 343, 1032, 1033, 134, 106, 112, 66, 109, 260, 2843 261, 490, 78, 113, 32, 63, 133, 111, 44, 45, 2844 265, 105, 32, 184, 184, 184, 146, 147, 39, 113, 2845 509, 113, 32, 1485, 147, 155, 156, 49, 1401, 159, 2846 113, 111, 111, 43, 113, 64, 159, 860, 280, 49, 2847 890, 69, 628, 701, 890, 890, 134, 111, 415, 184, 2848 1512, 185, 146, 63, 184, 185, 66, 643, 484, 69, 2849 709, 155, 185, 709, 627, 628, 1106, 434, 255, 709, 2850 200, 686, 1485, 678, 407, 442, 134, 596, 208, 184, 2851 643, 117, 111, 602, 573, 208, 111, 112, 113, 39, 2852 220, 113, 1505, 264, 264, 264, 39, 220, 1380, 1512, 2853 184, 1230, 72, 1232, 1233, 72, 217, 111, 238, 799, 2854 204, 661, 44, 45, 208, 701, 811, 799, 39, 250, 2855 250, 39, 11, 799, 146, 208, 478, 250, 258, 133, 2856 98, 265, 250, 263, 264, 265, 250, 147, 701, 783, 2857 270, 250, 265, 811, 238, 886, 255, 799, 403, 159, 2858 799, 220, 119, 799, 595, 393, 124, 1202, 339, 799, 2859 271, 111, 98, 113, 134, 295, 583, 278, 111, 118, 2860 113, 1453, 87, 736, 184, 185, 270, 909, 308, 273, 2861 111, 250, 1384, 421, 116, 134, 208, 270, 124, 427, 2862 111, 114, 113, 111, 324, 113, 1435, 1020, 208, 329, 2863 115, 295, 116, 1255, 1256, 1268, 329, 624, 1029, 339, 2864 220, 1256, 295, 343, 308, 227, 238, 347, 348, 111, 2865 112, 476, 250, 918, 112, 308, 1188, 917, 415, 779, 2866 250, 1470, 362, 1472, 246, 255, 366, 44, 45, 789, 2867 250, 917, 0, 1, 132, 339, 72, 434, 270, 343, 2868 800, 112, 363, 118, 264, 442, 367, 118, 500, 85, 2869 86, 613, 3, 393, 1456, 917, 618, 981, 362, 403, 2870 1462, 597, 366, 403, 32, 601, 891, 1311, 1480, 348, 2871 403, 55, 801, 1485, 118, 111, 308, 113, 30, 3, 2872 1482, 421, 112, 423, 424, 1487, 622, 427, 132, 429, 2873 626, 118, 72, 1505, 72, 672, 415, 112, 66, 116, 2874 1512, 69, 132, 0, 118, 85, 86, 85, 86, 329, 2875 450, 343, 937, 97, 1376, 434, 889, 132, 132, 423, 2876 424, 1376, 0, 442, 1368, 1369, 118, 347, 468, 111, 2877 82, 83, 476, 113, 964, 113, 476, 952, 478, 295, 2878 480, 111, 134, 476, 484, 927, 450, 480, 121, 122, 2879 490, 1424, 480, 638, 118, 1188, 480, 450, 1431, 463, 2880 811, 480, 502, 1105, 504, 792, 112, 507, 132, 509, 2881 510, 118, 118, 1078, 736, 811, 647, 517, 118, 118, 2882 113, 521, 115, 403, 488, 415, 490, 134, 492, 114, 2883 469, 423, 424, 118, 134, 134, 112, 645, 502, 132, 2884 504, 480, 118, 507, 434, 509, 510, 133, 192, 502, 2885 1483, 504, 442, 678, 507, 111, 118, 510, 4, 5, 2886 6, 7, 8, 9, 130, 565, 566, 133, 112, 1002, 2887 118, 215, 134, 573, 118, 1268, 111, 1268, 113, 999, 2888 1000, 225, 480, 583, 584, 112, 134, 587, 478, 1064, 2889 480, 118, 220, 593, 1069, 595, 584, 112, 490, 111, 2890 480, 990, 991, 118, 484, 118, 112, 423, 424, 573, 2891 114, 1096, 118, 613, 118, 672, 728, 509, 618, 583, 2892 620, 134, 250, 69, 624, 71, 922, 627, 628, 111, 2893 242, 118, 112, 614, 1054, 1055, 111, 833, 118, 118, 2894 118, 698, 118, 643, 847, 645, 118, 134, 629, 613, 2895 112, 295, 1343, 114, 618, 134, 134, 118, 134, 72, 2896 624, 642, 134, 76, 867, 114, 72, 889, 49, 118, 2897 1155, 1156, 85, 86, 678, 675, 615, 119, 678, 85, 2898 86, 573, 63, 125, 126, 66, 502, 111, 69, 112, 2899 112, 507, 1125, 672, 510, 118, 929, 111, 111, 113, 2900 113, 701, 702, 703, 90, 91, 119, 120, 853, 709, 2901 710, 675, 890, 593, 114, 595, 112, 890, 118, 698, 2902 890, 613, 675, 890, 890, 112, 618, 923, 112, 112, 2903 112, 1424, 890, 890, 118, 118, 736, 1428, 1431, 1430, 2904 740, 741, 111, 724, 113, 112, 112, 112, 564, 713, 2905 689, 118, 118, 4, 5, 6, 7, 8, 9, 981, 2906 111, 92, 93, 1, 703, 377, 147, 892, 1285, 1489, 2907 112, 112, 111, 1489, 1489, 112, 118, 118, 159, 117, 2908 1200, 118, 672, 783, 4, 5, 6, 7, 8, 9, 2909 1483, 111, 792, 1484, 794, 439, 127, 128, 678, 799, 2910 994, 112, 72, 111, 185, 113, 1094, 118, 698, 79, 2911 1098, 811, 82, 33, 84, 85, 86, 1237, 69, 134, 2912 71, 465, 1255, 111, 1244, 1245, 1246, 208, 792, 709, 2913 710, 72, 112, 74, 75, 76, 94, 95, 118, 220, 2914 72, 112, 74, 75, 85, 86, 736, 118, 111, 69, 2915 113, 71, 480, 85, 86, 794, 119, 120, 502, 111, 2916 860, 113, 111, 507, 66, 64, 510, 0, 1, 111, 2917 1015, 113, 860, 134, 111, 487, 113, 489, 1363, 111, 2918 82, 860, 882, 134, 116, 112, 113, 1307, 892, 889, 2919 890, 116, 892, 116, 882, 1380, 29, 30, 72, 32, 2920 74, 75, 116, 1125, 904, 134, 57, 111, 112, 113, 2921 43, 85, 86, 72, 111, 117, 49, 917, 918, 799, 2922 79, 860, 922, 82, 57, 84, 85, 86, 928, 929, 2923 63, 811, 72, 66, 74, 75, 69, 928, 134, 1064, 2924 904, 111, 116, 113, 1069, 85, 86, 81, 329, 82, 2925 83, 904, 952, 111, 113, 106, 111, 159, 109, 283, 2926 117, 118, 860, 927, 928, 929, 81, 1452, 1453, 502, 2927 860, 504, 120, 106, 507, 129, 109, 510, 1086, 96, 2928 1202, 981, 1094, 116, 308, 309, 1098, 1099, 130, 111, 2929 1465, 113, 111, 113, 113, 111, 112, 113, 3, 889, 2930 119, 120, 1002, 1003, 114, 10, 11, 12, 13, 14, 2931 890, 114, 892, 251, 147, 112, 660, 981, 220, 343, 2932 1020, 633, 403, 58, 59, 669, 159, 117, 118, 673, 2933 928, 895, 1020, 897, 39, 44, 45, 929, 112, 1514, 2934 112, 1020, 922, 112, 72, 984, 74, 75, 76, 1111, 2935 1112, 184, 185, 112, 378, 112, 258, 85, 86, 1059, 2936 1064, 263, 67, 111, 1064, 1069, 217, 200, 114, 1069, 2937 682, 111, 684, 113, 113, 208, 688, 118, 1078, 119, 2938 120, 1020, 116, 111, 217, 113, 1086, 220, 133, 981, 2939 116, 119, 120, 116, 227, 1059, 549, 550, 72, 111, 2940 1212, 111, 112, 113, 132, 79, 1059, 114, 82, 242, 2941 84, 85, 86, 246, 58, 59, 60, 250, 251, 133, 2942 271, 112, 1020, 551, 552, 1125, 112, 278, 557, 558, 2943 1020, 264, 265, 3, 553, 554, 555, 556, 271, 113, 2944 10, 11, 12, 13, 14, 278, 348, 3, 10, 11, 2945 12, 13, 14, 114, 10, 11, 12, 13, 14, 114, 2946 72, 132, 74, 75, 76, 132, 1166, 1167, 72, 39, 2947 74, 75, 76, 85, 86, 132, 1167, 39, 118, 860, 2948 29, 85, 86, 39, 1064, 112, 112, 116, 1188, 1069, 2949 1302, 112, 117, 117, 1306, 346, 329, 67, 117, 111, 2950 1188, 113, 1202, 118, 111, 67, 1206, 119, 120, 1188, 2951 112, 67, 363, 346, 347, 1206, 367, 10, 11, 12, 2952 13, 14, 546, 547, 548, 463, 428, 1166, 134, 132, 2953 363, 112, 860, 118, 367, 1125, 112, 112, 112, 112, 2954 884, 853, 1206, 112, 377, 112, 39, 859, 112, 1188, 2955 118, 1359, 112, 112, 112, 1255, 1256, 112, 112, 112, 2956 393, 112, 112, 1263, 112, 0, 1499, 469, 1268, 1167, 2957 403, 117, 29, 112, 67, 118, 133, 114, 114, 112, 2958 1268, 112, 112, 118, 111, 132, 524, 899, 421, 1268, 2959 1188, 529, 72, 1405, 427, 118, 116, 32, 1188, 79, 2960 928, 1301, 82, 132, 84, 85, 86, 112, 1206, 112, 2961 1301, 1489, 1202, 112, 118, 112, 1489, 112, 111, 1489, 2962 113, 112, 1489, 1489, 1263, 111, 119, 120, 118, 1268, 2963 463, 1489, 1489, 113, 69, 468, 72, 1301, 111, 577, 2964 76, 118, 1023, 476, 956, 111, 111, 480, 111, 85, 2965 86, 484, 1168, 1169, 487, 1171, 489, 1465, 132, 1359, 2966 112, 117, 1178, 134, 1180, 1490, 112, 117, 72, 112, 2967 1268, 130, 76, 117, 116, 111, 1376, 1358, 1268, 134, 2968 114, 85, 86, 119, 120, 587, 112, 1031, 118, 1514, 2969 114, 524, 1020, 114, 112, 112, 529, 47, 114, 114, 2970 114, 1401, 112, 1301, 117, 114, 644, 111, 646, 114, 2971 1401, 114, 134, 615, 134, 119, 120, 112, 620, 0, 2972 1, 156, 134, 747, 1424, 117, 72, 134, 74, 75, 2973 112, 1431, 134, 1433, 132, 1435, 1424, 1401, 1050, 85, 2974 86, 117, 114, 1431, 577, 1424, 83, 114, 1489, 1489, 2975 1489, 32, 1431, 114, 114, 114, 114, 112, 696, 112, 2976 593, 60, 595, 614, 111, 1465, 114, 113, 49, 1433, 2977 1470, 1435, 1472, 111, 116, 111, 98, 112, 629, 112, 2978 1433, 614, 1435, 1483, 111, 1424, 1490, 689, 69, 1489, 2979 1490, 642, 1431, 661, 229, 1483, 629, 1490, 114, 1499, 2980 633, 703, 134, 1401, 1483, 114, 1470, 1188, 1472, 642, 2981 1514, 644, 645, 646, 1514, 250, 112, 1470, 112, 1472, 2982 255, 1514, 114, 1339, 105, 98, 1424, 111, 111, 134, 2983 117, 42, 112, 1431, 1424, 1499, 112, 112, 1166, 1167, 2984 72, 1431, 74, 75, 1483, 678, 112, 118, 134, 682, 2985 1162, 684, 134, 85, 86, 688, 70, 112, 132, 73, 2986 1188, 112, 76, 696, 78, 98, 147, 98, 112, 134, 2987 134, 85, 112, 724, 155, 156, 709, 710, 1206, 111, 2988 114, 134, 112, 112, 116, 1483, 72, 114, 74, 75, 2989 76, 724, 794, 1483, 117, 114, 134, 134, 111, 85, 2990 86, 117, 117, 1284, 185, 112, 112, 1499, 134, 1489, 2991 112, 779, 112, 657, 349, 1035, 559, 562, 560, 200, 2992 561, 789, 203, 204, 563, 111, 961, 208, 1188, 1453, 2993 1345, 1524, 800, 1277, 1099, 1263, 1306, 1278, 66, 1431, 2994 1268, 10, 11, 12, 13, 14, 1050, 75, 229, 686, 2995 675, 675, 233, 1069, 235, 688, 1337, 981, 897, 1340, 2996 905, 577, 956, 244, 853, 925, 799, 639, 480, 250, 2997 39, 713, 1206, 1301, 255, 724, 565, 565, 811, 565, 2998 415, -1, -1, -1, 265, -1, -1, -1, -1, 117, 2999 -1, -1, 273, -1, 429, -1, 1020, 211, 67, 434, 3000 -1, -1, -1, 1384, -1, 943, -1, 442, 1389, -1, 3001 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, 3002 853, -1, -1, -1, 962, 460, 859, -1, 966, -1, 3003 -1, 159, -1, -1, -1, -1, -1, 1418, -1, 39, 3004 777, -1, 111, 478, 113, 480, -1, -1, -1, -1, 3005 119, 120, -1, -1, -1, -1, -1, 890, 339, 892, 3006 -1, -1, 343, -1, 278, -1, 899, 67, 349, -1, 3007 -1, -1, -1, 1401, 83, 1013, -1, -1, 87, 88, 3008 89, 362, 984, -1, -1, 366, 521, -1, 1432, 922, 3009 1434, -1, 220, -1, -1, -1, 1424, -1, 188, -1, 3010 -1, 66, 111, 1431, 113, 195, 115, 116, -1, -1, 3011 943, 111, 849, 113, -1, -1, -1, -1, -1, 119, 3012 120, -1, 1503, 956, -1, 1469, -1, 1471, 1509, 962, 3013 258, 999, 1000, 966, 415, 263, 350, -1, 352, 1520, 3014 -1, -1, -1, 1524, -1, -1, -1, -1, 429, 584, 3015 278, -1, 117, 434, 891, 1483, -1, -1, -1, -1, 3016 -1, 442, 72, -1, 74, 75, 76, -1, -1, 1513, 3017 -1, 1515, 1110, -1, -1, 85, 86, 267, -1, 460, 3018 1013, -1, 463, -1, 1528, 1529, 1054, 1055, -1, -1, 3019 -1, -1, 627, 628, 159, -1, -1, 478, -1, 480, 3020 937, 111, -1, 113, -1, -1, -1, 488, 643, 119, 3021 120, 492, 10, 11, 12, 13, 14, 1050, -1, -1, 3022 348, -1, -1, -1, 438, -1, 661, -1, -1, -1, 3023 -1, 1064, 969, -1, 324, -1, 1069, 672, -1, -1, 3024 521, 39, 332, -1, 72, 335, 74, 75, 76, -1, 3025 0, -1, -1, 1086, -1, 220, -1, 85, 86, -1, 3026 -1, -1, -1, 698, 1166, -1, 701, -1, -1, 67, 3027 -1, -1, -1, -1, 72, -1, -1, 1110, 76, -1, 3028 1017, -1, 32, 111, -1, 566, -1, 85, 86, -1, 3029 -1, -1, 1230, 258, 1232, 1233, -1, -1, 263, -1, 3030 428, 736, 583, 584, -1, 395, -1, -1, -1, 399, 3031 -1, -1, -1, 111, 595, -1, 444, -1, -1, 69, 3032 460, 119, 120, -1, -1, -1, -1, -1, -1, 1162, 3033 -1, -1, 613, -1, 0, -1, -1, 618, -1, -1, 3034 -1, 469, -1, 624, 779, -1, 627, 628, -1, -1, 3035 -1, -1, -1, -1, 789, -1, -1, -1, -1, 1096, 3036 795, 1263, 643, -1, -1, 800, 32, -1, 72, 1237, 3037 74, 75, 76, 1311, -1, -1, 1244, 1245, 1246, -1, 3038 661, 85, 86, 348, -1, 475, -1, -1, -1, -1, 3039 -1, 672, -1, -1, -1, -1, -1, 1230, -1, 1232, 3040 1233, -1, -1, 69, -1, -1, 156, 111, 10, 11, 3041 12, 13, 14, -1, -1, 119, 120, 698, 1155, 1156, 3042 701, -1, -1, -1, -1, 860, -1, -1, -1, 710, 3043 1368, 1369, 713, -1, -1, -1, -1, 39, -1, 1307, 3044 10, 11, 12, 13, 14, -1, -1, 882, -1, -1, 3045 -1, -1, -1, -1, 889, 736, -1, -1, -1, 587, 3046 741, -1, -1, 428, -1, 67, -1, -1, 1406, 39, 3047 72, -1, 74, 75, 76, 565, 566, -1, 1311, -1, 3048 -1, -1, -1, 85, 86, -1, -1, 615, -1, -1, 3049 156, -1, 620, -1, -1, -1, -1, 67, 779, -1, 3050 250, -1, 72, -1, 469, 255, 76, 1358, 789, 111, 3051 724, 792, -1, -1, 795, 85, 86, 119, 120, 800, 3052 -1, 661, -1, -1, -1, 1358, 1359, -1, 1466, 810, 3053 72, -1, 74, 75, 76, 1368, 1369, 1475, 0, 1, 3054 -1, 111, -1, 85, 86, -1, -1, -1, -1, 119, 3055 120, -1, 10, 11, 12, 13, 14, -1, 648, -1, 3056 -1, 689, 652, -1, 999, 1000, -1, 1002, 1003, 111, 3057 32, 113, -1, 1406, -1, 703, -1, 119, 120, 860, 3058 -1, 39, -1, -1, 250, 1020, -1, -1, -1, 255, 3059 -1, -1, -1, -1, -1, -1, 724, -1, -1, 349, 3060 -1, 882, -1, -1, 66, -1, -1, 69, 889, 67, 3061 -1, 892, -1, -1, 72, -1, 74, 75, 76, 1054, 3062 1055, -1, 587, -1, -1, -1, 1363, 85, 86, -1, 3063 -1, -1, 1465, 1466, -1, -1, -1, 918, -1, 779, 3064 -1, -1, 1475, 1380, -1, -1, 927, 928, 0, 789, 3065 615, -1, -1, 111, -1, 620, 1489, 1490, -1, -1, 3066 800, 119, 120, -1, -1, 415, 794, -1, -1, 10, 3067 11, 12, 13, 14, -1, -1, -1, -1, -1, 429, 3068 32, 1514, -1, 349, 434, -1, -1, -1, -1, -1, 3069 1125, -1, 442, 783, 156, -1, -1, -1, 39, -1, 3070 981, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3071 460, -1, -1, 994, -1, 1452, 1453, 69, 999, 1000, 3072 -1, 1002, 1003, -1, 689, -1, 67, -1, 478, -1, 3073 480, 72, 1167, 74, 75, 76, -1, -1, 703, 1020, 3074 -1, -1, -1, -1, 85, 86, -1, -1, 72, 415, 3075 74, 75, 76, 1188, -1, -1, -1, -1, 220, -1, 3076 -1, 85, 86, 429, -1, 1200, -1, 1202, 434, -1, 3077 111, 521, 113, 1054, 1055, -1, 442, -1, 119, 120, 3078 -1, -1, -1, -1, -1, 83, -1, 111, 250, 87, 3079 88, 89, -1, -1, 460, 119, 120, -1, -1, -1, 3080 -1, -1, 1237, -1, 156, -1, 896, -1, -1, 1244, 3081 1245, 1246, 478, 111, 480, 113, -1, 115, 116, -1, 3082 1255, 1256, -1, -1, -1, -1, -1, -1, -1, 794, 3083 -1, -1, -1, 1268, 584, -1, -1, -1, -1, -1, 3084 -1, -1, -1, -1, 1125, -1, -1, -1, -1, -1, 3085 -1, -1, -1, -1, -1, 521, 984, -1, -1, 999, 3086 1000, 99, 100, 101, 102, 103, 104, 105, 106, 107, 3087 108, 109, 1307, -1, -1, -1, -1, 627, 628, -1, 3088 -1, 971, -1, -1, -1, -1, 1167, -1, -1, -1, 3089 -1, -1, -1, 643, -1, 133, -1, 987, 250, -1, 3090 -1, -1, -1, 255, -1, -1, -1, 1188, -1, -1, 3091 -1, 661, -1, -1, 1054, 1055, -1, -1, 584, 1200, 3092 -1, 1202, 672, -1, -1, 1206, -1, -1, -1, -1, 3093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3094 -1, 1376, -1, -1, -1, -1, -1, -1, 698, -1, 3095 -1, 701, -1, -1, -1, -1, 1237, -1, -1, -1, 3096 -1, 627, 628, 1244, 1245, 1246, -1, 429, -1, -1, 3097 -1, -1, 1062, -1, 1255, 1256, -1, 643, -1, -1, 3098 -1, -1, -1, -1, -1, -1, 736, 1268, -1, 1424, 3099 -1, -1, -1, -1, -1, 661, 1431, 349, 53, -1, 3100 55, -1, -1, 58, 59, 60, 672, 62, -1, -1, 3101 -1, 1101, -1, -1, -1, -1, -1, -1, 480, 984, 3102 1301, 76, -1, -1, -1, -1, 1307, -1, -1, 779, 3103 -1, -1, 698, 88, 89, 701, -1, -1, 1166, 789, 3104 -1, -1, -1, -1, -1, 795, -1, -1, 1483, -1, 3105 800, -1, -1, -1, -1, -1, -1, -1, -1, 521, 3106 1200, -1, -1, 415, -1, -1, -1, -1, -1, -1, 3107 736, -1, -1, -1, -1, -1, -1, 429, -1, -1, 3108 -1, -1, 434, -1, -1, -1, -1, -1, -1, -1, 3109 442, -1, -1, -1, -1, 1376, -1, 1237, -1, -1, 3110 -1, -1, -1, -1, 1244, 1245, 1246, -1, 460, -1, 3111 860, -1, -1, 779, -1, -1, -1, -1, -1, -1, 3112 1401, -1, 584, 789, -1, -1, 478, -1, 480, 795, 3113 -1, -1, 882, -1, 800, 1263, -1, -1, -1, 889, 3114 -1, -1, -1, 1424, -1, -1, -1, -1, -1, -1, 3115 1431, -1, 7, -1, -1, 10, 11, 12, 13, 14, 3116 -1, -1, -1, -1, -1, 627, 628, 1307, -1, 521, 3117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3118 -1, 643, 37, 38, 39, 40, -1, -1, -1, -1, 3119 -1, -1, -1, -1, 860, -1, -1, -1, -1, -1, 3120 -1, 1166, 1483, -1, -1, -1, -1, -1, -1, 1490, 3121 -1, 66, 67, -1, -1, -1, 882, 72, -1, -1, 3122 -1, 76, -1, 889, 79, 80, 81, 82, 83, 84, 3123 85, 86, 584, 88, 89, -1, -1, -1, -1, 701, 3124 -1, -1, -1, -1, -1, -1, -1, -1, -1, 999, 3125 1000, -1, 1002, 1003, -1, -1, 111, -1, 113, -1, 3126 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 3127 1020, -1, -1, -1, -1, 627, 628, -1, -1, -1, 3128 -1, -1, -1, -1, -1, -1, -1, 342, -1, 344, 3129 -1, 643, -1, 10, 11, 12, 13, 14, 1263, -1, 3130 355, 356, -1, -1, 1054, 1055, -1, -1, -1, 661, 3131 -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3132 672, -1, 39, -1, -1, -1, -1, -1, -1, -1, 3133 -1, -1, -1, 999, 1000, -1, 1002, 1003, -1, -1, 3134 -1, -1, -1, -1, 39, -1, 698, -1, -1, 701, 3135 67, -1, -1, -1, 1020, 72, -1, 74, 75, 76, 3136 -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 3137 -1, -1, 67, -1, -1, 1125, -1, 72, -1, 74, 3138 75, 76, -1, -1, 736, -1, -1, -1, 1054, 1055, 3139 85, 86, -1, -1, 111, -1, 113, -1, 860, -1, 3140 -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, 3141 -1, -1, -1, -1, -1, -1, 111, 1167, 113, -1, 3142 882, -1, -1, -1, 119, 120, -1, 779, 37, 38, 3143 -1, 40, -1, -1, -1, -1, -1, 789, 1188, -1, 3144 -1, -1, -1, 795, -1, -1, -1, -1, 800, -1, 3145 1200, -1, 1202, -1, -1, -1, -1, 66, -1, 1125, 3146 -1, -1, -1, 72, -1, -1, 928, 76, -1, -1, 3147 79, 80, 81, 82, 83, 84, 85, 86, -1, 88, 3148 89, -1, -1, -1, -1, -1, -1, 1237, -1, -1, 3149 -1, -1, -1, -1, 1244, 1245, 1246, -1, -1, -1, 3150 -1, 1167, 111, -1, 113, 1255, 1256, -1, 860, -1, 3151 119, 120, 121, 122, 123, 124, -1, -1, 1268, -1, 3152 -1, -1, 1188, 132, -1, -1, -1, -1, -1, -1, 3153 882, -1, -1, -1, 1200, -1, 1202, 889, -1, -1, 3154 1002, 1003, -1, -1, -1, -1, -1, -1, -1, -1, 3155 -1, -1, -1, -1, -1, -1, -1, 1307, 1020, -1, 3156 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 3157 -1, 1237, -1, 75, -1, 77, -1, 79, 1244, 1245, 3158 1246, -1, -1, -1, 86, -1, -1, -1, -1, 1255, 3159 1256, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3160 -1, -1, 1268, -1, -1, -1, -1, -1, -1, -1, 3161 -1, -1, -1, -1, -1, 117, -1, 119, 120, 121, 3162 -1, -1, -1, -1, -1, -1, 1376, -1, -1, -1, 3163 -1, -1, -1, -1, -1, 690, -1, 692, -1, -1, 3164 -1, 1307, -1, -1, 699, 700, -1, 999, 1000, 704, 3165 1002, 1003, -1, -1, -1, -1, -1, 159, -1, -1, 3166 -1, -1, 717, -1, -1, -1, -1, 722, 1020, -1, 3167 -1, -1, -1, -1, 1424, -1, -1, -1, -1, -1, 3168 -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1, 3169 -1, -1, -1, -1, 749, -1, -1, -1, -1, -1, 3170 -1, -1, 1054, 1055, 1166, 1167, -1, -1, -1, -1, 3171 1376, -1, -1, -1, -1, -1, -1, -1, 220, -1, 3172 222, 223, 224, -1, -1, -1, 1188, -1, -1, -1, 3173 -1, -1, -1, 1483, -1, -1, -1, -1, -1, -1, 3174 -1, -1, -1, -1, 1206, -1, -1, -1, -1, -1, 3175 -1, -1, -1, -1, -1, -1, 258, -1, 1424, -1, 3176 -1, 263, -1, -1, -1, 1431, -1, -1, -1, -1, 3177 -1, -1, -1, 1125, -1, -1, 278, -1, -1, -1, 3178 -1, -1, -1, -1, -1, -1, -1, 842, -1, 844, 3179 845, 846, -1, 1255, 1256, -1, -1, -1, -1, -1, 3180 -1, 1263, 49, -1, -1, -1, 1268, -1, 863, -1, 3181 -1, -1, -1, -1, -1, 1167, -1, 1483, -1, 66, 3182 -1, -1, 877, -1, -1, -1, -1, 329, -1, -1, 3183 -1, -1, -1, -1, -1, -1, 1188, -1, -1, 1301, 3184 -1, -1, -1, -1, -1, -1, 348, -1, 1200, -1, 3185 1202, 353, 354, -1, -1, -1, -1, -1, -1, 361, 3186 -1, 916, -1, -1, -1, -1, 113, -1, -1, -1, 3187 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3188 -1, -1, -1, -1, -1, 1237, -1, -1, -1, -1, 3189 -1, -1, 1244, 1245, 1246, -1, -1, -1, -1, 146, 3190 -1, 403, -1, 1255, 1256, 960, -1, -1, -1, 156, 3191 965, -1, 159, -1, 1376, 970, 1268, -1, -1, 421, 3192 975, -1, -1, -1, 426, 980, 428, 982, 983, -1, 3193 -1, 986, -1, -1, -1, -1, -1, -1, -1, 1401, 3194 995, -1, 444, -1, -1, 447, 448, -1, -1, -1, 3195 -1, -1, -1, 455, -1, 1307, 1011, 1012, -1, -1, 3196 -1, 208, 1424, -1, -1, -1, -1, 469, -1, 1431, 3197 -1, -1, -1, 220, 476, -1, -1, -1, -1, -1, 3198 -1, -1, 1037, -1, -1, 1040, -1, -1, -1, -1, 3199 -1, 238, -1, -1, -1, 26, 27, 28, 10, 11, 3200 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3201 22, 23, 24, 25, 26, 27, 263, -1, -1, -1, 3202 -1, 1483, -1, 270, 1376, -1, -1, 39, 1083, -1, 3203 -1, -1, -1, -1, 1089, 1090, -1, -1, -1, -1, 3204 -1, -1, -1, -1, -1, -1, -1, -1, 295, -1, 3205 -1, -1, -1, 1108, -1, 67, -1, -1, 1113, -1, 3206 -1, 308, -1, 1118, -1, -1, -1, 98, -1, 100, 3207 -1, -1, 1424, -1, 1129, -1, -1, -1, -1, 1431, 3208 -1, -1, -1, -1, -1, 587, -1, 1142, -1, 1144, 3209 1145, 1146, 1147, -1, -1, -1, 343, -1, -1, -1, 3210 -1, 348, -1, -1, 1159, -1, 1161, -1, -1, -1, 3211 1165, -1, -1, 615, -1, -1, -1, -1, 620, -1, 3212 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3213 -1, 1483, -1, -1, -1, -1, -1, -1, 1193, 1194, 3214 -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, 3215 -1, -1, -1, -1, -1, -1, -1, -1, -1, 190, 3216 191, -1, -1, -1, 195, -1, 197, 198, -1, -1, 3217 44, -1, -1, -1, -1, -1, 423, 424, -1, -1, 3218 -1, -1, 429, -1, -1, -1, -1, 689, -1, -1, 3219 -1, -1, 1247, 1248, -1, -1, -1, -1, -1, -1, 3220 -1, 703, 1257, 450, -1, -1, -1, -1, -1, -1, 3221 -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, 3222 -1, -1, 724, -1, -1, -1, -1, 101, -1, -1, 3223 -1, 478, -1, -1, -1, -1, -1, -1, -1, -1, 3224 -1, -1, -1, 490, -1, -1, -1, -1, -1, -1, 3225 -1, -1, -1, -1, -1, 502, -1, 504, -1, -1, 3226 507, -1, 509, 510, 1319, -1, 1321, 1322, 1323, -1, 3227 -1, -1, -1, -1, 521, -1, -1, -1, 1333, -1, 3228 -1, 783, -1, -1, -1, -1, 1341, -1, -1, -1, 3229 -1, -1, 794, -1, -1, -1, 170, -1, -1, -1, 3230 -1, -1, -1, -1, -1, -1, -1, -1, -1, 811, 3231 -1, 1366, 1367, -1, -1, -1, -1, -1, -1, 193, 3232 -1, -1, -1, -1, -1, -1, 573, -1, -1, -1, 3233 -1, -1, -1, 207, -1, -1, -1, 584, -1, -1, 3234 587, -1, 216, -1, -1, -1, -1, -1, -1, -1, 3235 -1, -1, 226, -1, -1, -1, 1411, 1412, -1, -1, 3236 -1, -1, -1, -1, -1, -1, 613, -1, -1, 1424, 3237 -1, 618, -1, -1, -1, -1, 1431, 251, -1, -1, 3238 627, 628, 256, -1, -1, -1, -1, -1, -1, -1, 3239 -1, -1, -1, -1, -1, 269, 643, -1, -1, -1, 3240 -1, 275, -1, 277, -1, -1, -1, -1, -1, 1464, 3241 -1, -1, -1, 1468, -1, -1, -1, -1, -1, -1, 3242 922, -1, 296, -1, -1, -1, -1, -1, 675, -1, 3243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3244 -1, 1496, -1, 1498, -1, -1, -1, -1, -1, -1, 3245 952, -1, -1, -1, 701, -1, 703, -1, -1, -1, 3246 -1, -1, -1, 337, -1, -1, -1, 341, -1, -1, 3247 -1, 1526, 1527, -1, -1, -1, -1, -1, -1, 1534, 3248 1535, -1, 984, -1, -1, -1, -1, -1, -1, 736, 3249 -1, -1, -1, 995, -1, 369, -1, -1, -1, 373, 3250 374, -1, 376, -1, -1, -1, -1, -1, -1, 383, 3251 384, -1, 386, 387, -1, 389, -1, 391, -1, -1, 3252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3253 -1, -1, -1, -1, 408, -1, -1, -1, 569, 570, 3254 -1, -1, 416, -1, -1, -1, -1, 794, -1, -1, 3255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3256 -1, -1, 1064, -1, -1, 596, 440, -1, 599, 600, 3257 -1, 602, -1, 604, 605, -1, 1078, -1, 609, 610, 3258 -1, 26, 27, 28, 281, -1, 283, 284, -1, -1, 3259 -1, -1, 466, -1, -1, -1, 293, 294, 472, -1, 3260 -1, -1, -1, 477, -1, -1, -1, -1, -1, -1, 3261 -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, 3262 -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, 3263 156, -1, -1, -1, -1, 882, -1, -1, -1, 513, 3264 -1, -1, 889, -1, -1, -1, 343, -1, -1, -1, 3265 -1, -1, -1, 98, 528, 100, -1, 904, -1, -1, 3266 -1, -1, 188, -1, 1166, -1, -1, -1, -1, 195, 3267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3268 125, 378, 929, -1, -1, -1, -1, -1, -1, -1, 3269 -1, 565, -1, -1, -1, -1, -1, -1, -1, -1, 3270 574, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3271 -1, -1, -1, -1, 745, 746, -1, -1, -1, -1, 3272 594, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3273 -1, -1, -1, -1, 981, 180, -1, -1, -1, -1, 3274 -1, 267, -1, 188, -1, 190, 191, -1, -1, -1, 3275 195, -1, 197, 198, -1, 1002, 1003, -1, 632, -1, 3276 -1, 1263, -1, -1, 3, 4, 5, 6, 7, 8, 3277 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3278 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3279 -1, 30, 31, 32, 668, -1, -1, -1, 324, -1, 3280 39, -1, 676, -1, -1, -1, 332, 333, -1, 335, 3281 336, -1, 1059, -1, -1, -1, -1, 343, -1, -1, 3282 -1, 347, 267, -1, -1, -1, -1, -1, 67, -1, 3283 69, -1, 71, 707, -1, 74, 75, -1, -1, -1, 3284 366, -1, -1, -1, 718, 719, -1, -1, -1, 546, 3285 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 3286 557, 558, 559, 560, 561, 562, 563, -1, -1, 395, 3287 901, -1, -1, 399, -1, -1, 750, 116, 1125, -1, 3288 -1, 755, 10, 11, 12, 13, 14, 15, 16, 17, 3289 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3290 28, -1, -1, 429, -1, -1, -1, -1, -1, -1, 3291 -1, 39, -1, 146, -1, -1, -1, -1, -1, 1166, 3292 -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, 3293 -1, -1, -1, -1, 167, 168, -1, -1, -1, 67, 3294 -1, 815, -1, -1, -1, -1, -1, -1, 822, 475, 3295 78, -1, 478, -1, -1, 1202, -1, -1, -1, -1, 3296 -1, 835, -1, 837, -1, -1, -1, -1, -1, -1, 3297 -1, -1, -1, -1, -1, -1, 850, -1, -1, -1, 3298 -1, -1, 856, -1, -1, -1, -1, -1, -1, 686, 3299 -1, 517, -1, -1, 868, 521, -1, 871, -1, -1, 3300 -1, -1, -1, -1, -1, 238, -1, -1, 1255, 1256, 3301 -1, -1, 1514, -1, -1, -1, 1263, -1, -1, -1, 3302 -1, -1, -1, -1, -1, 1056, -1, -1, -1, 262, 3303 -1, -1, -1, -1, -1, -1, -1, -1, -1, 565, 3304 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3305 747, -1, -1, -1, -1, -1, -1, 583, 584, -1, 3306 -1, -1, -1, -1, -1, -1, -1, 593, -1, 595, 3307 596, -1, -1, -1, -1, -1, 602, -1, -1, -1, 3308 777, -1, -1, -1, -1, -1, 612, 613, -1, -1, 3309 -1, -1, 618, -1, -1, -1, -1, -1, -1, -1, 3310 -1, 627, 628, -1, -1, 979, -1, -1, -1, -1, 3311 -1, -1, -1, -1, -1, -1, -1, 643, -1, -1, 3312 -1, -1, 648, 649, 569, 570, 652, 653, -1, 1376, 3313 -1, -1, -1, 659, -1, -1, -1, -1, -1, -1, 3314 -1, -1, -1, -1, 377, -1, -1, -1, -1, -1, 3315 -1, 596, 678, 1184, 599, 600, -1, 602, -1, 604, 3316 605, -1, -1, -1, 609, 610, 1040, -1, -1, -1, 3317 -1, -1, -1, -1, -1, 701, 702, -1, -1, -1, 3318 -1, -1, -1, -1, -1, -1, 1433, -1, 1435, -1, 3319 -1, -1, -1, -1, 891, -1, -1, -1, -1, -1, 3320 1074, -1, -1, -1, -1, 1079, -1, -1, -1, -1, 3321 736, -1, -1, 1087, 740, 741, -1, -1, -1, -1, 3322 -1, -1, -1, 1470, -1, 1472, -1, -1, -1, -1, 3323 -1, -1, -1, -1, -1, -1, -1, 470, -1, -1, 3324 937, -1, -1, -1, -1, -1, -1, 1121, -1, -1, 3325 -1, -1, 1499, -1, -1, -1, -1, 783, 1132, -1, 3326 -1, 1135, -1, 1137, -1, -1, -1, -1, -1, -1, 3327 -1, -1, 969, 799, -1, 801, 509, -1, 1152, 1153, 3328 -1, -1, -1, -1, 981, 811, -1, -1, 521, -1, 3329 -1, -1, -1, -1, 527, -1, -1, 530, 1172, -1, 3330 745, 746, 7, -1, -1, 10, 11, 12, 13, 14, 3331 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3332 -1, -1, -1, 1020, -1, -1, -1, -1, -1, -1, 3333 -1, -1, 37, 38, 39, 40, -1, -1, -1, -1, 3334 573, -1, -1, -1, 1218, -1, -1, 580, -1, -1, 3335 -1, 584, 1226, -1, -1, -1, 882, -1, -1, -1, 3336 -1, 66, 67, 889, 890, -1, 892, 72, -1, -1, 3337 896, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3338 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3339 -1, 917, 918, -1, -1, -1, -1, 630, -1, 1096, 3340 -1, -1, -1, -1, -1, 638, 111, -1, 113, -1, 3341 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 3342 -1, -1, 1296, -1, 1298, -1, 952, -1, -1, -1, 3343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3344 1314, -1, 1316, -1, -1, 971, 972, -1, -1, -1, 3345 -1, 896, -1, -1, -1, 981, 901, 1331, 1155, 1156, 3346 -1, 987, 988, -1, 990, 991, 992, -1, -1, -1, 3347 -1, -1, 1346, 1347, -1, -1, 1002, 1003, -1, -1, 3348 -1, 714, -1, 1357, -1, -1, 1360, -1, -1, -1, 3349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3350 -1, -1, -1, 736, -1, 738, -1, -1, 1382, -1, 3351 -1, -1, -1, -1, -1, 748, -1, 1391, -1, -1, 3352 1394, 754, 1396, 1397, 1398, -1, -1, -1, -1, -1, 3353 -1, -1, -1, -1, -1, -1, 1062, -1, 1064, -1, 3354 -1, -1, -1, 1069, -1, -1, -1, -1, -1, -1, 3355 -1, -1, 1078, -1, -1, -1, -1, -1, -1, -1, 3356 -1, 794, 795, 1437, -1, 1439, -1, 1441, -1, -1, 3357 -1, -1, -1, -1, -1, 1101, 1102, 810, -1, -1, 3358 -1, -1, -1, 1457, -1, -1, -1, -1, -1, -1, 3359 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1125, 3360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3361 -1, 1056, -1, -1, -1, -1, 849, -1, -1, -1, 3362 853, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3363 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3364 25, 26, 27, -1, -1, 30, 31, 32, -1, 882, 3365 -1, -1, -1, -1, 39, -1, 889, -1, -1, -1, 3366 -1, -1, -1, -1, -1, -1, 1363, -1, -1, -1, 3367 -1, -1, -1, -1, -1, -1, 1202, -1, -1, -1, 3368 -1, -1, 67, 1380, -1, -1, -1, -1, -1, 74, 3369 75, -1, -1, -1, -1, -1, 929, 3, 4, 5, 3370 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3371 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3372 26, 27, -1, 956, 30, 31, 32, -1, 961, 1255, 3373 1256, 964, -1, 39, 119, 120, -1, -1, -1, 1184, 3374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3375 -1, 984, -1, -1, -1, 1452, 1453, -1, -1, -1, 3376 -1, 67, 995, 69, -1, 71, 72, -1, 74, 75, 3377 76, -1, -1, -1, -1, -1, -1, -1, -1, 85, 3378 86, -1, 1015, -1, 1017, -1, -1, -1, -1, -1, 3379 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1032, 3380 1033, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3381 -1, -1, -1, 119, 120, -1, -1, -1, -1, 1052, 3382 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 3383 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3384 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3385 1376, -1, 30, 31, 32, 33, -1, -1, 36, -1, 3386 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 3387 -1, -1, -1, 1106, -1, -1, -1, -1, -1, -1, 3388 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3389 -1, 69, 1125, 71, -1, -1, 74, 75, -1, -1, 3390 -1, -1, -1, -1, -1, -1, -1, 1140, 1141, -1, 3391 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3392 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3393 24, 25, 26, 27, -1, 113, 30, 31, 32, 1465, 3394 -1, 119, 120, -1, -1, 39, -1, -1, -1, -1, 3395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3396 -1, -1, -1, 1489, 1490, -1, -1, -1, -1, -1, 3397 -1, -1, -1, 67, -1, 69, -1, 71, -1, -1, 3398 74, 75, -1, -1, -1, -1, -1, -1, 1514, -1, 3399 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3400 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3401 21, 22, 23, 24, 25, 26, 27, -1, 112, 30, 3402 31, 32, 33, -1, -1, 36, 37, 38, 39, 40, 3403 41, -1, 43, -1, -1, 46, 47, 48, 49, 50, 3404 51, 52, 53, -1, -1, -1, 57, -1, -1, 1282, 3405 61, 62, 1285, 64, -1, 66, 67, -1, 69, -1, 3406 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3407 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3408 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3410 111, -1, 113, -1, -1, 116, -1, -1, 119, 120, 3411 121, 122, 123, 124, -1, -1, -1, -1, 129, -1, 3412 -1, -1, -1, 134, 3, 4, 5, 6, 7, 8, 3413 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3414 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3415 -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, 3416 39, 40, 10, 11, 12, 13, 14, 15, 16, 17, 3417 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3418 -1, -1, 30, 31, 32, -1, -1, 66, 67, -1, 3419 69, 39, 71, 72, -1, 74, 75, 76, -1, -1, 3420 79, 80, 81, 82, 83, 84, 85, 86, -1, 88, 3421 89, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3422 -1, -1, -1, -1, 72, -1, 74, 75, -1, -1, 3423 -1, -1, 111, -1, 113, -1, -1, 85, 86, -1, 3424 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, 3425 -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, 3426 -1, -1, -1, -1, -1, -1, 1499, 3, 4, 5, 3427 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3428 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3429 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 3430 36, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3431 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3432 25, 26, 27, 28, -1, -1, -1, -1, -1, -1, 3433 66, 67, -1, 69, 39, 71, 72, -1, 74, 75, 3434 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3435 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3436 -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 3437 -1, -1, -1, 78, -1, 111, -1, 113, -1, -1, 3438 -1, -1, -1, 119, 120, 121, 122, 123, 124, 4, 3439 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3440 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3441 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3442 -1, -1, 37, 38, 39, 40, 10, 11, 12, 13, 3443 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3444 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3445 -1, 66, 67, -1, 69, 39, 71, 72, -1, 74, 3446 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3447 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3448 -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, 3449 74, 75, -1, -1, -1, -1, 111, -1, 113, -1, 3450 -1, -1, -1, 118, 119, 120, 121, 122, 123, 124, 3451 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3452 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3453 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3454 -1, -1, -1, 37, 38, 39, 40, 10, 11, 12, 3455 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3456 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3457 -1, -1, 66, 67, -1, 69, 39, 71, 72, -1, 3458 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 3459 84, 85, 86, -1, 88, 89, -1, -1, -1, -1, 3460 -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, 3461 -1, 74, 75, -1, -1, -1, -1, 111, -1, 113, 3462 -1, -1, -1, -1, 118, 119, 120, 121, 122, 123, 3463 124, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3464 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3465 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3466 -1, -1, -1, -1, 37, 38, 39, 40, -1, -1, 3467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3469 -1, -1, -1, 66, 67, -1, 69, -1, 71, 72, 3470 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 3471 83, 84, 85, 86, -1, 88, 89, -1, -1, -1, 3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3473 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3474 113, -1, -1, -1, -1, -1, 119, 120, 121, 122, 3475 123, 124, 4, 5, 6, 7, 8, 9, 10, 11, 3476 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3477 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3478 32, -1, -1, -1, -1, 37, 38, 39, 40, -1, 3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3481 -1, -1, -1, -1, 66, 67, -1, 69, -1, 71, 3482 72, -1, 74, 75, 76, -1, -1, 79, 80, 81, 3483 82, 83, 84, 85, 86, -1, 88, 89, -1, -1, 3484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3485 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 3486 -1, 113, -1, -1, -1, -1, -1, 119, 120, 121, 3487 122, 123, 124, 4, 5, 6, 7, 8, 9, 10, 3488 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3489 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3490 31, 32, -1, -1, -1, -1, 37, 38, 39, 40, 3491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3492 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3493 -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, 3494 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3495 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3496 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3497 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3498 111, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3499 121, 122, 123, 124, 0, -1, -1, 3, 4, 5, 3500 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3501 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3502 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 3503 36, -1, -1, 39, 40, -1, -1, -1, -1, -1, 3504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3505 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1, 3506 -1, 67, -1, 69, -1, 71, 72, -1, 74, 75, 3507 76, -1, -1, -1, -1, -1, -1, -1, -1, 85, 3508 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3510 -1, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3511 -1, -1, -1, 119, 120, 3, 4, 5, 6, 7, 3512 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3513 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3514 -1, -1, 30, 31, 32, 33, -1, -1, 36, -1, 3515 -1, 39, 40, -1, -1, -1, -1, -1, -1, -1, 3516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3517 -1, -1, -1, -1, -1, -1, 64, -1, -1, 67, 3518 -1, 69, -1, 71, 72, -1, 74, 75, 76, -1, 3519 -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, 3520 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3521 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3522 -1, -1, -1, 111, -1, 113, -1, -1, -1, 117, 3523 -1, 119, 120, 3, 4, 5, 6, 7, 8, 9, 3524 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3525 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3526 30, 31, 32, 33, -1, -1, 36, -1, -1, 39, 3527 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3529 -1, -1, -1, -1, 64, -1, -1, 67, -1, 69, 3530 -1, 71, 72, -1, 74, 75, 76, -1, -1, -1, 3531 -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, 3532 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3533 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3534 -1, 111, -1, 113, -1, -1, -1, -1, -1, 119, 3535 120, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3536 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3537 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 3538 32, 33, -1, -1, 36, -1, -1, 39, -1, -1, 3539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3541 -1, -1, -1, -1, -1, 67, -1, 69, -1, 71, 3542 -1, -1, 74, 75, -1, -1, 78, 3, 4, 5, 3543 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3544 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3545 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3546 -1, 113, -1, 39, -1, -1, -1, 119, 120, -1, 3547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3548 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3549 -1, 67, -1, 69, -1, 71, -1, -1, 74, 75, 3550 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3551 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3552 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3553 -1, -1, -1, -1, -1, 39, -1, 113, -1, -1, 3554 -1, -1, -1, 119, 120, -1, -1, -1, -1, -1, 3555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3556 -1, -1, -1, 67, -1, 69, -1, 71, 72, -1, 3557 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, 3558 -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, 3559 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3560 -1, -1, -1, -1, -1, -1, -1, 111, -1, 113, 3561 -1, -1, -1, -1, -1, 119, 120, 4, 5, 6, 2405 3562 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2406 3563 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2407 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2408 283, 284, 33, 285, 0, 0, 0, 0, 0, 0, 2409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 2411 36, 0, 37, 0, 38, 287, 0, 40, 41, 288, 2412 0, 507, 289, 290, 291, 292, 293, 294, 43, 44, 2413 0, 295, 296, 0, 0, 0, 0, 0, 507, 0, 2414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2415 0, 0, 0, 0, 297, 0, 343, 0, 0, 0, 2416 0, 750, 344, 48, 299, 300, 301, 302, 2, 207, 3564 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3565 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, 3566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3568 67, -1, 69, -1, 71, -1, -1, 74, 75, 4, 3569 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3570 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3571 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3572 -1, -1, -1, -1, 39, 112, 113, -1, -1, -1, 3573 -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, 3574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3575 -1, -1, 67, -1, 69, -1, 71, -1, -1, 74, 3576 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3578 -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, 3579 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3580 -1, -1, -1, -1, 119, 120, 4, 5, 6, 7, 3581 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3582 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3583 -1, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3584 -1, 39, -1, -1, -1, 10, 11, 12, 13, 14, 3585 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3586 25, 26, 27, -1, -1, 30, 31, 32, -1, 67, 3587 -1, 69, -1, 71, 39, 40, 74, 75, -1, -1, 3588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3589 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3590 98, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3591 75, -1, -1, -1, -1, 113, -1, -1, -1, -1, 3592 -1, 119, 120, 4, 5, 6, 7, 8, 9, 10, 3593 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3594 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3595 31, 32, 117, -1, 119, 120, -1, -1, 39, -1, 3596 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3598 -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, 3599 71, -1, -1, 74, 75, 4, 5, 6, 7, 8, 3600 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3601 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3602 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3603 39, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3604 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3605 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3606 69, -1, 71, -1, -1, 74, 75, 4, 5, 6, 3607 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3608 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3609 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3610 -1, -1, 39, -1, 113, -1, -1, -1, -1, -1, 3611 119, 120, -1, -1, -1, -1, -1, -1, -1, -1, 3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3613 67, -1, 69, -1, 71, -1, -1, 74, 75, 10, 3614 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3615 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3616 31, 32, -1, -1, -1, -1, 37, 38, 39, 40, 3617 -1, -1, -1, -1, -1, -1, 113, -1, -1, -1, 3618 -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, 3619 -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, 3620 -1, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3621 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3622 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3624 111, -1, 113, -1, -1, 116, -1, -1, 119, 120, 3625 121, 122, 123, 124, 10, 11, 12, 13, 14, 15, 3626 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3627 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3628 -1, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3629 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3630 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3631 66, 67, -1, -1, 39, -1, 72, -1, 74, 75, 3632 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3633 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3634 -1, -1, 67, -1, -1, -1, -1, 72, -1, 74, 3635 75, -1, -1, -1, -1, 111, 112, 113, -1, -1, 3636 85, 86, -1, 119, 120, 121, 122, 123, 124, 10, 3637 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3638 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3639 31, 32, -1, -1, 119, 120, 37, 38, 39, 40, 3640 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3641 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3642 30, 31, 32, -1, -1, 66, 67, -1, -1, 39, 3643 40, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3644 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3645 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3646 -1, -1, -1, -1, 74, 75, -1, -1, -1, -1, 3647 111, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3648 121, 122, 123, 124, 10, 11, 12, 13, 14, 15, 3649 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3650 26, 27, -1, 113, 30, 31, 32, 117, -1, 119, 3651 120, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3652 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3653 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3654 66, 67, -1, -1, 39, 40, 72, -1, 74, 75, 3655 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3656 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3657 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3658 75, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3659 -1, -1, -1, 119, 120, 121, 122, 123, 124, 10, 3660 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3661 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3662 31, 32, 117, -1, 119, 120, 37, 38, 39, 40, 3663 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3664 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3665 30, 31, 32, -1, -1, 66, 67, -1, -1, 39, 3666 -1, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3667 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3668 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3669 -1, -1, 72, -1, 74, 75, 76, -1, -1, -1, 3670 111, -1, 113, -1, -1, 85, 86, -1, 119, 120, 3671 121, 122, 123, 124, -1, -1, -1, -1, -1, -1, 3672 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3673 -1, 111, -1, 113, -1, -1, -1, -1, -1, 119, 3674 120, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3675 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3676 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3677 39, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3678 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3679 -1, 30, 31, 32, -1, -1, -1, -1, 67, -1, 3680 39, -1, -1, 72, -1, 74, 75, 76, -1, -1, 3681 -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, 3682 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3683 -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, 3684 -1, -1, 111, -1, 113, -1, -1, -1, -1, -1, 3685 119, 120, -1, -1, -1, 10, 11, 12, 13, 14, 3686 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3687 25, 26, 27, -1, 113, 30, 31, 32, -1, -1, 3688 119, 120, -1, -1, 39, 10, 11, 12, 13, 14, 3689 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3690 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3691 -1, -1, 67, -1, 39, -1, -1, -1, -1, 74, 3692 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3694 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3695 75, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3696 -1, -1, -1, -1, 119, 120, -1, -1, -1, 10, 3697 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3698 21, 22, 23, 24, 25, 26, 27, -1, 113, 30, 3699 31, 32, -1, -1, 119, 120, -1, -1, 39, 10, 3700 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3701 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3702 31, 32, -1, -1, -1, -1, 67, -1, 39, -1, 3703 -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, 3704 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3705 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3706 -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, 3707 -1, -1, 113, -1, -1, -1, -1, -1, 119, 120, 3708 -1, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3709 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3710 27, -1, 113, 30, 31, 32, -1, -1, 119, 120, 3711 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, 3712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3713 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3714 67, -1, -1, -1, -1, -1, -1, 74, 75, -1, 3715 -1, -1, 37, 38, -1, 40, 41, -1, 43, -1, 3716 -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3717 -1, 56, 57, -1, -1, -1, 61, 62, -1, 64, 3718 -1, 66, -1, -1, -1, -1, 113, 72, -1, -1, 3719 -1, 76, 119, 120, 79, 80, 81, 82, 83, 84, 3720 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3722 -1, -1, -1, -1, -1, -1, 111, -1, 113, -1, 3723 -1, 116, -1, -1, 119, 120, 121, 122, 123, 124, 3724 -1, -1, 37, 38, 129, 40, 41, -1, 43, 134, 3725 -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3726 -1, -1, 57, -1, -1, -1, 61, 62, -1, 64, 3727 -1, 66, -1, -1, -1, -1, -1, 72, -1, -1, 3728 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3729 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3731 -1, -1, -1, -1, -1, -1, 111, -1, 113, -1, 3732 -1, 116, -1, -1, 119, 120, 121, 122, 123, 124, 3733 -1, -1, -1, -1, 129, -1, -1, -1, -1, 134, 2417 3734 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2418 3735 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2419 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2420 0, 0, 0, 283, 284, 33, 285, 0, 0, 0, 2421 507, 507, 0, 0, 0, 0, 0, 0, 0, 0, 2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423 0, 0, 286, 36, 0, 37, 0, 38, 287, 0, 2424 40, 41, 288, 0, 0, 289, 290, 291, 292, 293, 2425 294, 43, 44, 0, 295, 296, 0, 0, 0, 0, 2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427 0, 0, 0, 0, 0, 0, 0, 297, 0, 343, 2428 0, 0, 0, 0, 750, 47, 48, 299, 300, 301, 2429 302, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2430 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2431 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2432 29, 30, 0, 0, 0, 0, 283, 284, 33, 285, 2433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2435 0, 0, 0, 0, 0, 286, 36, 0, 37, 0, 2436 38, 287, 0, 40, 41, 288, 0, 0, 289, 290, 2437 291, 292, 293, 294, 43, 44, 0, 295, 296, 0, 2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2440 297, 0, 343, 0, 0, 0, 0, 0, 344, 48, 2441 299, 300, 301, 302, 2, 207, 4, 5, 6, 7, 2442 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2443 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2444 0, 0, 28, 29, 30, 0, 0, 0, 0, 283, 2445 284, 33, 285, 0, 0, 0, 0, 0, 0, 0, 2446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447 0, 0, 0, 0, 0, 0, 0, 0, 286, 36, 2448 0, 37, 0, 38, 287, 0, 208, 41, 288, 0, 2449 0, 289, 290, 291, 292, 293, 294, 43, 44, 0, 2450 295, 296, 0, 0, 0, 0, 0, 0, 0, 0, 2451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2452 0, 0, 0, 297, 0, 981, 0, 0, 0, 0, 2453 0, 982, 48, 299, 300, 301, 302, 2, 207, 4, 3736 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3737 -1, -1, -1, -1, -1, 39, -1, 37, 38, -1, 3738 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 3739 50, 51, 52, 53, -1, -1, 56, 57, -1, -1, 3740 -1, 61, 62, 67, 64, 69, 66, 71, -1, -1, 3741 74, 75, 72, -1, -1, -1, 76, -1, -1, 79, 3742 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3743 -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, 3744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3745 -1, 111, -1, 113, -1, -1, 116, -1, -1, 119, 3746 120, 121, 122, 123, 124, -1, -1, 37, 38, 129, 3747 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 3748 50, 51, 52, 53, -1, -1, -1, 57, -1, -1, 3749 -1, 61, 62, -1, 64, -1, 66, -1, -1, -1, 3750 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3751 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3754 -1, 111, -1, 113, -1, -1, 116, -1, -1, 119, 3755 120, 121, 122, 123, 124, -1, -1, 37, 38, 129, 3756 40, 41, -1, 43, -1, -1, 46, 47, 48, 49, 3757 50, 51, 52, 53, -1, -1, -1, 57, -1, -1, 3758 -1, 61, 62, -1, 64, -1, 66, -1, -1, -1, 3759 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3760 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3761 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 3762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3763 -1, 111, -1, 113, -1, -1, 116, -1, -1, 119, 3764 120, 121, 122, 123, 124, 66, -1, -1, -1, 129, 3765 -1, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3766 81, 82, 83, 84, 85, 86, -1, 88, 89, -1, 3767 -1, -1, -1, -1, -1, 37, 38, -1, 40, -1, 3768 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3769 111, -1, 113, -1, 115, 116, -1, -1, 119, 120, 3770 121, 122, 123, 124, 66, -1, -1, -1, -1, -1, 3771 72, -1, -1, -1, 76, -1, -1, 79, 80, 81, 3772 82, 83, 84, 85, 86, -1, 88, 89, -1, -1, 3773 -1, -1, -1, -1, 37, 38, -1, 40, -1, -1, 3774 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 3775 -1, 113, -1, -1, 116, -1, -1, 119, 120, 121, 3776 122, 123, 124, 66, -1, -1, -1, -1, -1, 72, 3777 -1, -1, -1, 76, -1, -1, 79, 80, 81, 82, 3778 83, 84, 85, 86, -1, 88, 89, -1, -1, -1, 3779 -1, -1, -1, 37, 38, -1, 40, -1, -1, -1, 3780 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3781 113, -1, -1, -1, -1, 118, 119, 120, 121, 122, 3782 123, 124, 66, -1, -1, -1, -1, -1, 72, -1, 3783 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3784 84, 85, 86, -1, 88, 89, -1, -1, -1, -1, 3785 -1, -1, 37, 38, -1, 40, -1, -1, -1, -1, 3786 -1, -1, -1, -1, -1, -1, -1, 111, -1, 113, 3787 -1, -1, 116, -1, -1, 119, 120, 121, 122, 123, 3788 124, 66, -1, -1, -1, -1, -1, 72, -1, -1, 3789 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3790 85, 86, -1, 88, 89, -1, -1, -1, -1, -1, 3791 -1, 37, 38, -1, 40, -1, -1, -1, -1, -1, 3792 -1, -1, -1, -1, -1, -1, 111, -1, 113, -1, 3793 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 3794 66, -1, -1, -1, -1, -1, 72, -1, -1, -1, 3795 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 3796 86, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3797 37, 38, -1, 40, -1, -1, -1, -1, -1, -1, 3798 -1, -1, -1, -1, -1, 111, -1, 113, -1, -1, 3799 -1, -1, -1, 119, 120, 121, 122, 123, 124, 66, 3800 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, 3801 -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 3802 -1, 88, 89, -1, -1, -1, -1, -1, -1, 37, 3803 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, 3804 -1, -1, -1, -1, 111, -1, 113, -1, -1, -1, 3805 -1, -1, 119, 120, 121, 122, 123, 124, 66, -1, 3806 -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, 3807 -1, 79, 80, 81, 82, 83, 84, 85, 86, -1, 3808 88, 89, -1, -1, -1, -1, -1, -1, 37, 38, 3809 -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 3810 -1, -1, -1, 111, -1, 113, -1, -1, -1, -1, 3811 -1, 119, 120, 121, 122, 123, 124, 66, -1, -1, 3812 -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, 3813 79, 80, 81, 82, 83, 84, 85, 86, -1, 88, 3814 89, -1, -1, -1, -1, -1, -1, 37, 38, -1, 3815 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3816 -1, -1, 111, -1, 113, -1, -1, -1, -1, -1, 3817 119, 120, 121, 122, 123, 124, 66, -1, -1, -1, 3818 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3819 80, 81, 82, 83, 84, 85, 86, -1, 88, 89, 3820 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3821 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3822 -1, 111, -1, 113, -1, -1, -1, -1, -1, 119, 3823 120, 121, 122, 123, 124, 4, 5, 6, 7, 8, 3824 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3825 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3827 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3828 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3829 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3830 69, -1, 71, 72, -1, 74, 75, 76, -1, -1, 3831 -1, -1, -1, -1, -1, -1, 85, 86, 3, 4, 2454 3832 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2455 3833 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2456 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2457 0, 0, 283, 284, 33, 285, 0, 0, 0, 0, 2458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2460 0, 286, 36, 0, 37, 0, 38, 287, 0, 208, 2461 41, 288, 0, 0, 289, 290, 291, 292, 293, 294, 2462 43, 44, 0, 295, 296, 0, 0, 0, 0, 0, 2463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2464 0, 0, 0, 0, 0, 0, 297, 0, 378, 0, 2465 0, 0, 0, 0, 47, 48, 299, 300, 301, 302, 2466 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2467 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2468 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2469 29, 30, 31, 0, 0, 32, 0, 0, 33, 34, 2470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2472 0, 0, 0, 35, 0, 0, 36, 0, 37, 0, 2473 38, 39, 0, 40, 41, 42, 0, 0, 0, 0, 2474 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 2475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2477 45, 0, 46, 0, 0, 0, 0, 0, 47, 48, 2478 206, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2479 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2480 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2481 29, 30, 0, 0, 0, 0, 0, 0, 33, 0, 2482 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2483 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2484 27, 0, 0, 28, 29, 30, 36, 0, 37, 0, 2485 38, 39, 33, 208, 41, 42, 0, 0, 0, 0, 2486 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 2487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2488 36, 0, 0, 0, 0, 0, 0, 40, 41, 0, 2489 45, 0, 209, 0, 0, 0, 0, 0, 47, 48, 2490 1, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2491 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2492 21, 22, 23, 24, 25, 26, 27, -298, 0, 28, 2493 29, 30, 31, 0, 0, 32, 0, 0, 33, 0, 2494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2496 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 2497 38, 0, 0, 40, 41, 0, 0, -298, 1, 2, 2498 207, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2499 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2500 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2501 31, 0, 46, 32, 0, 0, 33, 0, 47, 48, 2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2504 0, 0, 0, 0, 36, 0, 37, 0, 38, 0, 2505 0, 40, 41, 206, 2, 207, 4, 5, 6, 7, 2506 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2507 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2508 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2509 46, 33, 0, 0, 0, 0, 47, 48, 0, 1143, 2510 0, 0, 8, 9, 10, 11, 12, 0, 0, 0, 2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2512 0, 37, 0, 38, 0, 0, 208, 41, 0, 0, 2513 0, 283, 284, 33, 285, 0, 0, 0, 0, 0, 2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 286, 36, 0, 0, 0, 209, 287, 0, 0, 0, 2517 288, 47, 48, 289, 290, 291, 292, 293, 294, 43, 2518 44, 0, 295, 296, 0, 0, 0, 0, 0, 0, 2519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520 0, 0, 0, 0, 0, 297, 0, 378, 0, 0, 2521 0, 0, 0, 1144, 48, 299, 300, 301, 302, 2, 2522 207, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2523 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2524 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2525 0, 0, 0, 0, 0, 0, 33, 0, 0, 8, 2526 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2527 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2528 0, 28, 29, 30, 36, 0, 37, 0, 38, 39, 2529 33, 208, 41, 42, 0, 0, 0, 0, 0, 0, 2530 0, 0, 43, 44, 0, 0, 0, 0, 0, 0, 2531 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2532 0, 0, 0, 0, 0, 40, 41, 0, 45, 0, 2533 209, 0, 0, 0, 0, 0, 47, 48, 2, 207, 2534 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2535 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2536 24, 25, 26, 27, 258, 0, 28, 29, 30, 0, 2537 47, 48, 0, 0, 0, 33, 0, 0, 0, 0, 2538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2541 40, 41, 0, 2, 207, 4, 5, 6, 7, 8, 2542 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2543 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2544 0, 28, 29, 30, 0, 0, 0, 0, -407, 670, 2545 33, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2547 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2548 37, 0, 38, 0, 0, 40, 41, 0, 0, 0, 2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2550 0, 0, 0, 0, 0, 0, 0, 0, 0, 1334, 2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2552 0, 0, 0, 0, 670, 0, 0, 0, 0, 0, 2553 47, 48, 2, 207, 4, 5, 6, 7, 8, 9, 2554 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2555 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2556 28, 29, 30, 0, 0, 0, 0, 0, 0, 33, 2557 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2558 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2559 26, 27, 0, 0, 28, 29, 30, 36, 0, 37, 2560 0, 38, 0, 33, 40, 41, 0, 0, 0, 0, 2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2562 0, 0, 0, 0, 0, 0, 0, 0, 1336, 0, 2563 0, 36, 0, 0, 0, 0, 0, 0, 40, 41, 2564 0, 0, 0, 670, 0, 0, 0, 0, 0, 47, 2565 48, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2566 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2567 21, 22, 23, 24, 25, 26, 27, 46, 0, 28, 2568 29, 30, 0, 47, 48, 0, 0, 0, 33, 0, 2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2571 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 2572 38, 0, 0, 208, 41, 0, 2, 207, 4, 5, 2573 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2574 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2575 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2576 0, 0, 271, 33, 0, 0, 0, 0, 47, 48, 2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579 0, 36, 0, 37, 0, 38, 0, 0, 40, 41, 2580 0, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2581 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2582 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2583 29, 30, 0, 0, 0, 0, 0, 670, 33, 0, 2584 0, 0, 0, 47, 48, 0, 0, 0, 0, 0, 2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2586 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 2587 38, 0, 0, 208, 41, 8, 9, 10, 11, 12, 2588 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2589 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2590 0, 0, 0, 0, 283, 284, 33, 285, 0, 0, 2591 0, 0, 209, 0, 0, 0, 0, 0, 47, 48, 2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2593 0, 0, 0, 286, 36, 0, 0, 0, 0, 287, 2594 0, 40, 41, 288, 0, 0, 289, 290, 291, 292, 2595 293, 294, 43, 44, 0, 295, 296, 0, 0, 0, 2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2597 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 2598 515, 0, 0, 172, 0, 0, 47, 48, 299, 300, 2599 301, 302, 8, 9, 10, 11, 12, 13, 14, 15, 2600 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2601 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2602 0, 283, 284, 33, 285, 0, 0, 0, 0, 0, 2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2605 286, 36, 0, 0, 0, 0, 287, 0, 40, 41, 2606 288, 0, 0, 289, 290, 291, 292, 293, 294, 43, 2607 44, 0, 295, 296, 0, 0, 0, 0, 0, 0, 2608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2609 0, 0, 0, 0, 0, 297, -40, 298, 0, 0, 2610 0, 0, 0, 47, 48, 299, 300, 301, 302, 8, 2611 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2612 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2613 0, 28, 29, 30, 0, 0, 0, 0, 283, 284, 2614 33, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2616 0, 0, 0, 0, 0, 0, 0, 286, 36, 0, 2617 0, 0, 0, 287, 0, 40, 41, 288, 0, 0, 2618 289, 290, 291, 292, 293, 294, 43, 44, 0, 295, 2619 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2621 0, 0, 297, 0, 298, 0, 0, 0, 0, 0, 2622 47, 48, 299, 300, 301, 302, 8, 9, 10, 11, 2623 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2624 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2625 30, 0, 0, 0, 0, 283, 284, 33, 285, 0, 2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2628 0, 0, 0, 0, 286, 36, 0, 0, 0, 0, 2629 287, 0, 40, 41, 288, 0, 0, 289, 290, 291, 2630 292, 293, 294, 43, 44, 0, 295, 296, 0, 0, 2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 2633 0, 343, 0, 0, 0, 0, 0, 47, 48, 299, 2634 300, 301, 302, 8, 9, 10, 11, 12, 13, 14, 2635 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2636 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2637 0, 0, 283, 284, 33, 285, 0, 0, 0, 0, 2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2640 0, 286, 36, 0, 0, 0, 0, 287, 0, 40, 2641 41, 288, 0, 0, 289, 290, 291, 292, 293, 294, 2642 43, 44, 0, 295, 296, 0, 0, 0, 0, 0, 2643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2644 0, 0, 0, 0, 0, 0, 297, 0, 378, 0, 2645 0, 0, 0, 0, 47, 48, 299, 300, 301, 302, 2646 465, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2647 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2648 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2649 29, 30, 0, 0, 0, 0, 0, 0, 33, 0, 2650 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2651 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2652 0, 0, 28, 29, 30, 0, 36, 0, 37, 0, 2653 38, 33, 0, 40, 41, 0, 0, 0, 0, 0, 2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2656 0, 0, 0, 0, 112, 0, 40, 41, 0, 0, 2657 0, 0, 0, 0, 0, -3, 0, 43, 44, 0, 2658 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2659 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2660 24, 25, 26, 27, 0, 46, 28, 29, 30, 0, 2661 0, 47, 48, 0, 0, 33, 677, 8, 9, 10, 2662 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2663 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2664 29, 30, 0, 36, 0, 0, 0, 0, 33, 677, 2665 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 2668 0, 0, 0, 40, 41, 0, 0, 0, 0, 678, 2669 0, 0, 0, 679, 0, 47, 48, 0, 0, 0, 2670 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2671 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2672 27, 0, 678, 28, 29, 30, 1072, 0, 47, 48, 2673 0, 0, 33, 677, 8, 9, 10, 11, 12, 13, 2674 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2675 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2676 36, 0, 0, 0, 0, 33, 0, 40, 41, 0, 2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2679 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 2680 208, 41, 0, 0, 0, 0, 678, 0, 0, 0, 2681 1199, 0, 47, 48, 0, 0, 0, 0, 8, 9, 2682 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2683 20, 21, 22, 23, 24, 25, 26, 27, 0, 271, 2684 28, 29, 30, 0, 0, 47, 48, 0, 0, 33, 2685 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2686 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2687 0, 0, 28, 29, 30, 0, 0, 36, 0, 0, 2688 0, 33, 0, 0, 40, 41, 0, 0, 0, 0, 2689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2690 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2691 0, 0, 0, 0, 0, 0, 40, 41, 0, 0, 2692 0, 0, 0, 339, 0, 0, 0, 0, 0, 47, 2693 48, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2694 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2695 24, 25, 26, 27, 0, 678, 28, 29, 30, 0, 2696 0, 47, 48, 0, 0, 33, 0, 0, 0, 0, 2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2699 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 2700 40, 41, 0, 2, 207, 4, 5, 6, 7, 8, 2701 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2702 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2703 0, 28, 29, 30, 0, 0, 0, 0, 0, 670, 2704 33, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2706 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2707 37, 0, 38, 0, 0, 40, 41, 283, 284, 0, 2708 285, 1023, 0, 1024, 0, 0, 1025, 1026, 1027, 1028, 2709 1029, 1030, 1031, 1032, 0, 0, 1510, 1033, 0, 0, 2710 0, 1034, 1035, 0, 35, 0, 286, 0, 0, 0, 2711 0, 0, 1036, -420, 0, 0, 288, 0, 0, 289, 2712 290, 291, 292, 293, 294, 43, 44, 0, 295, 296, 2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2715 0, 297, 0, 378, 0, 0, 172, 0, 0, 47, 2716 48, 299, 300, 301, 302, 0, 0, 283, 284, 1037, 2717 285, 1023, 0, 1024, -134, 0, 1025, 1026, 1027, 1028, 2718 1029, 1030, 1031, 1032, 0, 0, 0, 1033, 0, 0, 2719 0, 1034, 1035, 0, 35, 0, 286, 0, 0, 0, 2720 0, 0, 1036, 0, 0, 0, 288, 0, 0, 289, 2721 290, 291, 292, 293, 294, 43, 44, 0, 295, 296, 2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2724 0, 297, 0, 378, 0, 0, 172, 0, 0, 47, 2725 48, 299, 300, 301, 302, 0, 0, 0, 0, 1037, 2726 0, 0, 0, 0, -134, 2, 207, 4, 5, 6, 2727 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2728 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2729 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2730 0, 0, 33, 0, 283, 284, 0, 285, 1023, 0, 2731 1024, 1382, 1383, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 2732 1032, 0, 0, 1510, 1033, 0, 0, 0, 1034, 1035, 2733 36, 35, 37, 286, 38, 0, 0, 40, 41, 1036, 2734 0, 0, 0, 288, 0, 0, 289, 290, 291, 292, 2735 293, 294, 43, 44, 0, 295, 296, 0, 0, 0, 2736 0, 1293, 0, 0, 0, 0, 0, 0, 0, 0, 2737 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 2738 378, 0, 0, 172, 0, 0, 47, 48, 299, 300, 2739 301, 302, 0, 0, 283, 284, 1037, 285, 1023, 0, 2740 1024, 1382, 1383, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 2741 1032, 0, 0, 0, 1033, 0, 0, 0, 1034, 1035, 2742 0, 35, 0, 286, 0, 0, 0, 0, 0, 1036, 2743 0, 0, 0, 288, 0, 0, 289, 290, 291, 292, 2744 293, 294, 43, 44, 0, 295, 296, 0, 0, 0, 2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2746 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 2747 378, 0, 0, 172, 0, 0, 47, 48, 299, 300, 2748 301, 302, 0, 0, 283, 284, 1037, 285, 1023, 0, 2749 1024, 0, 0, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 2750 1032, 0, 0, 0, 1033, 0, 0, 0, 1034, 1035, 2751 0, 35, 0, 286, 0, 0, 0, 0, 0, 1036, 2752 0, 0, 0, 288, 0, 0, 289, 290, 291, 292, 2753 293, 294, 43, 44, 0, 295, 296, 0, 0, 0, 2754 0, 0, 0, 283, 284, 0, 285, 0, 0, 0, 2755 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 2756 378, 0, 0, 172, 0, 0, 47, 48, 299, 300, 2757 301, 302, 286, 0, 0, 0, 1037, 0, 633, 0, 2758 141, 142, 288, 0, 0, 289, 290, 291, 292, 293, 2759 294, 43, 44, 0, 295, 296, 0, 0, 0, 0, 2760 0, 0, 283, 284, 0, 285, 0, 0, 0, 0, 2761 0, 0, 0, 0, 0, 0, 0, 297, 0, 634, 2762 0, 635, 379, 0, 0, 47, 48, 299, 300, 301, 2763 302, 286, 0, 0, 0, 0, 0, 287, 0, 0, 2764 0, 288, 0, 0, 289, 290, 291, 292, 293, 294, 2765 43, 44, 0, 295, 296, 0, 0, 0, 0, 0, 2766 0, 283, 284, 0, 285, 0, 0, 0, 0, 0, 2767 0, 0, 0, 0, 0, 0, 297, 0, 378, 0, 2768 0, 379, 0, 0, 47, 48, 299, 300, 301, 302, 2769 286, 0, 0, 0, 0, 0, 287, 0, 0, 0, 2770 288, 0, 0, 289, 290, 291, 292, 293, 294, 43, 2771 44, 0, 295, 296, 0, 0, 0, 0, 0, 0, 2772 283, 284, 0, 285, 0, 0, 0, 0, 0, 0, 2773 0, 0, 0, 0, 0, 297, 0, 378, 0, 0, 2774 0, 0, 750, 47, 48, 299, 300, 301, 302, 286, 2775 0, 0, 0, 0, 0, 287, 0, 0, 0, 288, 2776 0, 0, 289, 290, 291, 292, 293, 294, 43, 44, 2777 0, 295, 296, 0, 0, 0, 0, 0, 0, 283, 2778 284, 0, 285, 0, 0, 0, 0, 0, 0, 0, 2779 0, 0, 0, 0, 297, 0, 378, 0, 0, 958, 2780 0, 0, 47, 48, 299, 300, 301, 302, 286, 0, 2781 0, 0, 0, 0, 287, 0, 0, 0, 288, 0, 2782 0, 289, 290, 291, 292, 293, 294, 43, 44, 0, 2783 295, 296, 0, 0, 0, 0, 0, 0, 283, 284, 2784 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2785 0, 0, 0, 297, 0, 378, 0, 0, 0, 0, 2786 0, 47, 48, 299, 300, 301, 302, 286, 0, 0, 2787 0, 0, 0, 287, 0, 0, 0, 288, 0, 0, 2788 289, 290, 291, 292, 293, 294, 43, 44, 0, 295, 2789 296, 0, 0, 0, 0, 0, 0, 283, 284, 0, 2790 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2791 0, 0, 504, 0, 378, 0, 0, 0, 0, 0, 2792 47, 48, 299, 300, 301, 302, 286, 0, 0, 0, 2793 0, 0, 287, 0, 0, 0, 288, 0, 0, 289, 2794 290, 291, 292, 293, 294, 43, 44, 0, 295, 296, 2795 0, 0, 0, 0, 0, 0, 283, 284, 0, 285, 2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2797 0, 509, 0, 378, 0, 0, 0, 0, 0, 47, 2798 48, 299, 300, 301, 302, 286, 0, 0, 0, 0, 2799 0, 287, 0, 0, 0, 288, 0, 0, 289, 290, 2800 291, 292, 293, 294, 43, 44, 0, 295, 296, 0, 2801 0, 0, 0, 0, 0, 283, 284, 0, 285, 0, 2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2803 512, 0, 378, 0, 0, 0, 0, 0, 47, 48, 2804 299, 300, 301, 302, 286, 0, 0, 0, 0, 0, 2805 287, 0, 0, 0, 288, 0, 0, 289, 290, 291, 2806 292, 293, 294, 43, 44, 0, 295, 296, 0, 0, 2807 0, 0, 0, 0, 283, 284, 0, 285, 0, 0, 2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 2809 0, 378, 0, 0, 0, 0, 0, 701, 48, 299, 2810 300, 301, 302, 286, 0, 0, 0, 0, 0, 287, 2811 0, 0, 0, 288, 0, 0, 289, 290, 291, 292, 2812 293, 294, 43, 44, 0, 295, 296, 0, 0, 0, 2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2814 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 2815 378, 0, 0, 0, 0, 0, 344, 48, 299, 300, 2816 301, 302, 2, 207, 4, 5, 6, 7, 8, 9, 2817 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2818 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2820 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2821 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2822 26, 27, 0, 0, 28, 29, 30, 36, 0, 37, 2823 0, 38, 39, 33, 175, 176, 42, 0, 0, 0, 2824 0, 0, 0, 0, 0, 43, 44, 0, 0, 0, 2825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2826 0, 36, 0, 0, 0, 0, 112, 0, 40, 41, 2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 2828 44, 206, 2, 207, 4, 5, 6, 7, 8, 9, 2829 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2830 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2831 28, 29, 30, 0, 0, 0, 0, 0, 0, 33, 2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2834 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 2835 0, 38, 0, 0, 208, 41, 465, 2, 207, 4, 2836 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2837 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2838 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2839 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2842 0, 0, 36, 0, 37, 0, 38, 0, 0, 40, 2843 41, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2844 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2845 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2846 29, 30, 0, 0, 0, 0, 0, 0, 33, 0, 2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2849 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 2850 38, 0, 0, 208, 41, 8, 9, 10, 11, 12, 2851 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2852 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2853 483, 484, 485, 0, 0, 0, 33, 8, 9, 10, 2854 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2855 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2856 29, 30, 0, 0, 36, 0, 0, 0, 33, 0, 2857 0, 40, 41, 0, 0, 0, 0, 0, 0, 0, 2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2859 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 2860 0, 0, 0, 208, 41 2861 }; 2862 2863 #define yypact_value_is_default(yystate) \ 2864 ((yystate) == (-1267)) 2865 2866 #define yytable_value_is_error(yytable_value) \ 2867 YYID (0) 2868 2869 static const yytype_int16 yycheck[] = 2870 { 2871 0, 1, 186, 186, 532, 45, 45, 0, 186, 45, 2872 1, 519, 0, 186, 186, 240, 186, 205, 186, 742, 2873 742, 0, 511, 0, 118, 742, 188, 490, 639, 595, 2874 862, 494, 1022, 615, 34, 220, 349, 1, 597, 595, 2875 1303, 34, 282, 349, 685, 45, 34, 169, 170, 45, 2876 598, 51, 595, 727, 568, 34, 604, 34, 51, 425, 2877 426, 0, 417, 480, 1005, 65, 74, 30, 68, 83, 2878 297, 71, 65, 597, 66, 68, 34, 45, 71, 41, 2879 71, 436, 266, 266, 187, 595, 113, 51, 266, 444, 2880 1004, 1005, 595, 266, 266, 34, 266, 595, 266, 595, 2881 262, 263, 0, 1, 688, 46, 47, 107, 202, 630, 2882 0, 1112, 65, 107, 74, 115, 45, 80, 118, 119, 2883 0, 113, 629, 630, 645, 41, 492, 108, 136, 68, 2884 111, 41, 41, 257, 968, 364, 34, 599, 645, 368, 2885 1403, 603, 41, 107, 34, 511, 186, 186, 148, 149, 2886 186, 115, 1382, 115, 34, 99, 149, 157, 158, 51, 2887 74, 161, 624, 157, 267, 45, 628, 89, 161, 892, 2888 892, 51, 680, 71, 11, 892, 136, 41, 119, 345, 2889 486, 1015, 703, 136, 148, 65, 186, 187, 68, 133, 2890 186, 71, 59, 157, 187, 117, 703, 116, 425, 426, 2891 83, 711, 202, 113, 113, 115, 115, 121, 711, 575, 2892 210, 100, 629, 630, 113, 711, 115, 210, 186, 0, 2893 1, 1487, 222, 115, 409, 1455, 266, 266, 645, 222, 2894 266, 1232, 115, 1234, 1235, 801, 113, 126, 219, 113, 2895 240, 108, 206, 663, 111, 801, 210, 888, 1514, 113, 2896 862, 115, 252, 34, 813, 803, 148, 186, 801, 252, 2897 260, 135, 502, 1204, 252, 265, 266, 267, 114, 149, 2898 113, 785, 272, 252, 267, 252, 240, 504, 257, 187, 2899 1270, 161, 509, 222, 597, 512, 703, 68, 134, 813, 2900 71, 801, 273, 417, 252, 1034, 1035, 297, 801, 280, 2901 911, 395, 405, 801, 114, 801, 186, 187, 272, 893, 2902 310, 275, 436, 252, 480, 462, 118, 1258, 210, 674, 2903 444, 738, 46, 47, 134, 53, 326, 46, 47, 423, 2904 210, 331, 229, 297, 51, 429, 111, 120, 331, 566, 2905 100, 341, 222, 1257, 1258, 345, 310, 341, 240, 349, 2906 350, 248, 219, 919, 252, 939, 585, 1031, 1190, 267, 2907 135, 781, 252, 919, 364, 74, 126, 257, 368, 1108, 2908 114, 791, 252, 835, 3, 478, 919, 341, 87, 88, 2909 272, 345, 802, 3, 365, 113, 266, 1437, 369, 74, 2910 134, 120, 57, 120, 118, 395, 920, 626, 115, 118, 2911 364, 983, 87, 88, 368, 405, 273, 136, 462, 1458, 2912 1022, 350, 405, 280, 74, 1464, 76, 77, 310, 659, 2913 113, 114, 1472, 423, 1474, 425, 426, 87, 88, 429, 2914 115, 431, 94, 95, 99, 1484, 1426, 1378, 417, 0, 2915 1489, 222, 74, 1433, 992, 993, 954, 0, 41, 615, 2916 113, 331, 452, 345, 620, 87, 88, 436, 118, 120, 2917 135, 425, 426, 925, 1378, 444, 929, 129, 130, 349, 2918 470, 252, 116, 113, 891, 136, 120, 966, 478, 1313, 2919 480, 348, 482, 115, 114, 478, 486, 649, 452, 482, 2920 730, 114, 492, 210, 482, 1485, 1107, 405, 365, 120, 2921 813, 465, 369, 482, 504, 482, 506, 813, 113, 509, 2922 132, 511, 512, 135, 1098, 136, 663, 120, 640, 519, 2923 113, 120, 115, 523, 1487, 405, 490, 417, 492, 194, 2924 494, 134, 471, 425, 426, 134, 1370, 1371, 123, 124, 2925 504, 120, 506, 482, 1507, 509, 436, 511, 512, 113, 2926 674, 1514, 217, 647, 444, 272, 1080, 136, 1066, 113, 2927 114, 115, 227, 1071, 115, 794, 117, 567, 568, 113, 2928 478, 115, 738, 1157, 1158, 575, 700, 680, 1190, 113, 2929 297, 1001, 1002, 134, 482, 585, 586, 1004, 120, 589, 2930 480, 120, 482, 310, 120, 595, 1270, 597, 586, 862, 2931 492, 120, 482, 113, 136, 115, 486, 136, 134, 663, 2932 74, 575, 76, 77, 78, 615, 113, 136, 924, 511, 2933 620, 585, 622, 87, 88, 120, 626, 120, 113, 629, 2934 630, 113, 297, 115, 781, 616, 1056, 1057, 114, 121, 2935 122, 136, 114, 136, 791, 645, 121, 647, 120, 113, 2936 631, 615, 127, 128, 1386, 802, 620, 116, 1270, 74, 2937 120, 120, 626, 644, 849, 4, 5, 6, 7, 8, 2938 9, 1345, 87, 88, 120, 120, 136, 677, 617, 114, 2939 680, 120, 114, 575, 869, 10, 11, 12, 13, 14, 2940 136, 136, 116, 114, 114, 674, 120, 136, 113, 120, 2941 115, 482, 120, 703, 704, 705, 931, 113, 892, 892, 2942 1127, 711, 712, 677, 892, 595, 41, 597, 136, 892, 2943 892, 700, 892, 615, 892, 891, 113, 781, 620, 119, 2944 114, 113, 71, 855, 73, 452, 120, 791, 738, 136, 2945 114, 114, 742, 743, 69, 726, 120, 120, 802, 616, 2946 1482, 715, 691, 66, 114, 1487, 1430, 114, 1432, 1287, 2947 120, 114, 1025, 120, 631, 113, 705, 120, 1491, 1491, 2948 113, 113, 680, 115, 1491, 1507, 441, 644, 136, 121, 2949 122, 1365, 1514, 118, 674, 785, 116, 504, 83, 506, 2950 120, 894, 509, 114, 794, 512, 796, 136, 1382, 120, 2951 680, 801, 467, 118, 897, 114, 899, 113, 996, 115, 2952 700, 120, 1486, 813, 1426, 121, 122, 983, 114, 1239, 2953 113, 1433, 115, 114, 120, 136, 1246, 1247, 1248, 120, 2954 794, 711, 712, 4, 5, 6, 7, 8, 9, 504, 2955 1257, 116, 3, 113, 509, 120, 136, 512, 738, 10, 2956 11, 12, 13, 14, 1001, 1002, 1096, 796, 118, 726, 2957 1100, 1101, 862, 74, 35, 76, 77, 0, 1, 114, 2958 1454, 1455, 114, 1485, 862, 120, 87, 88, 120, 113, 2959 41, 115, 114, 862, 884, 504, 113, 506, 120, 1309, 2960 509, 891, 892, 512, 894, 1017, 884, 114, 31, 32, 2961 71, 34, 73, 120, 115, 114, 906, 113, 69, 1056, 2962 1057, 120, 45, 113, 114, 115, 114, 83, 51, 919, 2963 920, 801, 120, 862, 924, 1096, 59, 1190, 114, 1100, 2964 930, 931, 65, 813, 120, 68, 92, 93, 71, 930, 2965 119, 120, 906, 1170, 1171, 122, 1173, 1001, 1002, 96, 2966 97, 84, 85, 1180, 954, 1182, 113, 114, 115, 1467, 2967 677, 1127, 131, 1066, 862, 929, 930, 931, 1071, 113, 2968 114, 115, 862, 132, 1214, 108, 114, 115, 111, 74, 2969 3, 76, 77, 983, 98, 118, 894, 10, 11, 12, 2970 13, 14, 87, 88, 1088, 60, 61, 662, 60, 61, 2971 62, 891, 1056, 1057, 1004, 1005, 671, 113, 1516, 115, 2972 675, 113, 892, 115, 894, 115, 149, 74, 41, 983, 2973 119, 120, 1022, 1286, 81, 46, 47, 84, 161, 86, 2974 87, 88, 930, 113, 1022, 115, 1113, 1114, 1204, 931, 2975 551, 552, 72, 1022, 924, 75, 69, 986, 78, 113, 2976 80, 115, 113, 186, 187, 1202, 116, 87, 115, 114, 2977 74, 1061, 116, 113, 1304, 115, 1066, 81, 1308, 202, 2978 84, 1071, 86, 87, 88, 114, 1339, 210, 285, 1342, 2979 1080, 862, 114, 1022, 553, 554, 219, 114, 1088, 222, 2980 114, 983, 1239, 559, 560, 114, 229, 1061, 116, 1246, 2981 1247, 1248, 115, 310, 311, 4, 5, 6, 7, 8, 2982 9, 244, 118, 120, 1341, 248, 118, 74, 135, 252, 2983 253, 78, 118, 1386, 1022, 135, 113, 1127, 1391, 114, 2984 87, 88, 1022, 266, 267, 114, 116, 134, 345, 116, 2985 273, 116, 134, 3, 134, 31, 120, 280, 1202, 930, 2986 10, 11, 12, 13, 14, 114, 113, 1420, 1066, 114, 2987 118, 113, 1309, 1071, 121, 122, 119, 1407, 1168, 1169, 2988 114, 119, 71, 380, 73, 120, 119, 114, 1169, 114, 2989 134, 41, 120, 213, 114, 1239, 1066, 136, 114, 906, 2990 1190, 1071, 1246, 1247, 1248, 114, 114, 120, 331, 114, 2991 114, 114, 1190, 114, 1204, 114, 114, 114, 1208, 69, 2992 114, 1190, 114, 0, 1, 348, 349, 1208, 114, 114, 2993 114, 886, 10, 11, 12, 13, 14, 119, 31, 1168, 2994 135, 114, 365, 134, 114, 120, 369, 1127, 116, 116, 2995 114, 1022, 1505, 114, 1208, 120, 379, 34, 1511, 114, 2996 280, 1190, 134, 41, 113, 1309, 120, 1257, 1258, 1522, 2997 118, 114, 395, 1526, 51, 1265, 114, 1361, 114, 85, 2998 1270, 1169, 405, 89, 90, 91, 1501, 555, 556, 557, 2999 558, 69, 1270, 120, 71, 114, 114, 120, 120, 114, 3000 423, 1270, 1190, 113, 113, 113, 429, 113, 113, 115, 3001 1190, 117, 118, 1303, 113, 136, 119, 1491, 1491, 114, 3002 1208, 134, 1303, 1491, 1204, 114, 114, 119, 1491, 1491, 3003 107, 1491, 352, 1491, 354, 113, 1265, 115, 132, 119, 3004 116, 1270, 465, 121, 122, 118, 136, 470, 114, 1303, 3005 120, 548, 549, 550, 1061, 478, 116, 116, 114, 482, 3006 114, 116, 114, 486, 1, 116, 489, 116, 491, 116, 3007 116, 1361, 149, 74, 116, 76, 77, 49, 1033, 136, 3008 157, 158, 1270, 1467, 114, 119, 87, 88, 1378, 1360, 3009 1270, 74, 136, 76, 77, 78, 136, 1168, 1169, 1492, 3010 136, 136, 119, 526, 87, 88, 134, 114, 531, 688, 3011 187, 119, 113, 1403, 116, 1303, 85, 118, 116, 1190, 3012 440, 116, 1403, 1516, 116, 202, 116, 116, 205, 206, 3013 113, 116, 115, 210, 114, 114, 1426, 1208, 121, 122, 3014 113, 62, 113, 1433, 114, 1435, 113, 1437, 1426, 1403, 3015 114, 134, 118, 113, 231, 1433, 579, 1426, 235, 136, 3016 237, 1491, 1491, 116, 1433, 1491, 116, 114, 116, 246, 3017 114, 100, 595, 100, 597, 252, 119, 1467, 113, 113, 3018 257, 1435, 1472, 1437, 1474, 136, 114, 120, 114, 114, 3019 267, 114, 44, 616, 1265, 1485, 134, 1426, 275, 1270, 3020 779, 1491, 1492, 1360, 1433, 0, 136, 1485, 631, 1492, 3021 114, 1501, 635, 114, 136, 1403, 1485, 100, 1472, 100, 3022 1474, 644, 136, 646, 647, 648, 1516, 114, 136, 114, 3023 116, 136, 1303, 1516, 114, 114, 136, 119, 1426, 34, 3024 10, 11, 12, 13, 14, 1433, 1426, 1501, 116, 116, 3025 113, 1037, 749, 1433, 119, 119, 1485, 680, 136, 114, 3026 114, 684, 136, 686, 341, 114, 51, 690, 345, 114, 3027 561, 41, 851, 562, 351, 698, 71, 565, 563, 963, 3028 65, 564, 1190, 68, 1455, 1347, 71, 364, 711, 712, 3029 1526, 368, 1280, 1101, 1492, 1308, 1433, 1485, 677, 69, 3030 1052, 677, 1071, 726, 899, 1485, 690, 907, 579, 74, 3031 855, 76, 77, 78, 893, 641, 253, 958, 1516, 1501, 3032 715, 1491, 87, 88, 1279, 74, 1208, 76, 77, 78, 3033 927, 482, 1403, 74, -1, 76, 77, 78, 87, 88, 3034 417, 567, -1, 113, 726, 115, 87, 88, 113, 567, 3035 115, 121, 122, 567, 431, 1426, 121, 122, -1, 436, 3036 939, -1, 1433, 158, 149, -1, -1, 444, -1, -1, 3037 -1, -1, 113, -1, 115, -1, 161, -1, 801, -1, 3038 121, 122, -1, -1, -1, 462, -1, -1, 465, -1, 3039 813, -1, 971, -1, -1, 10, 11, 12, 13, 14, 3040 -1, 68, 187, 480, -1, 482, 726, -1, -1, -1, 3041 77, -1, -1, 490, 1485, -1, -1, 494, 10, 11, 3042 12, 13, 14, -1, -1, 210, 41, -1, 1435, -1, 3043 1437, 74, 855, 76, 77, -1, 231, 222, 861, -1, 3044 1019, -1, -1, -1, 87, 88, 523, -1, -1, 41, 3045 -1, -1, 119, -1, 69, -1, -1, 252, -1, 74, 3046 -1, -1, 257, 78, -1, 1472, -1, 1474, -1, 892, 3047 113, 894, 87, 88, -1, 118, -1, 69, 901, 1434, 3048 -1, 1436, -1, 74, -1, -1, 983, -1, -1, -1, 3049 81, 568, -1, 84, 161, 86, 87, 88, 113, -1, 3050 74, 924, 76, 77, 78, -1, 121, 122, 585, 586, 3051 -1, -1, -1, 87, 88, -1, 1471, -1, 1473, 1098, 3052 597, 113, 945, 115, 115, 1022, -1, -1, 465, 121, 3053 122, -1, -1, -1, -1, 958, -1, 0, 615, 113, 3054 -1, 964, -1, 620, -1, 968, 331, 121, 122, 626, 3055 -1, -1, 629, 630, -1, 222, 351, -1, -1, -1, 3056 1515, -1, 1517, -1, -1, -1, -1, -1, 645, -1, 3057 74, 34, 76, 77, 78, 1530, 1531, 74, 1157, 1158, 3058 -1, 78, -1, 87, 88, -1, 663, -1, -1, 526, 3059 87, 88, 1015, 260, 531, -1, -1, 674, 265, -1, 3060 85, 68, -1, -1, 89, 90, 91, -1, 71, 113, 3061 -1, -1, -1, 280, -1, -1, 113, 84, 115, -1, 3062 405, -1, 417, 700, 121, 122, 703, -1, 113, 1052, 3063 115, -1, 117, 118, -1, 712, 431, -1, 715, -1, 3064 -1, 436, 579, 1066, -1, -1, -1, -1, 1071, 444, 3065 74, -1, 119, -1, -1, -1, -1, 81, -1, -1, 3066 84, 738, 86, 87, 88, 1088, 743, 462, -1, -1, 3067 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, 3068 -1, -1, -1, 350, 74, 480, -1, 482, 78, 1112, 3069 -1, 115, -1, -1, 161, 158, -1, 87, 88, -1, 3070 -1, 41, -1, -1, 781, -1, -1, -1, -1, 646, 3071 -1, 648, -1, -1, 791, 68, -1, 794, -1, -1, 3072 797, -1, -1, 113, -1, 802, -1, -1, 523, 69, 3073 -1, 121, 122, -1, 74, 812, 76, 77, 78, -1, 3074 74, 1164, 76, 77, 78, -1, -1, 87, 88, -1, 3075 -1, -1, -1, 87, 88, 222, -1, -1, -1, -1, 3076 -1, 698, -1, 430, -1, -1, 119, -1, -1, -1, 3077 -1, -1, -1, 113, -1, 115, -1, -1, -1, 446, 3078 -1, 121, 122, -1, -1, 862, 1365, -1, -1, 252, 3079 -1, 586, -1, 260, 257, -1, -1, -1, 265, -1, 3080 -1, -1, -1, 1382, 471, -1, -1, 884, 161, 1232, 3081 -1, 1234, 1235, -1, 891, -1, -1, 894, 10, 11, 3082 12, 13, 14, -1, -1, 190, 74, -1, 76, 77, 3083 78, -1, 197, -1, 629, 630, -1, -1, -1, 87, 3084 88, -1, -1, 920, -1, -1, -1, -1, -1, 41, 3085 645, -1, 929, 930, -1, -1, -1, -1, -1, -1, 3086 -1, -1, -1, 0, -1, 113, -1, 115, 663, 222, 3087 -1, -1, -1, 121, 122, 1454, 1455, 69, -1, 674, 3088 -1, -1, 74, 350, 76, 77, 78, -1, 351, -1, 3089 1313, -1, -1, -1, -1, 87, 88, 34, -1, -1, 3090 -1, -1, -1, -1, 269, 700, 983, 260, 703, -1, 3091 -1, -1, 265, -1, -1, -1, -1, -1, -1, 996, 3092 -1, 113, 589, 115, 1001, 1002, -1, 1004, 1005, 121, 3093 122, -1, -1, -1, 71, -1, -1, 1360, 1361, -1, 3094 -1, -1, -1, 738, -1, 1022, -1, 1370, 1371, -1, 3095 617, -1, -1, -1, 417, 622, -1, -1, -1, -1, 3096 -1, 326, 74, 430, 76, 77, 78, -1, 431, 334, 3097 -1, -1, 337, 436, -1, 87, 88, -1, -1, 1056, 3098 1057, 444, -1, -1, -1, 1408, 781, 10, 11, 12, 3099 13, 14, -1, -1, -1, -1, 791, 350, -1, 462, 3100 -1, 113, 797, -1, 471, -1, -1, 802, 945, 121, 3101 122, -1, -1, -1, -1, -1, -1, 480, 41, 482, 3102 -1, 158, -1, -1, 691, -1, -1, 964, -1, 0, 3103 1, 968, 397, -1, -1, -1, 401, -1, 705, -1, 3104 -1, -1, -1, -1, 1467, 1468, 69, -1, -1, -1, 3105 1127, 74, -1, 32, 1477, 78, -1, -1, -1, 726, 3106 523, -1, -1, 34, 87, 88, -1, 862, 1491, 1492, 3107 -1, -1, -1, -1, -1, -1, -1, 430, 1015, -1, 3108 10, 11, 12, 13, 14, -1, -1, -1, -1, 884, 3109 113, -1, 1169, 1516, -1, -1, 891, 68, 121, 122, 3110 71, -1, 28, 29, 30, 84, 85, -1, -1, -1, 3111 -1, 41, 477, 1190, -1, 252, -1, -1, 471, -1, 3112 257, -1, 589, 586, -1, 1202, -1, 1204, -1, 796, 3113 -1, 1208, -1, -1, -1, -1, -1, -1, -1, 69, 3114 -1, -1, -1, -1, 74, 0, 76, 77, 78, -1, 3115 617, -1, -1, -1, -1, 622, -1, 87, 88, -1, 3116 -1, -1, 1239, -1, -1, -1, 629, 630, -1, 1246, 3117 1247, 1248, -1, -1, 100, 1112, 102, -1, -1, 34, 3118 1257, 1258, 645, 113, -1, 115, -1, 158, -1, -1, 3119 -1, 121, 122, 1270, -1, -1, -1, -1, -1, -1, 3120 663, -1, 567, 568, -1, -1, 1001, 1002, -1, 1004, 3121 1005, 674, -1, -1, 351, -1, 71, -1, -1, -1, 3122 -1, -1, -1, -1, 691, -1, 1303, 1022, -1, -1, 3123 -1, -1, 1309, -1, -1, -1, 589, 700, 705, -1, 3124 703, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3125 -1, 222, -1, -1, -1, -1, 182, -1, -1, -1, 3126 -1, 1056, 1057, -1, 617, 244, 192, 193, -1, 622, 3127 -1, 197, -1, 199, 200, 738, -1, -1, -1, -1, 3128 417, 252, -1, -1, -1, 650, -1, -1, -1, 654, 3129 -1, -1, -1, -1, 431, 1232, -1, 1234, 1235, 436, 3130 -1, 1378, -1, 158, -1, -1, -1, 444, -1, -1, 3131 -1, 10, 11, 12, 13, 14, -1, -1, 781, 986, 3132 -1, -1, -1, -1, -1, 462, 1403, -1, 791, 796, 3133 -1, -1, 1127, -1, 797, -1, -1, -1, 691, 802, 3134 -1, -1, 41, 480, -1, 482, -1, -1, -1, 1426, 3135 -1, -1, 705, -1, -1, -1, 1433, 101, 102, 103, 3136 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, 3137 69, -1, -1, -1, 1169, 74, 1313, 76, 77, 78, 3138 -1, -1, -1, -1, -1, -1, 523, -1, 87, 88, 3139 -1, 135, -1, -1, -1, 1190, -1, 252, -1, 862, 3140 379, -1, 257, -1, -1, -1, -1, 1202, 1485, 1204, 3141 -1, -1, -1, -1, 113, 1492, -1, -1, -1, -1, 3142 785, 884, 121, 122, -1, -1, -1, -1, 891, -1, 3143 -1, -1, -1, 1370, 1371, -1, -1, -1, -1, -1, 3144 -1, -1, -1, 796, 1239, -1, -1, -1, -1, 586, 3145 -1, 1246, 1247, 1248, -1, -1, -1, -1, -1, -1, 3146 431, -1, 1257, 1258, -1, -1, -1, -1, -1, -1, 3147 -1, 1408, -1, -1, -1, 1270, -1, -1, -1, -1, 3148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3149 -1, -1, 629, 630, -1, -1, 351, -1, -1, -1, 3150 -1, 1168, -1, -1, -1, -1, -1, -1, 645, -1, 3151 489, 482, 491, -1, 1309, -1, -1, -1, -1, 986, 3152 -1, -1, -1, -1, -1, -1, 663, -1, -1, -1, 3153 -1, 1468, -1, 898, -1, -1, -1, 674, 1001, 1002, 3154 1477, 1004, 1005, -1, -1, -1, -1, -1, -1, 55, 3155 -1, 57, 523, -1, 60, 61, 62, -1, 64, 1022, 3156 -1, -1, 417, 700, -1, -1, 703, -1, -1, -1, 3157 -1, -1, 78, -1, -1, -1, 431, -1, -1, -1, 3158 -1, 436, -1, 1378, 90, 91, -1, -1, -1, 444, 3159 -1, -1, -1, 1056, 1057, -1, -1, -1, 1265, -1, 3160 -1, 738, -1, -1, -1, -1, -1, 462, 973, -1, 3161 -1, -1, -1, -1, -1, 586, -1, -1, -1, -1, 3162 -1, -1, -1, -1, 989, 480, -1, 482, -1, -1, 3163 -1, 1426, -1, 986, -1, -1, -1, -1, 1433, -1, 3164 -1, -1, -1, -1, 781, 571, 572, -1, -1, -1, 3165 -1, -1, -1, -1, 791, -1, 635, -1, 629, 630, 3166 797, -1, -1, -1, 1127, 802, -1, -1, 523, -1, 3167 -1, -1, 598, -1, 645, 601, 602, -1, 604, -1, 3168 606, 607, -1, -1, -1, 611, 612, -1, -1, -1, 3169 1485, -1, -1, 10, 11, 12, 13, 14, -1, 1064, 3170 -1, 1168, -1, -1, -1, 684, 1169, 686, -1, -1, 3171 -1, 690, -1, -1, -1, -1, -1, -1, -1, -1, 3172 -1, -1, -1, -1, 41, 862, -1, 1190, -1, -1, 3173 -1, 586, 703, -1, -1, -1, -1, -1, 1103, 1202, 3174 -1, 1204, -1, -1, -1, -1, -1, 884, -1, -1, 3175 -1, -1, 69, -1, 891, -1, -1, 74, -1, 76, 3176 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, 3177 87, 88, -1, -1, 629, 630, 1239, -1, -1, -1, 3178 -1, -1, -1, 1246, 1247, 1248, -1, -1, -1, -1, 3179 645, -1, -1, -1, 1257, 1258, 113, -1, 1265, -1, 3180 -1, -1, -1, -1, 121, 122, -1, 1270, 663, -1, 3181 -1, -1, -1, -1, -1, 1168, -1, -1, -1, 674, 3182 -1, 747, 748, -1, -1, -1, -1, -1, -1, -1, 3183 -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, 3184 346, -1, -1, -1, -1, 700, 1309, -1, 703, -1, 3185 -1, 357, 358, -1, -1, 28, 29, 30, -1, -1, 3186 -1, -1, -1, -1, 1001, 1002, -1, 1004, 1005, -1, 3187 -1, -1, -1, -1, -1, -1, 855, -1, -1, -1, 3188 -1, -1, 861, 738, -1, 1022, -1, -1, -1, -1, 3189 -1, 862, 10, 11, 12, 13, 14, 15, 16, 17, 3190 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3191 28, 29, 1265, 884, -1, 1378, -1, -1, -1, 1056, 3192 1057, -1, 901, 41, -1, -1, 781, 100, -1, 102, 3193 -1, -1, -1, -1, -1, -1, 791, -1, -1, -1, 3194 -1, -1, 797, -1, -1, -1, -1, 802, -1, -1, 3195 -1, 69, -1, -1, 127, -1, -1, -1, -1, 930, 3196 -1, -1, -1, 1426, -1, -1, -1, -1, -1, -1, 3197 1433, -1, -1, -1, -1, -1, -1, 903, -1, 958, 3198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3199 1127, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3200 -1, -1, -1, -1, -1, -1, -1, 862, 7, 182, 3201 -1, 10, 11, 12, 13, 14, -1, 190, -1, 192, 3202 193, -1, 1485, -1, 197, -1, 199, 200, -1, 884, 3203 -1, -1, 1169, 1004, 1005, -1, 891, -1, -1, -1, 3204 39, 40, 41, 42, -1, -1, -1, -1, -1, -1, 3205 -1, 1022, -1, 1190, -1, -1, -1, -1, -1, -1, 3206 -1, -1, -1, -1, -1, 1202, -1, 1204, -1, 68, 3207 69, -1, -1, 1052, -1, 74, -1, -1, -1, 78, 3208 -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, 3209 -1, 90, 91, -1, -1, -1, 269, -1, -1, -1, 3210 -1, -1, 1239, -1, -1, -1, -1, -1, -1, 1246, 3211 1247, 1248, -1, -1, 113, -1, 115, -1, -1, -1, 3212 1257, 1258, 121, 122, 123, 124, 125, 126, -1, -1, 3213 -1, -1, 1058, 1270, -1, -1, -1, -1, -1, -1, 3214 -1, 51, -1, -1, -1, -1, 1001, 1002, -1, 1004, 3215 1005, -1, -1, -1, -1, -1, -1, -1, 68, -1, 3216 -1, -1, -1, -1, -1, -1, -1, 1022, -1, -1, 3217 -1, -1, 1309, -1, -1, -1, -1, -1, -1, -1, 3218 -1, 39, 40, -1, 42, 1164, 692, -1, 694, -1, 3219 -1, -1, -1, -1, -1, 701, 702, 1168, 1169, -1, 3220 706, 1056, 1057, -1, -1, 115, -1, -1, -1, 119, 3221 68, -1, -1, 719, -1, -1, 74, -1, 724, 1190, 3222 78, -1, -1, 81, 82, 83, 84, 85, 86, 87, 3223 88, -1, 90, 91, -1, -1, -1, 1208, 148, -1, 3224 -1, 1378, -1, -1, -1, 751, -1, -1, 158, -1, 3225 -1, 161, -1, -1, -1, 113, -1, 115, -1, -1, 3226 1186, -1, -1, 121, 122, 123, 124, 125, 126, -1, 3227 -1, -1, 1127, -1, -1, -1, 134, -1, -1, -1, 3228 -1, -1, -1, -1, -1, -1, 1257, 1258, -1, 1426, 3229 -1, -1, -1, -1, 1265, -1, 1433, -1, -1, 1270, 3230 210, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3231 -1, -1, 222, -1, 1169, -1, -1, -1, -1, -1, 3232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3233 240, -1, 1303, -1, -1, 1190, -1, -1, 844, -1, 3234 846, 847, 848, -1, -1, -1, -1, 1202, 1485, 1204, 3235 -1, -1, -1, -1, -1, 265, -1, -1, -1, 865, 3236 -1, -1, 272, -1, -1, -1, -1, -1, -1, -1, 3237 -1, -1, -1, 879, -1, -1, -1, -1, -1, -1, 3238 -1, -1, -1, -1, 1239, -1, -1, 297, -1, -1, 3239 -1, 1246, 1247, 1248, -1, -1, -1, -1, 571, 572, 3240 310, -1, 1257, 1258, -1, -1, -1, 1378, -1, -1, 3241 -1, -1, 918, -1, -1, 1270, -1, -1, -1, -1, 3242 -1, -1, -1, -1, -1, 598, -1, -1, 601, 602, 3243 -1, 604, 1403, 606, 607, 345, -1, -1, 611, 612, 3244 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3245 -1, -1, -1, -1, 1309, 1426, 962, -1, -1, -1, 3246 -1, 967, 1433, -1, -1, -1, 972, -1, -1, -1, 3247 -1, 977, -1, -1, -1, -1, 982, -1, 984, 985, 3248 -1, -1, 988, -1, -1, -1, -1, -1, -1, -1, 3249 -1, 997, -1, -1, -1, -1, -1, -1, -1, -1, 3250 -1, -1, -1, -1, -1, -1, -1, 1013, 1014, -1, 3251 -1, -1, -1, -1, 1485, 425, 426, -1, -1, -1, 3252 -1, 431, -1, 1378, -1, -1, -1, -1, -1, -1, 3253 -1, -1, -1, 1039, -1, -1, 1042, -1, -1, -1, 3254 -1, -1, 452, -1, -1, -1, 10, 11, 12, 13, 3255 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3256 24, 25, 26, 27, 28, 29, 30, -1, -1, -1, 3257 480, 1426, -1, -1, 747, 748, -1, 41, 1433, 1085, 3258 -1, -1, 492, -1, -1, 1091, 1092, -1, -1, -1, 3259 -1, -1, -1, -1, 504, -1, 506, -1, -1, 509, 3260 -1, 511, 512, -1, 1110, 69, -1, -1, -1, 1115, 3261 -1, -1, -1, 523, 1120, -1, 80, -1, -1, -1, 3262 -1, -1, -1, -1, -1, 1131, -1, -1, -1, -1, 3263 1485, -1, -1, -1, -1, -1, -1, -1, 1144, -1, 3264 1146, 1147, 1148, 1149, -1, -1, -1, 68, -1, -1, 3265 -1, -1, -1, -1, -1, 1161, 77, 1163, 79, -1, 3266 81, 1167, -1, -1, -1, 575, -1, 88, -1, -1, 3267 -1, -1, -1, -1, -1, -1, 586, -1, -1, 589, 3268 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1195, 3269 1196, -1, -1, -1, -1, -1, -1, -1, 119, -1, 3270 121, 122, 123, -1, -1, 615, -1, -1, -1, -1, 3271 620, -1, -1, -1, -1, -1, -1, -1, -1, 629, 3272 630, -1, -1, -1, -1, 898, -1, -1, -1, -1, 3273 903, -1, -1, -1, -1, 645, -1, -1, -1, -1, 3274 161, -1, -1, 1249, 1250, -1, -1, -1, -1, -1, 3275 -1, -1, -1, 1259, -1, -1, -1, -1, -1, -1, 3276 -1, -1, -1, -1, -1, -1, -1, 677, 10, 11, 3277 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3278 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3279 32, 33, 34, 703, -1, 705, -1, -1, -1, 41, 3280 -1, 222, -1, 224, 225, 226, -1, 46, -1, -1, 3281 -1, -1, -1, -1, -1, 1321, -1, 1323, 1324, 1325, 3282 -1, -1, -1, -1, -1, -1, -1, 69, 738, 1335, 3283 -1, -1, 74, -1, 76, 77, 78, 1343, -1, 260, 3284 -1, -1, -1, -1, 265, 87, 88, -1, -1, -1, 3285 -1, -1, -1, -1, 93, -1, -1, -1, -1, 280, 3286 -1, -1, 1368, 1369, 103, -1, -1, -1, -1, -1, 3287 -1, 113, -1, 115, -1, -1, -1, -1, -1, 121, 3288 122, 148, -1, -1, -1, 1058, 796, -1, -1, -1, 3289 -1, 158, -1, -1, -1, -1, -1, -1, -1, -1, 3290 -1, -1, 169, 170, -1, -1, -1, 1413, 1414, -1, 3291 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3292 1426, -1, -1, -1, -1, -1, -1, 1433, -1, 350, 3293 -1, -1, -1, 172, 355, 356, -1, -1, -1, -1, 3294 -1, -1, 363, -1, -1, -1, -1, -1, -1, -1, 3295 -1, -1, -1, -1, -1, -1, 195, -1, -1, -1, 3296 1466, -1, -1, -1, 1470, -1, -1, -1, -1, -1, 3297 209, -1, -1, 240, 884, -1, -1, -1, -1, 218, 3298 -1, 891, -1, -1, 405, -1, -1, -1, -1, 228, 3299 -1, -1, 1498, -1, 1500, -1, 906, 264, -1, -1, 3300 -1, -1, 423, -1, -1, -1, -1, 428, -1, 430, 3301 -1, -1, -1, 1186, 253, -1, -1, -1, -1, 258, 3302 -1, 931, 1528, 1529, -1, 446, -1, -1, 449, 450, 3303 1536, 1537, 271, -1, -1, -1, 457, -1, 277, -1, 3304 279, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3305 471, -1, -1, -1, -1, -1, -1, 478, -1, 298, 3306 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3307 -1, -1, -1, 983, 10, 11, 12, 13, 14, 15, 3308 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3309 26, 27, 28, 29, 1004, 1005, 32, 33, 34, -1, 3310 339, -1, -1, -1, 343, 41, -1, -1, -1, -1, 3311 -1, -1, 379, -1, -1, -1, -1, -1, -1, -1, 3312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3313 -1, -1, 371, 69, -1, -1, 375, 376, -1, 378, 3314 76, 77, -1, -1, -1, -1, 385, 386, -1, 388, 3315 389, 1061, 391, -1, 393, -1, -1, -1, -1, -1, 3316 -1, -1, -1, -1, -1, -1, -1, -1, 589, -1, 3317 -1, 410, -1, -1, -1, -1, -1, -1, -1, 418, 3318 -1, -1, -1, -1, -1, 121, 122, -1, -1, -1, 3319 -1, -1, -1, -1, -1, -1, 617, -1, -1, -1, 3320 -1, 622, -1, 442, -1, 472, -1, -1, -1, -1, 3321 -1, -1, -1, -1, -1, -1, -1, 1127, -1, -1, 3322 -1, -1, -1, -1, -1, -1, -1, -1, -1, 468, 3323 -1, -1, -1, -1, -1, 474, -1, -1, -1, -1, 3324 479, -1, -1, -1, 511, -1, -1, -1, -1, -1, 3325 -1, -1, -1, -1, -1, -1, 523, -1, 1168, -1, 3326 -1, -1, 529, -1, -1, 532, 157, 158, -1, -1, 3327 691, -1, -1, -1, -1, -1, 515, -1, 545, -1, 3328 -1, -1, -1, -1, 705, -1, -1, -1, -1, -1, 3329 -1, 530, -1, -1, 1204, -1, -1, -1, -1, 190, 3330 -1, -1, -1, -1, -1, 726, 197, -1, 575, -1, 3331 -1, -1, -1, -1, -1, 582, -1, -1, -1, 586, 3332 -1, -1, -1, -1, -1, -1, -1, -1, 567, -1, 3333 -1, -1, -1, -1, -1, -1, -1, 576, -1, -1, 3334 -1, -1, -1, -1, -1, -1, -1, 1257, 1258, -1, 3335 -1, -1, -1, -1, -1, 1265, -1, 596, -1, -1, 3336 -1, -1, -1, -1, 785, 632, -1, -1, -1, -1, 3337 -1, -1, -1, 640, -1, 796, -1, -1, 269, -1, 3338 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3339 -1, -1, 813, -1, -1, 634, -1, 10, 11, 12, 3340 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3341 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3342 33, 34, -1, -1, -1, -1, -1, -1, 41, -1, 3343 -1, 670, -1, -1, -1, 326, -1, -1, -1, 678, 3344 -1, -1, -1, 334, 335, -1, 337, 338, -1, 716, 3345 -1, -1, -1, -1, 345, -1, 69, -1, 349, -1, 3346 -1, 74, -1, 76, 77, 78, -1, -1, 1378, -1, 3347 709, 738, -1, 740, 87, 88, -1, 368, -1, -1, 3348 -1, 720, 721, 750, -1, -1, -1, -1, -1, 756, 3349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3350 113, -1, 115, 924, -1, -1, 397, -1, 121, 122, 3351 401, -1, -1, 752, -1, -1, -1, -1, 757, -1, 3352 -1, -1, -1, -1, -1, 1435, -1, 1437, -1, 796, 3353 797, -1, -1, 954, -1, -1, -1, -1, -1, -1, 3354 431, -1, -1, -1, -1, 812, -1, -1, -1, -1, 3355 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3356 -1, -1, 1472, -1, 1474, 986, -1, -1, -1, -1, 3357 -1, -1, -1, -1, -1, -1, 997, -1, 817, -1, 3358 -1, -1, -1, -1, 851, 824, 477, -1, 855, 480, 3359 -1, 1501, -1, -1, -1, -1, -1, -1, 837, -1, 3360 839, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3361 -1, -1, -1, 852, -1, -1, -1, 884, -1, 858, 3362 -1, -1, -1, -1, 891, -1, -1, -1, 519, -1, 3363 -1, 870, 523, -1, 873, -1, -1, -1, -1, -1, 3364 -1, -1, -1, -1, -1, 1066, -1, -1, -1, -1, 3365 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1080, 3366 -1, -1, -1, -1, 931, -1, -1, -1, -1, -1, 3367 -1, -1, -1, -1, -1, -1, 567, 568, -1, -1, 3368 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3369 -1, 958, -1, -1, 585, 586, 963, -1, -1, 966, 3370 -1, -1, -1, -1, 595, -1, 597, 598, -1, -1, 3371 -1, -1, -1, 604, -1, -1, -1, -1, -1, 986, 3372 -1, -1, -1, 614, 615, -1, -1, -1, -1, 620, 3373 997, -1, -1, -1, -1, -1, -1, -1, 629, 630, 3374 -1, -1, 981, -1, -1, -1, -1, 1168, -1, -1, 3375 1017, -1, 1019, -1, 645, -1, -1, -1, -1, 650, 3376 651, -1, -1, 654, 655, -1, -1, 1034, 1035, 283, 3377 661, 285, 286, -1, -1, -1, -1, -1, -1, -1, 3378 -1, 295, 296, -1, -1, -1, -1, 1054, -1, 680, 3379 -1, -1, -1, -1, -1, -1, 310, 311, -1, -1, 3380 -1, -1, -1, 1042, -1, -1, -1, -1, -1, -1, 3381 -1, -1, 703, 704, -1, -1, -1, -1, -1, -1, 3382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3383 -1, 345, -1, -1, -1, -1, -1, 1076, -1, -1, 3384 -1, 1108, 1081, -1, 1265, -1, -1, 738, -1, -1, 3385 1089, 742, 743, -1, -1, -1, -1, -1, -1, -1, 3386 1127, -1, -1, -1, -1, -1, 380, -1, -1, -1, 3387 -1, -1, -1, -1, -1, 1142, 1143, -1, -1, -1, 3388 -1, -1, -1, -1, 1123, -1, -1, -1, -1, -1, 3389 -1, -1, -1, -1, 785, 1134, -1, -1, 1137, -1, 3390 1139, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3391 801, -1, 803, -1, -1, 1154, 1155, -1, -1, -1, 3392 -1, -1, 813, -1, -1, -1, -1, -1, -1, -1, 3393 -1, -1, -1, -1, -1, 1174, -1, -1, -1, -1, 3394 -1, -1, -1, -1, -1, 0, -1, -1, 3, 4, 3395 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3396 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3397 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3398 35, 1220, -1, 38, -1, -1, 41, 42, -1, 1228, 3399 -1, -1, -1, 884, -1, -1, -1, -1, -1, -1, 3400 891, 892, -1, 894, -1, -1, -1, 898, -1, -1, 3401 -1, 66, -1, -1, 69, -1, 71, 1284, 73, 74, 3402 1287, 76, 77, 78, -1, -1, -1, -1, 919, 920, 3403 -1, -1, 87, 88, 548, 549, 550, 551, 552, 553, 3404 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 3405 564, 565, -1, -1, -1, -1, -1, -1, 113, 1298, 3406 115, 1300, -1, 954, -1, -1, 121, 122, -1, -1, 3407 -1, -1, -1, -1, -1, -1, -1, 1316, -1, 1318, 3408 -1, -1, 973, 974, -1, -1, -1, -1, -1, -1, 3409 -1, -1, 983, -1, 1333, 1516, -1, -1, 989, 990, 3410 -1, 992, 993, 994, -1, -1, -1, -1, -1, 1348, 3411 1349, -1, -1, 1004, 1005, -1, -1, -1, -1, -1, 3412 1359, -1, -1, 1362, 10, 11, 12, 13, 14, 15, 3413 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3414 26, 27, 28, 29, 30, 1384, -1, -1, -1, -1, 3415 -1, -1, -1, -1, 1393, 41, -1, 1396, -1, 1398, 3416 1399, 1400, -1, -1, -1, -1, -1, -1, -1, -1, 3417 -1, -1, -1, 1064, 688, 1066, -1, -1, -1, -1, 3418 1071, -1, -1, 69, -1, -1, -1, -1, -1, 1080, 3419 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, 3420 1439, -1, 1441, -1, 1443, -1, -1, -1, -1, -1, 3421 -1, -1, 1103, 1104, -1, -1, -1, -1, -1, -1, 3422 1459, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3423 -1, -1, -1, -1, 1501, 749, 1127, 3, 4, 5, 3424 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3425 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3426 26, 27, 28, 29, -1, 779, 32, 33, 34, 35, 3427 -1, -1, 38, 39, 40, 41, 42, 43, -1, 45, 3428 -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 3429 -1, -1, -1, 59, -1, -1, -1, 63, 64, -1, 3430 66, -1, 68, 69, -1, 71, -1, 73, 74, -1, 3431 76, 77, 78, 1204, -1, 81, 82, 83, 84, 85, 3432 86, 87, 88, -1, 90, 91, -1, -1, -1, -1, 3433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3434 -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 3435 -1, -1, 118, -1, -1, 121, 122, 123, 124, 125, 3436 126, -1, -1, -1, -1, 131, 1257, 1258, -1, -1, 3437 136, -1, -1, -1, -1, -1, -1, -1, -1, 893, 3438 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3439 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3440 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3441 33, 34, 35, -1, -1, 38, 39, 40, 41, 42, 3442 -1, -1, -1, -1, -1, 939, -1, -1, -1, -1, 3443 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3444 -1, -1, -1, -1, -1, 68, 69, -1, 71, -1, 3445 73, 74, -1, 76, 77, 78, -1, 971, 81, 82, 3446 83, 84, 85, 86, 87, 88, -1, 90, 91, 983, 3447 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3448 -1, -1, -1, -1, -1, -1, -1, 1378, -1, -1, 3449 113, -1, 115, -1, -1, -1, -1, -1, 121, 122, 3450 123, 124, 125, 126, -1, -1, -1, -1, 1022, -1, 3451 -1, -1, -1, 136, -1, -1, -1, -1, -1, 3, 3452 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3453 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3454 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3455 34, 35, -1, -1, 38, -1, -1, 41, 42, -1, 3456 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3457 -1, -1, -1, -1, -1, -1, 1467, -1, -1, -1, 3458 -1, -1, 66, -1, 1098, 69, -1, 71, -1, 73, 3459 74, -1, 76, 77, 78, -1, -1, -1, -1, -1, 3460 1491, 1492, -1, 87, 88, -1, -1, -1, -1, -1, 3461 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3462 -1, -1, -1, -1, -1, 1516, -1, -1, -1, 113, 3463 -1, 115, -1, -1, -1, 119, -1, 121, 122, -1, 3464 -1, -1, -1, 1157, 1158, 3, 4, 5, 6, 7, 3465 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3466 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3467 28, 29, -1, -1, 32, 33, 34, 35, -1, -1, 3468 38, 39, 40, 41, 42, -1, -1, -1, -1, -1, 3834 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3835 -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 3469 3836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3470 3837 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3471 68, 69, -1, 71, -1, 73, 74, -1, 76, 77, 3472 78, -1, -1, 81, 82, 83, 84, 85, 86, 87, 3473 88, -1, 90, 91, -1, -1, -1, -1, -1, -1, 3474 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3475 -1, -1, -1, -1, -1, 113, -1, 115, -1, -1, 3476 -1, -1, -1, 121, 122, 123, 124, 125, 126, -1, 3477 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8, 3478 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3479 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3480 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 3481 39, 40, 41, 42, -1, -1, -1, -1, -1, -1, 3482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3483 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, 3484 69, -1, 71, -1, 73, 74, -1, 76, 77, 78, 3485 -1, 1365, 81, 82, 83, 84, 85, 86, 87, 88, 3486 -1, 90, 91, -1, -1, -1, -1, -1, 1382, -1, 3487 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3488 -1, -1, -1, -1, 113, -1, 115, -1, -1, -1, 3489 -1, 120, 121, 122, 123, 124, 125, 126, 4, 5, 3490 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3491 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3492 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 3493 -1, -1, -1, 39, 40, 41, 42, -1, -1, -1, 3494 1454, 1455, -1, -1, -1, -1, -1, -1, -1, -1, 3495 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3496 -1, -1, 68, 69, -1, 71, -1, 73, 74, -1, 3497 76, 77, 78, -1, -1, 81, 82, 83, 84, 85, 3498 86, 87, 88, -1, 90, 91, -1, -1, -1, -1, 3499 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3500 -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 3501 -1, -1, -1, -1, 120, 121, 122, 123, 124, 125, 3502 126, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3503 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3504 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3505 33, 34, -1, -1, -1, -1, 39, 40, 41, 42, 3838 -1, -1, 67, -1, 69, -1, 71, -1, -1, 74, 3839 75, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3840 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3841 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3842 32, -1, -1, -1, -1, -1, -1, 39, -1, -1, 3506 3843 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3507 3844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3508 -1, -1, -1, -1, -1, 68, 69, -1, 71, -1, 3509 73, 74, -1, 76, 77, 78, -1, -1, 81, 82, 3510 83, 84, 85, 86, 87, 88, -1, 90, 91, -1, 3845 -1, -1, -1, -1, -1, 67, -1, 69, -1, 71, 3846 -1, -1, 74, 75, 4, 5, 6, 7, 8, 9, 3847 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3848 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3849 30, 31, 32, -1, -1, -1, -1, -1, -1, 39, 3850 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3851 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3852 -1, 30, 31, 32, 33, 34, 35, 67, -1, 69, 3853 39, 71, -1, -1, 74, 75, -1, -1, -1, -1, 3511 3854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3512 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3513 113, -1, 115, -1, -1, -1, -1, -1, 121, 122, 3514 123, 124, 125, 126, 4, 5, 6, 7, 8, 9, 3515 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3516 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3517 -1, -1, 32, 33, 34, -1, -1, -1, -1, 39, 3518 40, 41, 42, -1, -1, -1, -1, -1, -1, -1, 3519 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3520 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69, 3521 -1, 71, -1, 73, 74, -1, 76, 77, 78, -1, 3522 -1, 81, 82, 83, 84, 85, 86, 87, 88, -1, 3523 90, 91, -1, -1, -1, -1, -1, -1, -1, -1, 3524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3525 -1, -1, -1, 113, -1, 115, -1, -1, -1, -1, 3526 -1, 121, 122, 123, 124, 125, 126, 4, 5, 6, 3527 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3528 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3529 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3530 -1, -1, 39, 40, 41, 42, -1, -1, -1, -1, 3531 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3532 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3533 -1, 68, 69, -1, 71, -1, 73, 74, -1, 76, 3534 77, 78, -1, -1, 81, 82, 83, 84, 85, 86, 3535 87, 88, -1, 90, 91, -1, -1, -1, -1, -1, 3536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3537 -1, -1, -1, -1, -1, -1, 113, -1, 115, -1, 3538 -1, -1, -1, -1, 121, 122, 123, 124, 125, 126, 3539 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3540 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3541 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3542 33, 34, 35, -1, -1, 38, -1, -1, 41, 42, 3543 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3544 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3545 -1, -1, -1, 66, -1, -1, 69, -1, 71, -1, 3546 73, 74, -1, 76, 77, 78, -1, -1, -1, -1, 3547 -1, -1, -1, -1, 87, 88, -1, -1, -1, -1, 3548 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3549 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3550 113, -1, 115, -1, -1, -1, -1, -1, 121, 122, 3551 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3552 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3553 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3554 33, 34, -1, -1, -1, -1, -1, -1, 41, -1, 3555 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3556 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3557 29, -1, -1, 32, 33, 34, 69, -1, 71, -1, 3558 73, 74, 41, 76, 77, 78, -1, -1, -1, -1, 3559 -1, -1, -1, -1, 87, 88, -1, -1, -1, -1, 3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3561 69, -1, -1, -1, -1, -1, -1, 76, 77, -1, 3562 113, -1, 115, -1, -1, -1, -1, -1, 121, 122, 3563 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3564 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3565 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 3566 33, 34, 35, -1, -1, 38, -1, -1, 41, -1, 3567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3568 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3569 -1, -1, -1, -1, -1, -1, 69, -1, 71, -1, 3570 73, -1, -1, 76, 77, -1, -1, 80, 3, 4, 3571 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3572 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3573 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3574 35, -1, 115, 38, -1, -1, 41, -1, 121, 122, 3575 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3576 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3577 -1, -1, -1, -1, 69, -1, 71, -1, 73, -1, 3578 -1, 76, 77, 3, 4, 5, 6, 7, 8, 9, 3579 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3580 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3581 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3582 115, 41, -1, -1, -1, -1, 121, 122, -1, 7, 3583 -1, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3584 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 3585 -1, 71, -1, 73, -1, -1, 76, 77, -1, -1, 3586 -1, 39, 40, 41, 42, -1, -1, -1, -1, -1, 3587 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3589 68, 69, -1, -1, -1, 115, 74, -1, -1, -1, 3590 78, 121, 122, 81, 82, 83, 84, 85, 86, 87, 3591 88, -1, 90, 91, -1, -1, -1, -1, -1, -1, 3592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3593 -1, -1, -1, -1, -1, 113, -1, 115, -1, -1, 3594 -1, -1, -1, 121, 122, 123, 124, 125, 126, 4, 3595 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3596 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3597 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3598 -1, -1, -1, -1, -1, -1, 41, -1, -1, 10, 3599 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3600 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3601 -1, 32, 33, 34, 69, -1, 71, -1, 73, 74, 3602 41, 76, 77, 78, -1, -1, -1, -1, -1, -1, 3603 -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, 3604 -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, 3605 -1, -1, -1, -1, -1, 76, 77, -1, 113, -1, 3606 115, -1, -1, -1, -1, -1, 121, 122, 4, 5, 3607 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3608 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3609 26, 27, 28, 29, 115, -1, 32, 33, 34, -1, 3610 121, 122, -1, -1, -1, 41, -1, -1, -1, -1, 3611 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3613 -1, -1, -1, 69, -1, 71, -1, 73, -1, -1, 3614 76, 77, -1, 4, 5, 6, 7, 8, 9, 10, 3615 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3616 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3617 -1, 32, 33, 34, -1, -1, -1, -1, 114, 115, 3618 41, -1, -1, -1, -1, 121, 122, -1, -1, -1, 3619 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3620 -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, 3621 71, -1, 73, -1, -1, 76, 77, -1, -1, -1, 3622 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3623 -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 3624 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3625 -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, 3626 121, 122, 4, 5, 6, 7, 8, 9, 10, 11, 3627 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3628 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3629 32, 33, 34, -1, -1, -1, -1, -1, -1, 41, 3630 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3631 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3632 28, 29, -1, -1, 32, 33, 34, 69, -1, 71, 3633 -1, 73, -1, 41, 76, 77, -1, -1, -1, -1, 3634 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3635 -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 3636 -1, 69, -1, -1, -1, -1, -1, -1, 76, 77, 3637 -1, -1, -1, 115, -1, -1, -1, -1, -1, 121, 3638 122, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3639 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3640 23, 24, 25, 26, 27, 28, 29, 115, -1, 32, 3641 33, 34, -1, 121, 122, -1, -1, -1, 41, -1, 3642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3644 -1, -1, -1, -1, -1, -1, 69, -1, 71, -1, 3645 73, -1, -1, 76, 77, -1, 4, 5, 6, 7, 3646 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3647 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3648 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 3649 -1, -1, 115, 41, -1, -1, -1, -1, 121, 122, 3650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3652 -1, 69, -1, 71, -1, 73, -1, -1, 76, 77, 3653 -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3654 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3655 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3656 33, 34, -1, -1, -1, -1, -1, 115, 41, -1, 3657 -1, -1, -1, 121, 122, -1, -1, -1, -1, -1, 3658 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3659 -1, -1, -1, -1, -1, -1, 69, -1, 71, -1, 3660 73, -1, -1, 76, 77, 10, 11, 12, 13, 14, 3661 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3662 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3663 -1, -1, -1, -1, 39, 40, 41, 42, -1, -1, 3664 -1, -1, 115, -1, -1, -1, -1, -1, 121, 122, 3665 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3666 -1, -1, -1, 68, 69, -1, -1, -1, -1, 74, 3667 -1, 76, 77, 78, -1, -1, 81, 82, 83, 84, 3668 85, 86, 87, 88, -1, 90, 91, -1, -1, -1, 3669 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3670 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3671 115, -1, -1, 118, -1, -1, 121, 122, 123, 124, 3672 125, 126, 10, 11, 12, 13, 14, 15, 16, 17, 3673 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3674 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 3675 -1, 39, 40, 41, 42, -1, -1, -1, -1, -1, 3676 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3677 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3678 68, 69, -1, -1, -1, -1, 74, -1, 76, 77, 3679 78, -1, -1, 81, 82, 83, 84, 85, 86, 87, 3680 88, -1, 90, 91, -1, -1, -1, -1, -1, -1, 3681 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3682 -1, -1, -1, -1, -1, 113, 114, 115, -1, -1, 3683 -1, -1, -1, 121, 122, 123, 124, 125, 126, 10, 3684 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3685 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3686 -1, 32, 33, 34, -1, -1, -1, -1, 39, 40, 3687 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, 3688 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3689 -1, -1, -1, -1, -1, -1, -1, 68, 69, -1, 3690 -1, -1, -1, 74, -1, 76, 77, 78, -1, -1, 3691 81, 82, 83, 84, 85, 86, 87, 88, -1, 90, 3692 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3694 -1, -1, 113, -1, 115, -1, -1, -1, -1, -1, 3695 121, 122, 123, 124, 125, 126, 10, 11, 12, 13, 3696 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3697 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3698 34, -1, -1, -1, -1, 39, 40, 41, 42, -1, 3699 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3700 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3701 -1, -1, -1, -1, 68, 69, -1, -1, -1, -1, 3702 74, -1, 76, 77, 78, -1, -1, 81, 82, 83, 3703 84, 85, 86, 87, 88, -1, 90, 91, -1, -1, 3704 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3705 -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, 3706 -1, 115, -1, -1, -1, -1, -1, 121, 122, 123, 3707 124, 125, 126, 10, 11, 12, 13, 14, 15, 16, 3708 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3709 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3710 -1, -1, 39, 40, 41, 42, -1, -1, -1, -1, 3711 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3713 -1, 68, 69, -1, -1, -1, -1, 74, -1, 76, 3714 77, 78, -1, -1, 81, 82, 83, 84, 85, 86, 3715 87, 88, -1, 90, 91, -1, -1, -1, -1, -1, 3716 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3717 -1, -1, -1, -1, -1, -1, 113, -1, 115, -1, 3718 -1, -1, -1, -1, 121, 122, 123, 124, 125, 126, 3719 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3720 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3721 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3722 33, 34, -1, -1, -1, -1, -1, -1, 41, -1, 3723 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3724 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3725 -1, -1, 32, 33, 34, -1, 69, -1, 71, -1, 3726 73, 41, -1, 76, 77, -1, -1, -1, -1, -1, 3727 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3728 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 3729 -1, -1, -1, -1, 74, -1, 76, 77, -1, -1, 3730 -1, -1, -1, -1, -1, 118, -1, 87, 88, -1, 3731 -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3732 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3733 26, 27, 28, 29, -1, 115, 32, 33, 34, -1, 3734 -1, 121, 122, -1, -1, 41, 42, 10, 11, 12, 3735 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3736 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3737 33, 34, -1, 69, -1, -1, -1, -1, 41, 42, 3738 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, 3739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3740 -1, -1, -1, -1, -1, -1, 69, -1, -1, -1, 3741 -1, -1, -1, 76, 77, -1, -1, -1, -1, 115, 3742 -1, -1, -1, 119, -1, 121, 122, -1, -1, -1, 3743 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3744 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3745 29, -1, 115, 32, 33, 34, 119, -1, 121, 122, 3746 -1, -1, 41, 42, 10, 11, 12, 13, 14, 15, 3747 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3748 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 3749 69, -1, -1, -1, -1, 41, -1, 76, 77, -1, 3750 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3752 -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, 3753 76, 77, -1, -1, -1, -1, 115, -1, -1, -1, 3754 119, -1, 121, 122, -1, -1, -1, -1, 10, 11, 3755 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3756 22, 23, 24, 25, 26, 27, 28, 29, -1, 115, 3757 32, 33, 34, -1, -1, 121, 122, -1, -1, 41, 3758 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3759 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3760 -1, -1, 32, 33, 34, -1, -1, 69, -1, -1, 3761 -1, 41, -1, -1, 76, 77, -1, -1, -1, -1, 3762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3763 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 3764 -1, -1, -1, -1, -1, -1, 76, 77, -1, -1, 3765 -1, -1, -1, 115, -1, -1, -1, -1, -1, 121, 3766 122, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3767 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3768 26, 27, 28, 29, -1, 115, 32, 33, 34, -1, 3769 -1, 121, 122, -1, -1, 41, -1, -1, -1, -1, 3770 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3771 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3772 -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, 3773 76, 77, -1, 4, 5, 6, 7, 8, 9, 10, 3774 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3775 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3776 -1, 32, 33, 34, -1, -1, -1, -1, -1, 115, 3777 41, -1, -1, -1, -1, 121, 122, -1, -1, -1, 3778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3779 -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, 3780 71, -1, 73, -1, -1, 76, 77, 39, 40, -1, 3781 42, 43, -1, 45, -1, -1, 48, 49, 50, 51, 3782 52, 53, 54, 55, -1, -1, 58, 59, -1, -1, 3783 -1, 63, 64, -1, 66, -1, 68, -1, -1, -1, 3784 -1, -1, 74, 114, -1, -1, 78, -1, -1, 81, 3785 82, 83, 84, 85, 86, 87, 88, -1, 90, 91, 3786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3788 -1, 113, -1, 115, -1, -1, 118, -1, -1, 121, 3789 122, 123, 124, 125, 126, -1, -1, 39, 40, 131, 3790 42, 43, -1, 45, 136, -1, 48, 49, 50, 51, 3791 52, 53, 54, 55, -1, -1, -1, 59, -1, -1, 3792 -1, 63, 64, -1, 66, -1, 68, -1, -1, -1, 3793 -1, -1, 74, -1, -1, -1, 78, -1, -1, 81, 3794 82, 83, 84, 85, 86, 87, 88, -1, 90, 91, 3795 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3796 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3797 -1, 113, -1, 115, -1, -1, 118, -1, -1, 121, 3798 122, 123, 124, 125, 126, -1, -1, -1, -1, 131, 3799 -1, -1, -1, -1, 136, 4, 5, 6, 7, 8, 3800 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3801 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3802 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 3803 -1, -1, 41, -1, 39, 40, -1, 42, 43, -1, 3804 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 3805 55, -1, -1, 58, 59, -1, -1, -1, 63, 64, 3806 69, 66, 71, 68, 73, -1, -1, 76, 77, 74, 3807 -1, -1, -1, 78, -1, -1, 81, 82, 83, 84, 3808 85, 86, 87, 88, -1, 90, 91, -1, -1, -1, 3809 -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, 3810 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3811 115, -1, -1, 118, -1, -1, 121, 122, 123, 124, 3812 125, 126, -1, -1, 39, 40, 131, 42, 43, -1, 3813 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 3814 55, -1, -1, -1, 59, -1, -1, -1, 63, 64, 3815 -1, 66, -1, 68, -1, -1, -1, -1, -1, 74, 3816 -1, -1, -1, 78, -1, -1, 81, 82, 83, 84, 3817 85, 86, 87, 88, -1, 90, 91, -1, -1, -1, 3818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3819 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3820 115, -1, -1, 118, -1, -1, 121, 122, 123, 124, 3821 125, 126, -1, -1, 39, 40, 131, 42, 43, -1, 3822 45, -1, -1, 48, 49, 50, 51, 52, 53, 54, 3823 55, -1, -1, -1, 59, -1, -1, -1, 63, 64, 3824 -1, 66, -1, 68, -1, -1, -1, -1, -1, 74, 3825 -1, -1, -1, 78, -1, -1, 81, 82, 83, 84, 3826 85, 86, 87, 88, -1, 90, 91, -1, -1, -1, 3827 -1, -1, -1, 39, 40, -1, 42, -1, -1, -1, 3828 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3829 115, -1, -1, 118, -1, -1, 121, 122, 123, 124, 3830 125, 126, 68, -1, -1, -1, 131, -1, 74, -1, 3831 76, 77, 78, -1, -1, 81, 82, 83, 84, 85, 3832 86, 87, 88, -1, 90, 91, -1, -1, -1, -1, 3833 -1, -1, 39, 40, -1, 42, -1, -1, -1, -1, 3834 -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 3835 -1, 117, 118, -1, -1, 121, 122, 123, 124, 125, 3836 126, 68, -1, -1, -1, -1, -1, 74, -1, -1, 3837 -1, 78, -1, -1, 81, 82, 83, 84, 85, 86, 3838 87, 88, -1, 90, 91, -1, -1, -1, -1, -1, 3839 -1, 39, 40, -1, 42, -1, -1, -1, -1, -1, 3840 -1, -1, -1, -1, -1, -1, 113, -1, 115, -1, 3841 -1, 118, -1, -1, 121, 122, 123, 124, 125, 126, 3842 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, 3843 78, -1, -1, 81, 82, 83, 84, 85, 86, 87, 3844 88, -1, 90, 91, -1, -1, -1, -1, -1, -1, 3845 39, 40, -1, 42, -1, -1, -1, -1, -1, -1, 3846 -1, -1, -1, -1, -1, 113, -1, 115, -1, -1, 3847 -1, -1, 120, 121, 122, 123, 124, 125, 126, 68, 3848 -1, -1, -1, -1, -1, 74, -1, -1, -1, 78, 3849 -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, 3850 -1, 90, 91, -1, -1, -1, -1, -1, -1, 39, 3851 40, -1, 42, -1, -1, -1, -1, -1, -1, -1, 3852 -1, -1, -1, -1, 113, -1, 115, -1, -1, 118, 3853 -1, -1, 121, 122, 123, 124, 125, 126, 68, -1, 3854 -1, -1, -1, -1, 74, -1, -1, -1, 78, -1, 3855 -1, 81, 82, 83, 84, 85, 86, 87, 88, -1, 3856 90, 91, -1, -1, -1, -1, -1, -1, 39, 40, 3857 -1, 42, -1, -1, -1, -1, -1, -1, -1, -1, 3858 -1, -1, -1, 113, -1, 115, -1, -1, -1, -1, 3859 -1, 121, 122, 123, 124, 125, 126, 68, -1, -1, 3860 -1, -1, -1, 74, -1, -1, -1, 78, -1, -1, 3861 81, 82, 83, 84, 85, 86, 87, 88, -1, 90, 3862 91, -1, -1, -1, -1, -1, -1, 39, 40, -1, 3863 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3864 -1, -1, 113, -1, 115, -1, -1, -1, -1, -1, 3865 121, 122, 123, 124, 125, 126, 68, -1, -1, -1, 3866 -1, -1, 74, -1, -1, -1, 78, -1, -1, 81, 3867 82, 83, 84, 85, 86, 87, 88, -1, 90, 91, 3868 -1, -1, -1, -1, -1, -1, 39, 40, -1, 42, 3869 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3870 -1, 113, -1, 115, -1, -1, -1, -1, -1, 121, 3871 122, 123, 124, 125, 126, 68, -1, -1, -1, -1, 3872 -1, 74, -1, -1, -1, 78, -1, -1, 81, 82, 3873 83, 84, 85, 86, 87, 88, -1, 90, 91, -1, 3874 -1, -1, -1, -1, -1, 39, 40, -1, 42, -1, 3875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3876 113, -1, 115, -1, -1, -1, -1, -1, 121, 122, 3877 123, 124, 125, 126, 68, -1, -1, -1, -1, -1, 3878 74, -1, -1, -1, 78, -1, -1, 81, 82, 83, 3879 84, 85, 86, 87, 88, -1, 90, 91, -1, -1, 3880 -1, -1, -1, -1, 39, 40, -1, 42, -1, -1, 3881 -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, 3882 -1, 115, -1, -1, -1, -1, -1, 121, 122, 123, 3883 124, 125, 126, 68, -1, -1, -1, -1, -1, 74, 3884 -1, -1, -1, 78, -1, -1, 81, 82, 83, 84, 3885 85, 86, 87, 88, -1, 90, 91, -1, -1, -1, 3886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3887 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 3888 115, -1, -1, -1, -1, -1, 121, 122, 123, 124, 3889 125, 126, 4, 5, 6, 7, 8, 9, 10, 11, 3890 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3891 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3892 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, 3893 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3894 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3895 28, 29, -1, -1, 32, 33, 34, 69, -1, 71, 3896 -1, 73, 74, 41, 76, 77, 78, -1, -1, -1, 3897 -1, -1, -1, -1, -1, 87, 88, -1, -1, -1, 3898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3899 -1, 69, -1, -1, -1, -1, 74, -1, 76, 77, 3900 -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 3901 88, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3902 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3903 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3904 32, 33, 34, -1, -1, -1, -1, -1, -1, 41, 3905 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3906 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3907 -1, -1, -1, -1, -1, -1, -1, 69, -1, 71, 3908 -1, 73, -1, -1, 76, 77, 3, 4, 5, 6, 3909 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3910 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3911 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3912 -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, 3913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3915 -1, -1, 69, -1, 71, -1, 73, -1, -1, 76, 3916 77, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3917 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3918 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3919 33, 34, -1, -1, -1, -1, -1, -1, 41, -1, 3920 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3921 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3922 -1, -1, -1, -1, -1, -1, 69, -1, 71, -1, 3923 73, -1, -1, 76, 77, 10, 11, 12, 13, 14, 3924 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3925 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3926 35, 36, 37, -1, -1, -1, 41, 10, 11, 12, 3927 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3928 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3929 33, 34, -1, -1, 69, -1, -1, -1, 41, -1, 3930 -1, 76, 77, -1, -1, -1, -1, -1, -1, -1, 3931 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3932 -1, -1, -1, -1, -1, -1, 69, -1, -1, -1, 3933 -1, -1, -1, 76, 77 3855 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3856 -1, -1, -1, -1, -1, 74, 75 3934 3857 }; 3935 3858 … … 3940 3863 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3941 3864 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3942 22, 23, 24, 25, 26, 27, 28, 29, 32, 33,3943 3 4, 35, 38, 41, 42, 66, 69, 71, 73, 74,3944 76, 77, 78, 87, 88, 113, 115, 121, 122, 141,3945 144, 156, 205, 219, 220, 221, 222, 223, 224, 225,3946 226, 227, 228, 229, 230, 231, 232, 233, 234, 23 5,3947 23 6, 238, 239, 240, 241, 242, 243, 244, 246, 247,3948 248, 249, 25 0, 251, 253, 261, 262, 289, 290, 291,3949 299, 302, 308, 309, 311, 313, 314, 320, 325, 329,3950 330, 331, 332, 333, 334, 3 35, 336, 356, 373, 374,3951 375, 376, 74, 143, 144, 156, 222, 224, 232, 234,3952 24 3, 247, 249, 290, 83, 113, 318, 319, 320, 318,3953 318, 74, 76, 77, 78, 142, 143, 279, 280, 300,3954 301, 76, 77, 280, 113, 311, 11, 206, 113, 156,3955 32 5, 330, 331, 332, 334, 335, 336, 116, 138, 225,3956 232, 234, 329, 333, 372, 373, 376, 377, 139, 111,3957 1 35, 283, 118, 139, 180, 76, 77, 141, 278, 139,3958 1 39, 139, 120, 139, 76, 77, 113, 156, 315, 324,3959 325, 326, 327, 3 28, 329, 333, 337, 338, 339, 340,3960 341, 347, 3, 30, 80, 245, 3, 5, 76, 115,3961 156, 224, 235, 239, 241, 250, 291, 329, 333, 376,3962 2 22, 224, 234, 243, 247, 249, 290, 329, 333, 35,3963 2 40, 240, 235, 241, 139, 240, 235, 240, 235, 77,3964 113, 118, 280, 291, 118, 280, 240, 235, 120, 139,3965 13 9, 0, 138, 113, 180, 318, 318, 138, 115, 232,3966 2 34, 374, 278, 278, 135, 234, 113, 156, 315, 325,3967 329, 115, 156, 376, 312, 237, 320, 113, 296, 113,3968 11 3, 53, 113, 39, 40, 42, 68, 74, 78, 81,3969 82, 83, 84, 8 5, 86, 90, 91, 113, 115, 123,3970 124, 1 25, 126, 140, 144, 145, 146, 147, 148, 155,3865 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 3866 36, 39, 40, 64, 67, 69, 71, 72, 74, 75, 3867 76, 85, 86, 111, 113, 119, 120, 139, 142, 154, 3868 203, 217, 218, 219, 220, 221, 222, 223, 224, 225, 3869 226, 227, 228, 229, 230, 231, 232, 233, 234, 236, 3870 237, 238, 239, 240, 241, 242, 244, 245, 246, 247, 3871 248, 249, 251, 259, 260, 287, 288, 289, 297, 300, 3872 306, 307, 309, 311, 312, 318, 323, 327, 328, 329, 3873 330, 331, 332, 333, 334, 354, 371, 372, 373, 374, 3874 72, 141, 142, 154, 220, 222, 230, 232, 241, 245, 3875 247, 288, 81, 111, 316, 317, 318, 316, 316, 72, 3876 74, 75, 76, 140, 141, 277, 278, 298, 299, 74, 3877 75, 278, 111, 309, 11, 204, 111, 154, 323, 328, 3878 329, 330, 332, 333, 334, 114, 136, 223, 230, 232, 3879 327, 331, 370, 371, 374, 375, 137, 109, 133, 281, 3880 116, 137, 178, 74, 75, 139, 276, 137, 137, 137, 3881 118, 137, 74, 75, 111, 154, 313, 322, 323, 324, 3882 325, 326, 327, 331, 335, 336, 337, 338, 339, 345, 3883 3, 28, 78, 243, 3, 5, 74, 113, 154, 222, 3884 233, 237, 239, 248, 289, 327, 331, 374, 220, 222, 3885 232, 241, 245, 247, 288, 327, 331, 33, 238, 238, 3886 233, 239, 137, 238, 233, 238, 233, 75, 111, 116, 3887 278, 289, 116, 278, 238, 233, 118, 137, 137, 0, 3888 136, 111, 178, 316, 316, 136, 113, 230, 232, 372, 3889 276, 276, 133, 232, 111, 154, 313, 323, 327, 113, 3890 154, 374, 310, 235, 318, 111, 294, 111, 111, 51, 3891 111, 37, 38, 40, 66, 72, 76, 79, 80, 81, 3892 82, 83, 84, 88, 89, 111, 113, 121, 122, 123, 3893 124, 138, 142, 143, 144, 145, 146, 153, 154, 155, 3971 3894 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 3972 166, 167, 16 8, 169, 171, 174, 232, 282, 298, 372,3973 377, 234, 114, 114, 114, 114, 114, 114, 114, 115,3974 232, 356, 374, 115, 121, 156, 171, 224, 225, 231,3975 23 4, 238, 239, 243, 246, 247, 249, 268, 269, 273,3976 274, 2 75, 276, 290, 356, 368, 369, 370, 371, 376,3977 3 77, 113, 329, 333, 376, 113, 120, 136, 115, 118,3978 156, 171, 284, 284, 119, 138, 120, 136, 113, 120,3979 13 6, 120, 136, 120, 136, 318, 136, 325, 326, 327,3980 3 28, 338, 339, 340, 341, 234, 324, 337, 66, 317,3981 115, 318, 355, 356, 318, 318, 180, 138, 113, 318,3982 3 55, 318, 318, 234, 315, 113, 113, 233, 234, 232,3983 23 4, 138, 232, 372, 377, 180, 138, 278, 283, 224,3984 239, 329, 333, 180, 138, 300, 234, 243, 136, 234,3985 2 34, 298, 254, 252, 264, 280, 263, 234, 300, 136,3986 136, 311, 138, 143, 277, 3, 139, 214, 215, 229,3987 231, 234, 138, 317, 113, 317, 171, 325, 234, 113,3988 1 38, 278, 118, 35, 36, 37, 232, 292, 293, 295,3989 13 8, 132, 135, 297, 138, 235, 240, 241, 278, 321,3990 322, 323, 113, 145, 113, 155, 113, 155, 158, 113,3991 1 55, 113, 113, 155, 155, 115, 171, 176, 180, 232,3992 281, 372, 376, 138, 83, 85, 89, 90, 91, 113,3993 11 5, 117, 118, 101, 102, 103, 104, 105, 106, 107,3994 108, 109, 1 10, 111, 135, 173, 158, 158, 121, 127,3995 12 8, 123, 124, 92, 93, 94, 95, 129, 130, 96,3996 97, 122, 131, 132, 98, 99, 133, 113, 156, 351,3997 352, 353, 354, 355, 114, 120, 113, 355, 356, 113,3998 355, 356, 138, 232, 374, 116, 138, 139, 232, 234,3999 3 67, 368, 376, 377, 139, 113, 115, 156, 325, 342,4000 343, 344, 345, 346, 347, 348, 3 49, 350, 356, 357,4001 358, 359, 360, 361, 362, 156, 376, 234, 139, 139,4002 156, 232, 234, 369, 278, 232, 356, 369, 278, 138,4003 13 8, 138, 138, 74, 115, 117, 144, 280, 284, 285,4004 286, 287, 288, 138, 138, 138, 138, 138, 138, 315,4005 11 4, 114, 114, 114, 114, 114, 114, 324, 337, 113,4006 2 83, 116, 214, 138, 315, 176, 282, 176, 282, 315,4007 115, 214, 317, 180, 138, 214, 114, 42, 115, 119,4008 2 32, 255, 256, 257, 372, 118, 120, 378, 135, 265,4009 118, 234, 270, 271, 272, 275, 276, 114, 120, 180,4010 1 38, 121, 171, 138, 231, 234, 269, 368, 376, 309,4011 310, 113, 156, 342, 114, 120, 135, 379, 280, 292,4012 113, 118, 280, 282, 292, 114, 120, 113, 145, 114,4013 134, 281, 281, 281, 150, 171, 282, 281, 138, 114,4014 1 20, 114, 113, 156, 355, 363, 364, 365, 366, 114,4015 1 20, 171, 115, 143, 149, 150, 138, 115, 143, 149,4016 1 71, 158, 158, 158, 159, 159, 160, 160, 161, 161,4017 16 1, 161, 162, 162, 163, 164, 165, 166, 167, 134,4018 176, 138, 352, 353, 354, 234, 351, 318, 318, 171,4019 2 82, 138, 277, 232, 356, 369, 234, 238, 116, 376,4020 1 16, 113, 138, 325, 343, 344, 345, 348, 358, 359,4021 360, 116, 138, 234, 342, 346, 357, 113, 318, 361,4022 3 79, 318, 318, 379, 113, 318, 361, 318, 318, 318,4023 318, 356, 232, 367, 377, 278, 116, 120, 116, 120,4024 3 79, 232, 369, 379, 266, 267, 268, 269, 266, 278,4025 1 71, 138, 115, 280, 134, 120, 378, 284, 115, 134,4026 2 88, 31, 216, 217, 278, 266, 143, 315, 143, 317,4027 113, 355, 356, 113, 355, 356, 145, 356, 180, 270,4028 11 4, 114, 114, 114, 138, 180, 214, 180, 118, 256,4029 257, 138, 113, 134, 156, 258, 260, 324, 325, 337,4030 363, 120, 136, 120, 136, 280, 254, 280, 119, 169,4031 1 70, 264, 139, 139, 143, 229, 139, 139, 266, 113,4032 1 56, 376, 139, 119, 234, 293, 171, 294, 139, 138,4033 13 8, 113, 139, 114, 322, 176, 177, 134, 136, 115,4034 145, 207, 208, 209, 114, 120, 114, 114, 114, 114,4035 171, 364, 365, 366, 234, 363, 318, 318, 118, 158,4036 17 1, 172, 175, 120, 138, 114, 120, 171, 138, 119,4037 169, 134, 270, 114, 114, 114, 351, 270, 114, 232,4038 369, 115, 121, 156, 171, 171, 234, 348, 270, 114,4039 11 4, 114, 114, 114, 114, 114, 7, 234, 342, 346,4040 357, 138, 138, 379, 138, 138, 139, 139, 139, 139,4041 283, 169, 170, 171, 316, 138, 284, 286, 119, 138,4042 218, 280, 42, 43, 45, 48, 49, 50, 51, 52,4043 53, 5 4, 55, 59, 63, 64, 74, 131, 177, 178,4044 179, 180, 18 1, 182, 184, 185, 197, 199, 200, 205,4045 219, 314, 31, 139, 135, 283, 138, 138, 114, 139,4046 1 80, 254, 136, 136, 325, 170, 234, 259, 260, 259,4047 280, 318, 119, 265, 378, 114, 120, 116, 116, 139,4048 234, 120, 379, 296, 114, 292, 222, 224, 232, 304,4049 305, 306, 307, 298, 114, 114, 134, 170, 113, 114,4050 1 34, 120, 143, 114, 114, 114, 363, 285, 120, 139,4051 175, 81, 84, 86, 143, 151, 152, 153, 150, 139,4052 1 51, 169, 139, 113, 355, 356, 139, 138, 139, 139,4053 1 39, 171, 114, 139, 113, 355, 356, 113, 361, 113,4054 361, 356, 233, 7, 121, 139, 171, 270, 270, 269,4055 27 3, 273, 274, 114, 120, 120, 114, 100, 126, 139,4056 139, 151, 284, 171, 120, 136, 219, 223, 234, 238,4057 1 13, 113, 178, 113, 113, 74, 136, 74, 136, 74,4058 1 21, 177, 113, 180, 172, 172, 134, 148, 136, 139,4059 138, 139, 218, 114, 171, 270, 270, 318, 114, 119,4060 258, 119, 138, 114, 138, 139, 315, 119, 138, 139,4061 1 39, 114, 118, 207, 116, 170, 136, 207, 209, 114,4062 113, 355, 356, 378, 172, 116, 139, 154, 115, 152,4063 1 54, 154, 120, 139, 89, 117, 116, 139, 114, 138,4064 114, 11 6, 116, 116, 139, 114, 138, 138, 138, 171,4065 1 71, 139, 116, 139, 139, 139, 139, 138, 138, 170,4066 1 70, 116, 116, 139, 280, 234, 176, 176, 49, 176,4067 13 8, 136, 136, 136, 176, 136, 176, 60, 61, 62,4068 201, 202, 203, 136, 65, 136, 318, 118, 182, 119,4069 13 6, 139, 139, 100, 275, 276, 114, 305, 120, 136,4070 1 20, 136, 119, 303, 134, 145, 114, 114, 134, 138,4071 119, 116, 85, 138, 152, 116, 115, 152, 115, 152,4072 11 6, 270, 116, 270, 270, 270, 139, 139, 116, 116,4073 114, 11 4, 116, 120, 100, 269, 100, 139, 116, 114,4074 11 4, 113, 114, 177, 198, 219, 136, 114, 113, 113,4075 180, 203, 60, 61, 171, 178, 149, 114, 114, 118,4076 138, 138, 304, 145, 210, 113, 136, 210, 270, 151,4077 13 8, 138, 139, 139, 139, 139, 116, 116, 138, 139,4078 116, 178, 46, 47, 118, 188, 189, 190, 176, 178,4079 1 39, 114, 177, 118, 190, 100, 138, 100, 138, 113,4080 11 3, 136, 119, 138, 278, 315, 119, 120, 134, 170,4081 1 14, 139, 139, 151, 151, 114, 114, 114, 114, 273,4082 44, 170, 186, 187, 316, 134, 138, 178, 188, 114,4083 13 6, 178, 136, 138, 114, 138, 114, 138, 100, 138,4084 1 00, 138, 136, 304, 145, 143, 211, 114, 136, 114,4085 1 16, 139, 139, 178, 100, 120, 134, 139, 212, 213,4086 219, 136, 177, 177, 212, 180, 204, 232, 372, 180,4087 204, 114, 138, 114, 138, 119, 114, 120, 116, 116,4088 1 70, 186, 189, 191, 192, 138, 136, 189, 193, 194,4089 1 39, 113, 156, 315, 363, 143, 139, 180, 204, 180,4090 204, 113, 136, 143, 178, 183, 119, 189, 219, 177,4091 58, 183, 196, 119, 189, 114, 234, 114, 139, 139,4092 298, 178, 183, 136, 195, 196, 183, 196, 180, 180,4093 11 4, 114, 114, 195, 139, 139, 180, 180, 139, 1393895 166, 167, 169, 172, 230, 280, 296, 370, 375, 232, 3896 112, 112, 112, 112, 112, 112, 112, 113, 230, 354, 3897 372, 113, 119, 154, 169, 222, 223, 229, 232, 236, 3898 237, 241, 244, 245, 247, 266, 267, 271, 272, 273, 3899 274, 288, 354, 366, 367, 368, 369, 374, 375, 111, 3900 327, 331, 374, 111, 118, 134, 113, 116, 154, 169, 3901 282, 282, 117, 136, 118, 134, 111, 118, 134, 118, 3902 134, 118, 134, 316, 134, 323, 324, 325, 326, 336, 3903 337, 338, 339, 232, 322, 335, 64, 315, 113, 316, 3904 353, 354, 316, 316, 178, 136, 111, 316, 353, 316, 3905 316, 232, 313, 111, 111, 231, 232, 230, 232, 136, 3906 230, 370, 375, 178, 136, 276, 281, 222, 237, 327, 3907 331, 178, 136, 298, 232, 241, 134, 232, 232, 296, 3908 252, 250, 262, 278, 261, 232, 298, 134, 134, 309, 3909 136, 141, 275, 3, 137, 212, 213, 227, 229, 232, 3910 136, 315, 111, 315, 169, 323, 232, 111, 136, 276, 3911 116, 33, 34, 35, 230, 290, 291, 293, 136, 130, 3912 133, 295, 136, 233, 238, 239, 276, 319, 320, 321, 3913 111, 143, 111, 153, 111, 153, 156, 111, 153, 111, 3914 111, 153, 153, 113, 169, 174, 178, 230, 279, 370, 3915 374, 136, 81, 83, 87, 88, 89, 111, 113, 115, 3916 116, 99, 100, 101, 102, 103, 104, 105, 106, 107, 3917 108, 109, 133, 171, 156, 156, 119, 125, 126, 121, 3918 122, 90, 91, 92, 93, 127, 128, 94, 95, 120, 3919 129, 130, 96, 97, 131, 111, 154, 349, 350, 351, 3920 352, 353, 112, 118, 111, 353, 354, 111, 353, 354, 3921 136, 230, 372, 114, 136, 137, 230, 232, 365, 366, 3922 374, 375, 137, 111, 113, 154, 323, 340, 341, 342, 3923 343, 344, 345, 346, 347, 348, 354, 355, 356, 357, 3924 358, 359, 360, 154, 374, 232, 137, 137, 154, 230, 3925 232, 367, 276, 230, 354, 367, 276, 136, 136, 136, 3926 136, 72, 113, 115, 142, 278, 282, 283, 284, 285, 3927 286, 136, 136, 136, 136, 136, 136, 313, 112, 112, 3928 112, 112, 112, 112, 112, 322, 335, 111, 281, 114, 3929 212, 136, 313, 174, 280, 174, 280, 313, 113, 212, 3930 315, 178, 136, 212, 112, 40, 113, 117, 230, 253, 3931 254, 255, 370, 116, 118, 376, 133, 263, 116, 232, 3932 268, 269, 270, 273, 274, 112, 118, 178, 136, 119, 3933 169, 136, 229, 232, 267, 366, 374, 307, 308, 111, 3934 154, 340, 112, 118, 133, 377, 278, 290, 111, 116, 3935 278, 280, 290, 112, 118, 111, 143, 112, 132, 279, 3936 279, 279, 148, 169, 280, 279, 136, 112, 118, 112, 3937 111, 154, 353, 361, 362, 363, 364, 112, 118, 169, 3938 113, 141, 147, 148, 136, 113, 141, 147, 169, 156, 3939 156, 156, 157, 157, 158, 158, 159, 159, 159, 159, 3940 160, 160, 161, 162, 163, 164, 165, 132, 174, 136, 3941 350, 351, 352, 232, 349, 316, 316, 169, 280, 136, 3942 275, 230, 354, 367, 232, 236, 114, 374, 114, 111, 3943 136, 323, 341, 342, 343, 346, 356, 357, 358, 114, 3944 136, 232, 340, 344, 355, 111, 316, 359, 377, 316, 3945 316, 377, 111, 316, 359, 316, 316, 316, 316, 354, 3946 230, 365, 375, 276, 114, 118, 114, 118, 377, 230, 3947 367, 377, 264, 265, 266, 267, 264, 276, 169, 136, 3948 113, 278, 132, 118, 376, 282, 113, 132, 286, 29, 3949 214, 215, 276, 264, 141, 313, 141, 315, 111, 353, 3950 354, 111, 353, 354, 144, 354, 178, 268, 112, 112, 3951 112, 112, 136, 178, 212, 178, 116, 254, 255, 136, 3952 111, 132, 154, 256, 258, 322, 323, 335, 361, 118, 3953 134, 118, 134, 278, 252, 278, 117, 167, 168, 262, 3954 137, 137, 141, 227, 137, 137, 264, 111, 154, 374, 3955 137, 117, 232, 291, 169, 292, 137, 136, 136, 111, 3956 137, 112, 320, 174, 175, 132, 134, 113, 143, 205, 3957 206, 207, 112, 118, 112, 112, 112, 112, 169, 362, 3958 363, 364, 232, 361, 316, 316, 116, 156, 169, 170, 3959 173, 118, 136, 112, 118, 169, 136, 117, 167, 132, 3960 268, 112, 112, 112, 349, 268, 112, 230, 367, 113, 3961 119, 154, 169, 169, 232, 346, 268, 112, 112, 112, 3962 112, 112, 112, 112, 7, 232, 340, 344, 355, 136, 3963 136, 377, 136, 136, 137, 137, 137, 137, 281, 167, 3964 168, 169, 314, 136, 282, 284, 117, 136, 216, 278, 3965 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 3966 53, 57, 61, 62, 72, 129, 175, 176, 177, 178, 3967 179, 180, 182, 183, 195, 197, 198, 203, 217, 312, 3968 29, 137, 133, 281, 136, 136, 112, 137, 178, 252, 3969 134, 134, 323, 168, 232, 257, 258, 257, 278, 316, 3970 117, 263, 376, 112, 118, 114, 114, 137, 232, 118, 3971 377, 294, 112, 290, 220, 222, 230, 302, 303, 304, 3972 305, 296, 112, 112, 132, 168, 111, 112, 132, 118, 3973 141, 112, 112, 112, 361, 283, 118, 137, 173, 79, 3974 82, 84, 141, 149, 150, 151, 148, 137, 149, 167, 3975 137, 111, 353, 354, 137, 136, 137, 137, 137, 169, 3976 112, 137, 111, 353, 354, 111, 359, 111, 359, 354, 3977 231, 7, 119, 137, 169, 268, 268, 267, 271, 271, 3978 272, 112, 118, 118, 112, 98, 124, 137, 137, 149, 3979 282, 169, 118, 134, 217, 221, 232, 236, 111, 111, 3980 176, 111, 111, 72, 134, 72, 134, 72, 119, 175, 3981 111, 178, 170, 170, 132, 146, 134, 137, 136, 137, 3982 216, 112, 169, 268, 268, 316, 112, 117, 256, 117, 3983 136, 112, 136, 137, 313, 117, 136, 137, 137, 112, 3984 116, 205, 114, 168, 134, 205, 207, 112, 111, 353, 3985 354, 376, 170, 114, 137, 152, 113, 150, 152, 152, 3986 118, 137, 87, 115, 114, 137, 112, 136, 112, 114, 3987 114, 114, 137, 112, 136, 136, 136, 169, 169, 137, 3988 114, 137, 137, 137, 137, 136, 136, 168, 168, 114, 3989 114, 137, 278, 232, 174, 174, 47, 174, 136, 134, 3990 134, 134, 174, 134, 174, 58, 59, 60, 199, 200, 3991 201, 134, 63, 134, 316, 116, 180, 117, 134, 137, 3992 137, 98, 273, 274, 112, 303, 118, 134, 118, 134, 3993 117, 301, 132, 143, 112, 112, 132, 136, 117, 114, 3994 83, 136, 150, 114, 113, 150, 113, 150, 114, 268, 3995 114, 268, 268, 268, 137, 137, 114, 114, 112, 112, 3996 114, 118, 98, 267, 98, 137, 114, 112, 112, 111, 3997 112, 175, 196, 217, 134, 112, 111, 111, 178, 201, 3998 58, 59, 169, 176, 147, 112, 112, 116, 136, 136, 3999 302, 143, 208, 111, 134, 208, 268, 149, 136, 136, 4000 137, 137, 137, 137, 114, 114, 136, 137, 114, 176, 4001 44, 45, 116, 186, 187, 188, 174, 176, 137, 112, 4002 175, 116, 188, 98, 136, 98, 136, 111, 111, 134, 4003 117, 136, 276, 313, 117, 118, 132, 168, 112, 137, 4004 137, 149, 149, 112, 112, 112, 112, 271, 42, 168, 4005 184, 185, 314, 132, 136, 176, 186, 112, 134, 176, 4006 134, 136, 112, 136, 112, 136, 98, 136, 98, 136, 4007 134, 302, 143, 141, 209, 112, 134, 112, 114, 137, 4008 137, 176, 98, 118, 132, 137, 210, 211, 217, 134, 4009 175, 175, 210, 178, 202, 230, 370, 178, 202, 112, 4010 136, 112, 136, 117, 112, 118, 114, 114, 168, 184, 4011 187, 189, 190, 136, 134, 187, 191, 192, 137, 111, 4012 154, 313, 361, 141, 137, 178, 202, 178, 202, 111, 4013 134, 141, 176, 181, 117, 187, 217, 175, 56, 181, 4014 194, 117, 187, 112, 232, 112, 137, 137, 296, 176, 4015 181, 134, 193, 194, 181, 194, 178, 178, 112, 112, 4016 112, 193, 137, 137, 178, 178, 137, 137 4094 4017 }; 4095 4018 … … 4928 4851 4929 4852 /* Line 1806 of yacc.c */ 4930 #line 30 6"parser.yy"4853 #line 305 "parser.yy" 4931 4854 { typedefTable.enterScope(); } 4932 4855 break; … … 4935 4858 4936 4859 /* Line 1806 of yacc.c */ 4937 #line 3 10"parser.yy"4860 #line 309 "parser.yy" 4938 4861 { typedefTable.leaveScope(); } 4939 4862 break; … … 4942 4865 4943 4866 /* Line 1806 of yacc.c */ 4867 #line 316 "parser.yy" 4868 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4869 break; 4870 4871 case 5: 4872 4873 /* Line 1806 of yacc.c */ 4944 4874 #line 317 "parser.yy" 4945 { (yyval.en) = new ExpressionNode( build_constant Integer( *(yyvsp[(1) - (1)].tok) ) ); }4946 break; 4947 4948 case 5:4875 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4876 break; 4877 4878 case 6: 4949 4879 4950 4880 /* Line 1806 of yacc.c */ … … 4953 4883 break; 4954 4884 4955 case 6:4885 case 7: 4956 4886 4957 4887 /* Line 1806 of yacc.c */ … … 4960 4890 break; 4961 4891 4962 case 7:4892 case 8: 4963 4893 4964 4894 /* Line 1806 of yacc.c */ 4965 4895 #line 320 "parser.yy" 4966 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }4967 break;4968 4969 case 8:4970 4971 /* Line 1806 of yacc.c */4972 #line 321 "parser.yy"4973 4896 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 4974 4897 break; … … 4977 4900 4978 4901 /* Line 1806 of yacc.c */ 4979 #line 34 6"parser.yy"4902 #line 345 "parser.yy" 4980 4903 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 4981 4904 break; … … 4984 4907 4985 4908 /* Line 1806 of yacc.c */ 4986 #line 3 50"parser.yy"4909 #line 349 "parser.yy" 4987 4910 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 4988 4911 break; … … 4991 4914 4992 4915 /* Line 1806 of yacc.c */ 4993 #line 35 2"parser.yy"4916 #line 351 "parser.yy" 4994 4917 { 4995 4918 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st … … 5002 4925 5003 4926 /* Line 1806 of yacc.c */ 5004 #line 36 3"parser.yy"4927 #line 362 "parser.yy" 5005 4928 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5006 4929 break; … … 5009 4932 5010 4933 /* Line 1806 of yacc.c */ 5011 #line 36 5"parser.yy"5012 { (yyval.en) = new ExpressionNode( build_ constantZeroOne( *(yyvsp[(1) - (1)].tok) ) ); }4934 #line 364 "parser.yy" 4935 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5013 4936 break; 5014 4937 … … 5016 4939 5017 4940 /* Line 1806 of yacc.c */ 5018 #line 36 8"parser.yy"4941 #line 367 "parser.yy" 5019 4942 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5020 4943 break; … … 5023 4946 5024 4947 /* Line 1806 of yacc.c */ 5025 #line 3 70"parser.yy"4948 #line 369 "parser.yy" 5026 4949 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 5027 4950 break; … … 5030 4953 5031 4954 /* Line 1806 of yacc.c */ 5032 #line 3 80"parser.yy"4955 #line 379 "parser.yy" 5033 4956 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 5034 4957 break; … … 5037 4960 5038 4961 /* Line 1806 of yacc.c */ 5039 #line 38 2"parser.yy"4962 #line 381 "parser.yy" 5040 4963 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 5041 4964 break; … … 5044 4967 5045 4968 /* Line 1806 of yacc.c */ 5046 #line 38 4"parser.yy"4969 #line 383 "parser.yy" 5047 4970 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5048 4971 break; … … 5051 4974 5052 4975 /* Line 1806 of yacc.c */ 5053 #line 38 6"parser.yy"4976 #line 385 "parser.yy" 5054 4977 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5055 4978 break; … … 5058 4981 5059 4982 /* Line 1806 of yacc.c */ 5060 #line 38 8"parser.yy"4983 #line 387 "parser.yy" 5061 4984 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ) ) ); } 5062 4985 break; … … 5065 4988 5066 4989 /* Line 1806 of yacc.c */ 5067 #line 3 90"parser.yy"4990 #line 389 "parser.yy" 5068 4991 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5069 4992 break; … … 5072 4995 5073 4996 /* Line 1806 of yacc.c */ 5074 #line 39 2"parser.yy"4997 #line 391 "parser.yy" 5075 4998 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5076 4999 break; … … 5079 5002 5080 5003 /* Line 1806 of yacc.c */ 5081 #line 39 4"parser.yy"5004 #line 393 "parser.yy" 5082 5005 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 5083 5006 break; … … 5086 5009 5087 5010 /* Line 1806 of yacc.c */ 5088 #line 39 6"parser.yy"5011 #line 395 "parser.yy" 5089 5012 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 5090 5013 break; … … 5093 5016 5094 5017 /* Line 1806 of yacc.c */ 5095 #line 39 8"parser.yy"5018 #line 397 "parser.yy" 5096 5019 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 5097 5020 break; … … 5100 5023 5101 5024 /* Line 1806 of yacc.c */ 5102 #line 400"parser.yy"5025 #line 399 "parser.yy" 5103 5026 { 5104 5027 Token fn; … … 5111 5034 5112 5035 /* Line 1806 of yacc.c */ 5113 #line 4 10"parser.yy"5036 #line 409 "parser.yy" 5114 5037 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 5115 5038 break; … … 5118 5041 5119 5042 /* Line 1806 of yacc.c */ 5120 #line 415 "parser.yy" 5043 #line 414 "parser.yy" 5044 { (yyval.en) = 0; } 5045 break; 5046 5047 case 43: 5048 5049 /* Line 1806 of yacc.c */ 5050 #line 420 "parser.yy" 5051 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5052 break; 5053 5054 case 45: 5055 5056 /* Line 1806 of yacc.c */ 5057 #line 426 "parser.yy" 5058 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (2)].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[(2) - (2)].en) ) ) ); } 5059 break; 5060 5061 case 46: 5062 5063 /* Line 1806 of yacc.c */ 5064 #line 428 "parser.yy" 5065 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (6)].tok) ) ), build_tuple( (yyvsp[(4) - (6)].en) ) ) ); } 5066 break; 5067 5068 case 47: 5069 5070 /* Line 1806 of yacc.c */ 5071 #line 430 "parser.yy" 5072 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5073 break; 5074 5075 case 48: 5076 5077 /* Line 1806 of yacc.c */ 5078 #line 432 "parser.yy" 5079 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5080 break; 5081 5082 case 49: 5083 5084 /* Line 1806 of yacc.c */ 5085 #line 434 "parser.yy" 5086 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5087 break; 5088 5089 case 50: 5090 5091 /* Line 1806 of yacc.c */ 5092 #line 436 "parser.yy" 5093 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5094 break; 5095 5096 case 51: 5097 5098 /* Line 1806 of yacc.c */ 5099 #line 441 "parser.yy" 5100 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5101 break; 5102 5103 case 52: 5104 5105 /* Line 1806 of yacc.c */ 5106 #line 443 "parser.yy" 5107 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5108 break; 5109 5110 case 53: 5111 5112 /* Line 1806 of yacc.c */ 5113 #line 445 "parser.yy" 5114 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5115 break; 5116 5117 case 54: 5118 5119 /* Line 1806 of yacc.c */ 5120 #line 450 "parser.yy" 5121 5121 { (yyval.en) = nullptr; } 5122 5122 break; 5123 5123 5124 case 43:5125 5126 /* Line 1806 of yacc.c */5127 #line 421 "parser.yy"5128 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }5129 break;5130 5131 case 45:5132 5133 /* Line 1806 of yacc.c */5134 #line 427 "parser.yy"5135 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (2)].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[(2) - (2)].en) ) ) ); }5136 break;5137 5138 case 46:5139 5140 /* Line 1806 of yacc.c */5141 #line 429 "parser.yy"5142 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (6)].tok) ) ), build_tuple( (yyvsp[(4) - (6)].en) ) ) ); }5143 break;5144 5145 case 47:5146 5147 /* Line 1806 of yacc.c */5148 #line 431 "parser.yy"5149 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); }5150 break;5151 5152 case 48:5153 5154 /* Line 1806 of yacc.c */5155 #line 433 "parser.yy"5156 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }5157 break;5158 5159 case 49:5160 5161 /* Line 1806 of yacc.c */5162 #line 435 "parser.yy"5163 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); }5164 break;5165 5166 case 50:5167 5168 /* Line 1806 of yacc.c */5169 #line 437 "parser.yy"5170 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }5171 break;5172 5173 case 51:5174 5175 /* Line 1806 of yacc.c */5176 #line 442 "parser.yy"5177 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); }5178 break;5179 5180 case 52:5181 5182 /* Line 1806 of yacc.c */5183 #line 444 "parser.yy"5184 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); }5185 break;5186 5187 case 53:5188 5189 /* Line 1806 of yacc.c */5190 #line 446 "parser.yy"5191 {5192 if( (*(yyvsp[(1) - (2)].tok)) == "0" || (*(yyvsp[(1) - (2)].tok)) == "1" ) {5193 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantZeroOne( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) );5194 } else {5195 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) );5196 }5197 }5198 break;5199 5200 case 54:5201 5202 /* Line 1806 of yacc.c */5203 #line 457 "parser.yy"5204 { (yyval.en) = nullptr; }5205 break;5206 5207 5124 case 55: 5208 5125 5209 5126 /* Line 1806 of yacc.c */ 5210 #line 45 9"parser.yy"5127 #line 452 "parser.yy" 5211 5128 { 5212 5129 Expression * constant = build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ); … … 5218 5135 5219 5136 /* Line 1806 of yacc.c */ 5220 #line 4 70"parser.yy"5137 #line 463 "parser.yy" 5221 5138 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5222 5139 break; … … 5225 5142 5226 5143 /* Line 1806 of yacc.c */ 5144 #line 465 "parser.yy" 5145 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5146 break; 5147 5148 case 59: 5149 5150 /* Line 1806 of yacc.c */ 5151 #line 467 "parser.yy" 5152 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5153 break; 5154 5155 case 60: 5156 5157 /* Line 1806 of yacc.c */ 5227 5158 #line 472 "parser.yy" 5228 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }5229 break;5230 5231 case 59:5232 5233 /* Line 1806 of yacc.c */5234 #line 474 "parser.yy"5235 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); }5236 break;5237 5238 case 60:5239 5240 /* Line 1806 of yacc.c */5241 #line 479 "parser.yy"5242 5159 { 5243 5160 switch ( (yyvsp[(1) - (2)].op) ) { … … 5257 5174 5258 5175 /* Line 1806 of yacc.c */ 5259 #line 4 92"parser.yy"5176 #line 485 "parser.yy" 5260 5177 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5261 5178 break; … … 5264 5181 5265 5182 /* Line 1806 of yacc.c */ 5266 #line 4 94"parser.yy"5183 #line 487 "parser.yy" 5267 5184 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5268 5185 break; … … 5271 5188 5272 5189 /* Line 1806 of yacc.c */ 5273 #line 4 96"parser.yy"5190 #line 489 "parser.yy" 5274 5191 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5275 5192 break; … … 5278 5195 5279 5196 /* Line 1806 of yacc.c */ 5280 #line 49 8"parser.yy"5197 #line 491 "parser.yy" 5281 5198 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5282 5199 break; … … 5285 5202 5286 5203 /* Line 1806 of yacc.c */ 5287 #line 500"parser.yy"5204 #line 493 "parser.yy" 5288 5205 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5289 5206 break; … … 5292 5209 5293 5210 /* Line 1806 of yacc.c */ 5294 #line 502"parser.yy"5211 #line 495 "parser.yy" 5295 5212 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5296 5213 break; … … 5299 5216 5300 5217 /* Line 1806 of yacc.c */ 5301 #line 504"parser.yy"5218 #line 497 "parser.yy" 5302 5219 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5303 5220 break; … … 5306 5223 5307 5224 /* Line 1806 of yacc.c */ 5308 #line 506"parser.yy"5225 #line 499 "parser.yy" 5309 5226 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5310 5227 break; … … 5313 5230 5314 5231 /* Line 1806 of yacc.c */ 5315 #line 50 8"parser.yy"5232 #line 501 "parser.yy" 5316 5233 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5317 5234 break; … … 5320 5237 5321 5238 /* Line 1806 of yacc.c */ 5322 #line 5 10"parser.yy"5239 #line 503 "parser.yy" 5323 5240 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5324 5241 break; … … 5327 5244 5328 5245 /* Line 1806 of yacc.c */ 5246 #line 505 "parser.yy" 5247 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5248 break; 5249 5250 case 72: 5251 5252 /* Line 1806 of yacc.c */ 5253 #line 511 "parser.yy" 5254 { (yyval.op) = OperKinds::PointTo; } 5255 break; 5256 5257 case 73: 5258 5259 /* Line 1806 of yacc.c */ 5329 5260 #line 512 "parser.yy" 5330 { (yyval. en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); }5331 break; 5332 5333 case 7 2:5261 { (yyval.op) = OperKinds::AddressOf; } 5262 break; 5263 5264 case 74: 5334 5265 5335 5266 /* Line 1806 of yacc.c */ 5336 5267 #line 518 "parser.yy" 5337 { (yyval.op) = OperKinds:: PointTo; }5338 break; 5339 5340 case 7 3:5268 { (yyval.op) = OperKinds::UnPlus; } 5269 break; 5270 5271 case 75: 5341 5272 5342 5273 /* Line 1806 of yacc.c */ 5343 5274 #line 519 "parser.yy" 5344 { (yyval.op) = OperKinds::AddressOf; }5345 break;5346 5347 case 74:5348 5349 /* Line 1806 of yacc.c */5350 #line 525 "parser.yy"5351 { (yyval.op) = OperKinds::UnPlus; }5352 break;5353 5354 case 75:5355 5356 /* Line 1806 of yacc.c */5357 #line 526 "parser.yy"5358 5275 { (yyval.op) = OperKinds::UnMinus; } 5359 5276 break; … … 5362 5279 5363 5280 /* Line 1806 of yacc.c */ 5281 #line 520 "parser.yy" 5282 { (yyval.op) = OperKinds::Neg; } 5283 break; 5284 5285 case 77: 5286 5287 /* Line 1806 of yacc.c */ 5288 #line 521 "parser.yy" 5289 { (yyval.op) = OperKinds::BitNeg; } 5290 break; 5291 5292 case 79: 5293 5294 /* Line 1806 of yacc.c */ 5364 5295 #line 527 "parser.yy" 5365 { (yyval.op) = OperKinds::Neg; }5366 break;5367 5368 case 77:5369 5370 /* Line 1806 of yacc.c */5371 #line 528 "parser.yy"5372 { (yyval.op) = OperKinds::BitNeg; }5373 break;5374 5375 case 79:5376 5377 /* Line 1806 of yacc.c */5378 #line 534 "parser.yy"5379 5296 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5380 5297 break; … … 5383 5300 5384 5301 /* Line 1806 of yacc.c */ 5385 #line 5 42"parser.yy"5302 #line 535 "parser.yy" 5386 5303 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5387 5304 break; … … 5390 5307 5391 5308 /* Line 1806 of yacc.c */ 5392 #line 5 44"parser.yy"5309 #line 537 "parser.yy" 5393 5310 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5394 5311 break; … … 5397 5314 5398 5315 /* Line 1806 of yacc.c */ 5399 #line 5 46"parser.yy"5316 #line 539 "parser.yy" 5400 5317 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5401 5318 break; … … 5404 5321 5405 5322 /* Line 1806 of yacc.c */ 5406 #line 5 52"parser.yy"5323 #line 545 "parser.yy" 5407 5324 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5408 5325 break; … … 5411 5328 5412 5329 /* Line 1806 of yacc.c */ 5413 #line 5 54"parser.yy"5330 #line 547 "parser.yy" 5414 5331 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5415 5332 break; … … 5418 5335 5419 5336 /* Line 1806 of yacc.c */ 5420 #line 5 60"parser.yy"5337 #line 553 "parser.yy" 5421 5338 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5422 5339 break; … … 5425 5342 5426 5343 /* Line 1806 of yacc.c */ 5427 #line 5 62"parser.yy"5344 #line 555 "parser.yy" 5428 5345 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5429 5346 break; … … 5432 5349 5433 5350 /* Line 1806 of yacc.c */ 5434 #line 56 8"parser.yy"5351 #line 561 "parser.yy" 5435 5352 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5436 5353 break; … … 5439 5356 5440 5357 /* Line 1806 of yacc.c */ 5441 #line 5 70"parser.yy"5358 #line 563 "parser.yy" 5442 5359 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5443 5360 break; … … 5446 5363 5447 5364 /* Line 1806 of yacc.c */ 5448 #line 5 72"parser.yy"5365 #line 565 "parser.yy" 5449 5366 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5450 5367 break; … … 5453 5370 5454 5371 /* Line 1806 of yacc.c */ 5455 #line 5 74"parser.yy"5372 #line 567 "parser.yy" 5456 5373 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5457 5374 break; … … 5460 5377 5461 5378 /* Line 1806 of yacc.c */ 5462 #line 5 80"parser.yy"5379 #line 573 "parser.yy" 5463 5380 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5464 5381 break; … … 5467 5384 5468 5385 /* Line 1806 of yacc.c */ 5469 #line 5 82"parser.yy"5386 #line 575 "parser.yy" 5470 5387 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5471 5388 break; … … 5474 5391 5475 5392 /* Line 1806 of yacc.c */ 5476 #line 58 8"parser.yy"5393 #line 581 "parser.yy" 5477 5394 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5478 5395 break; … … 5481 5398 5482 5399 /* Line 1806 of yacc.c */ 5483 #line 5 94"parser.yy"5400 #line 587 "parser.yy" 5484 5401 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5485 5402 break; … … 5488 5405 5489 5406 /* Line 1806 of yacc.c */ 5490 #line 600"parser.yy"5407 #line 593 "parser.yy" 5491 5408 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5492 5409 break; … … 5495 5412 5496 5413 /* Line 1806 of yacc.c */ 5497 #line 606"parser.yy"5414 #line 599 "parser.yy" 5498 5415 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5499 5416 break; … … 5502 5419 5503 5420 /* Line 1806 of yacc.c */ 5504 #line 6 12"parser.yy"5421 #line 605 "parser.yy" 5505 5422 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5506 5423 break; … … 5509 5426 5510 5427 /* Line 1806 of yacc.c */ 5511 #line 61 8"parser.yy"5428 #line 611 "parser.yy" 5512 5429 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5513 5430 break; … … 5516 5433 5517 5434 /* Line 1806 of yacc.c */ 5518 #line 6 21"parser.yy"5435 #line 614 "parser.yy" 5519 5436 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5520 5437 break; … … 5523 5440 5524 5441 /* Line 1806 of yacc.c */ 5442 #line 627 "parser.yy" 5443 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5444 break; 5445 5446 case 114: 5447 5448 /* Line 1806 of yacc.c */ 5525 5449 #line 634 "parser.yy" 5526 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5527 break; 5528 5529 case 114: 5450 { (yyval.en) = nullptr; } 5451 break; 5452 5453 case 116: 5454 5455 /* Line 1806 of yacc.c */ 5456 #line 639 "parser.yy" 5457 { (yyval.op) = OperKinds::Assign; } 5458 break; 5459 5460 case 117: 5461 5462 /* Line 1806 of yacc.c */ 5463 #line 640 "parser.yy" 5464 { (yyval.op) = OperKinds::AtAssn; } 5465 break; 5466 5467 case 118: 5530 5468 5531 5469 /* Line 1806 of yacc.c */ 5532 5470 #line 641 "parser.yy" 5533 { (yyval.en) = nullptr; } 5534 break; 5535 5536 case 116: 5471 { (yyval.op) = OperKinds::MulAssn; } 5472 break; 5473 5474 case 119: 5475 5476 /* Line 1806 of yacc.c */ 5477 #line 642 "parser.yy" 5478 { (yyval.op) = OperKinds::DivAssn; } 5479 break; 5480 5481 case 120: 5482 5483 /* Line 1806 of yacc.c */ 5484 #line 643 "parser.yy" 5485 { (yyval.op) = OperKinds::ModAssn; } 5486 break; 5487 5488 case 121: 5489 5490 /* Line 1806 of yacc.c */ 5491 #line 644 "parser.yy" 5492 { (yyval.op) = OperKinds::PlusAssn; } 5493 break; 5494 5495 case 122: 5496 5497 /* Line 1806 of yacc.c */ 5498 #line 645 "parser.yy" 5499 { (yyval.op) = OperKinds::MinusAssn; } 5500 break; 5501 5502 case 123: 5537 5503 5538 5504 /* Line 1806 of yacc.c */ 5539 5505 #line 646 "parser.yy" 5540 { (yyval.op) = OperKinds:: Assign; }5541 break; 5542 5543 case 1 17:5506 { (yyval.op) = OperKinds::LSAssn; } 5507 break; 5508 5509 case 124: 5544 5510 5545 5511 /* Line 1806 of yacc.c */ 5546 5512 #line 647 "parser.yy" 5547 { (yyval.op) = OperKinds:: AtAssn; }5548 break; 5549 5550 case 1 18:5513 { (yyval.op) = OperKinds::RSAssn; } 5514 break; 5515 5516 case 125: 5551 5517 5552 5518 /* Line 1806 of yacc.c */ 5553 5519 #line 648 "parser.yy" 5554 { (yyval.op) = OperKinds:: MulAssn; }5555 break; 5556 5557 case 1 19:5520 { (yyval.op) = OperKinds::AndAssn; } 5521 break; 5522 5523 case 126: 5558 5524 5559 5525 /* Line 1806 of yacc.c */ 5560 5526 #line 649 "parser.yy" 5561 { (yyval.op) = OperKinds:: DivAssn; }5562 break; 5563 5564 case 12 0:5527 { (yyval.op) = OperKinds::ERAssn; } 5528 break; 5529 5530 case 127: 5565 5531 5566 5532 /* Line 1806 of yacc.c */ 5567 5533 #line 650 "parser.yy" 5568 { (yyval.op) = OperKinds::ModAssn; }5569 break;5570 5571 case 121:5572 5573 /* Line 1806 of yacc.c */5574 #line 651 "parser.yy"5575 { (yyval.op) = OperKinds::PlusAssn; }5576 break;5577 5578 case 122:5579 5580 /* Line 1806 of yacc.c */5581 #line 652 "parser.yy"5582 { (yyval.op) = OperKinds::MinusAssn; }5583 break;5584 5585 case 123:5586 5587 /* Line 1806 of yacc.c */5588 #line 653 "parser.yy"5589 { (yyval.op) = OperKinds::LSAssn; }5590 break;5591 5592 case 124:5593 5594 /* Line 1806 of yacc.c */5595 #line 654 "parser.yy"5596 { (yyval.op) = OperKinds::RSAssn; }5597 break;5598 5599 case 125:5600 5601 /* Line 1806 of yacc.c */5602 #line 655 "parser.yy"5603 { (yyval.op) = OperKinds::AndAssn; }5604 break;5605 5606 case 126:5607 5608 /* Line 1806 of yacc.c */5609 #line 656 "parser.yy"5610 { (yyval.op) = OperKinds::ERAssn; }5611 break;5612 5613 case 127:5614 5615 /* Line 1806 of yacc.c */5616 #line 657 "parser.yy"5617 5534 { (yyval.op) = OperKinds::OrAssn; } 5618 5535 break; … … 5621 5538 5622 5539 /* Line 1806 of yacc.c */ 5623 #line 66 8"parser.yy"5540 #line 661 "parser.yy" 5624 5541 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5625 5542 break; … … 5628 5545 5629 5546 /* Line 1806 of yacc.c */ 5630 #line 6 70"parser.yy"5547 #line 663 "parser.yy" 5631 5548 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5632 5549 break; … … 5635 5552 5636 5553 /* Line 1806 of yacc.c */ 5637 #line 6 76"parser.yy"5554 #line 669 "parser.yy" 5638 5555 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5639 5556 break; … … 5642 5559 5643 5560 /* Line 1806 of yacc.c */ 5644 #line 6 82"parser.yy"5561 #line 675 "parser.yy" 5645 5562 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5646 5563 break; … … 5649 5566 5650 5567 /* Line 1806 of yacc.c */ 5651 #line 68 7"parser.yy"5652 { (yyval.en) = nullptr; }5568 #line 680 "parser.yy" 5569 { (yyval.en) = 0; } 5653 5570 break; 5654 5571 … … 5656 5573 5657 5574 /* Line 1806 of yacc.c */ 5575 #line 689 "parser.yy" 5576 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5577 break; 5578 5579 case 144: 5580 5581 /* Line 1806 of yacc.c */ 5658 5582 #line 696 "parser.yy" 5659 { (yyval.sn) = (yyvsp[(1) - (1)].sn); }5660 break;5661 5662 case 144:5663 5664 /* Line 1806 of yacc.c */5665 #line 703 "parser.yy"5666 5583 { 5667 5584 Token fn; … … 5674 5591 5675 5592 /* Line 1806 of yacc.c */ 5676 #line 7 13"parser.yy"5593 #line 706 "parser.yy" 5677 5594 { 5678 5595 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5683 5600 5684 5601 /* Line 1806 of yacc.c */ 5602 #line 713 "parser.yy" 5603 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5604 break; 5605 5606 case 147: 5607 5608 /* Line 1806 of yacc.c */ 5685 5609 #line 720 "parser.yy" 5686 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); }5687 break;5688 5689 case 147:5690 5691 /* Line 1806 of yacc.c */5692 #line 727 "parser.yy"5693 5610 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5694 5611 break; … … 5697 5614 5698 5615 /* Line 1806 of yacc.c */ 5616 #line 726 "parser.yy" 5617 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5618 break; 5619 5620 case 150: 5621 5622 /* Line 1806 of yacc.c */ 5623 #line 731 "parser.yy" 5624 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5625 break; 5626 5627 case 151: 5628 5629 /* Line 1806 of yacc.c */ 5699 5630 #line 733 "parser.yy" 5700 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }5701 break;5702 5703 case 150:5704 5705 /* Line 1806 of yacc.c */5706 #line 738 "parser.yy"5707 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }5708 break;5709 5710 case 151:5711 5712 /* Line 1806 of yacc.c */5713 #line 740 "parser.yy"5714 5631 { // mark all fields in list 5715 5632 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 5722 5639 5723 5640 /* Line 1806 of yacc.c */ 5641 #line 739 "parser.yy" 5642 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5643 break; 5644 5645 case 155: 5646 5647 /* Line 1806 of yacc.c */ 5724 5648 #line 746 "parser.yy" 5725 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }5726 break;5727 5728 case 155:5729 5730 /* Line 1806 of yacc.c */5731 #line 753 "parser.yy"5732 5649 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5733 5650 break; … … 5736 5653 5737 5654 /* Line 1806 of yacc.c */ 5738 #line 75 8"parser.yy"5655 #line 751 "parser.yy" 5739 5656 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5740 5657 break; … … 5743 5660 5744 5661 /* Line 1806 of yacc.c */ 5745 #line 7 64"parser.yy"5662 #line 757 "parser.yy" 5746 5663 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5747 5664 break; … … 5750 5667 5751 5668 /* Line 1806 of yacc.c */ 5752 #line 7 66"parser.yy"5669 #line 759 "parser.yy" 5753 5670 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5754 5671 break; … … 5757 5674 5758 5675 /* Line 1806 of yacc.c */ 5759 #line 76 8"parser.yy"5676 #line 761 "parser.yy" 5760 5677 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5761 5678 break; … … 5764 5681 5765 5682 /* Line 1806 of yacc.c */ 5766 #line 7 70"parser.yy"5683 #line 763 "parser.yy" 5767 5684 { 5768 5685 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5772 5689 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5773 5690 // statement. 5774 (yyval.sn) = (yyvsp[(7) - (9)].decl) ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;5691 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw; 5775 5692 } 5776 5693 break; … … 5779 5696 5780 5697 /* Line 1806 of yacc.c */ 5781 #line 7 80"parser.yy"5698 #line 773 "parser.yy" 5782 5699 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5783 5700 break; … … 5786 5703 5787 5704 /* Line 1806 of yacc.c */ 5788 #line 7 82"parser.yy"5705 #line 775 "parser.yy" 5789 5706 { 5790 5707 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5791 (yyval.sn) = (yyvsp[(7) - (9)].decl) ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;5708 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw; 5792 5709 } 5793 5710 break; … … 5796 5713 5797 5714 /* Line 1806 of yacc.c */ 5715 #line 785 "parser.yy" 5716 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5717 break; 5718 5719 case 164: 5720 5721 /* Line 1806 of yacc.c */ 5722 #line 787 "parser.yy" 5723 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5724 break; 5725 5726 case 166: 5727 5728 /* Line 1806 of yacc.c */ 5798 5729 #line 792 "parser.yy" 5799 { (yyval. en) = (yyvsp[(1) - (1)].en); }5800 break; 5801 5802 case 16 4:5730 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5731 break; 5732 5733 case 167: 5803 5734 5804 5735 /* Line 1806 of yacc.c */ 5805 5736 #line 794 "parser.yy" 5806 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5807 break; 5808 5809 case 166: 5737 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5738 break; 5739 5740 case 168: 5741 5742 /* Line 1806 of yacc.c */ 5743 #line 798 "parser.yy" 5744 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5745 break; 5746 5747 case 169: 5810 5748 5811 5749 /* Line 1806 of yacc.c */ 5812 5750 #line 799 "parser.yy" 5813 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5814 break; 5815 5816 case 167: 5817 5818 /* Line 1806 of yacc.c */ 5819 #line 801 "parser.yy" 5820 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5821 break; 5822 5823 case 168: 5751 { (yyval.sn) = new StatementNode( build_default() ); } 5752 break; 5753 5754 case 171: 5824 5755 5825 5756 /* Line 1806 of yacc.c */ 5826 5757 #line 805 "parser.yy" 5827 { (yyval.sn) = (yyvsp[(2) - (3)].sn); }5828 break;5829 5830 case 169:5831 5832 /* Line 1806 of yacc.c */5833 #line 806 "parser.yy"5834 { (yyval.sn) = new StatementNode( build_default() ); }5835 break;5836 5837 case 171:5838 5839 /* Line 1806 of yacc.c */5840 #line 812 "parser.yy"5841 5758 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5842 5759 break; … … 5845 5762 5846 5763 /* Line 1806 of yacc.c */ 5847 #line 8 16"parser.yy"5764 #line 809 "parser.yy" 5848 5765 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5849 5766 break; … … 5852 5769 5853 5770 /* Line 1806 of yacc.c */ 5854 #line 8 21"parser.yy"5855 { (yyval.sn) = nullptr; }5771 #line 814 "parser.yy" 5772 { (yyval.sn) = 0; } 5856 5773 break; 5857 5774 … … 5859 5776 5860 5777 /* Line 1806 of yacc.c */ 5778 #line 820 "parser.yy" 5779 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5780 break; 5781 5782 case 176: 5783 5784 /* Line 1806 of yacc.c */ 5785 #line 822 "parser.yy" 5786 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5787 break; 5788 5789 case 177: 5790 5791 /* Line 1806 of yacc.c */ 5861 5792 #line 827 "parser.yy" 5862 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5863 break; 5864 5865 case 176: 5866 5867 /* Line 1806 of yacc.c */ 5868 #line 829 "parser.yy" 5869 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5870 break; 5871 5872 case 177: 5873 5874 /* Line 1806 of yacc.c */ 5875 #line 834 "parser.yy" 5876 { (yyval.sn) = nullptr; } 5793 { (yyval.sn) = 0; } 5877 5794 break; 5878 5795 … … 5880 5797 5881 5798 /* Line 1806 of yacc.c */ 5882 #line 8 40"parser.yy"5799 #line 833 "parser.yy" 5883 5800 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5884 5801 break; … … 5887 5804 5888 5805 /* Line 1806 of yacc.c */ 5889 #line 8 42"parser.yy"5806 #line 835 "parser.yy" 5890 5807 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5891 5808 break; … … 5894 5811 5895 5812 /* Line 1806 of yacc.c */ 5813 #line 837 "parser.yy" 5814 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5815 break; 5816 5817 case 182: 5818 5819 /* Line 1806 of yacc.c */ 5820 #line 839 "parser.yy" 5821 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5822 break; 5823 5824 case 183: 5825 5826 /* Line 1806 of yacc.c */ 5896 5827 #line 844 "parser.yy" 5897 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }5898 break;5899 5900 case 182:5901 5902 /* Line 1806 of yacc.c */5903 #line 846 "parser.yy"5904 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }5905 break;5906 5907 case 183:5908 5909 /* Line 1806 of yacc.c */5910 #line 851 "parser.yy"5911 5828 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5912 5829 break; … … 5915 5832 5916 5833 /* Line 1806 of yacc.c */ 5834 #line 850 "parser.yy" 5835 { (yyval.sn) = 0; } 5836 break; 5837 5838 case 186: 5839 5840 /* Line 1806 of yacc.c */ 5841 #line 852 "parser.yy" 5842 { (yyval.sn) = 0; } 5843 break; 5844 5845 case 187: 5846 5847 /* Line 1806 of yacc.c */ 5917 5848 #line 857 "parser.yy" 5918 { (yyval.sn) = n ullptr; }5919 break; 5920 5921 case 18 6:5849 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5850 break; 5851 5852 case 188: 5922 5853 5923 5854 /* Line 1806 of yacc.c */ 5924 5855 #line 859 "parser.yy" 5925 { (yyval.sn) = n ullptr; }5926 break; 5927 5928 case 18 7:5929 5930 /* Line 1806 of yacc.c */ 5931 #line 86 4"parser.yy"5932 { (yyval.sn) = new StatementNode( build_ while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }5933 break; 5934 5935 case 1 88:5856 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5857 break; 5858 5859 case 189: 5860 5861 /* Line 1806 of yacc.c */ 5862 #line 861 "parser.yy" 5863 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5864 break; 5865 5866 case 190: 5936 5867 5937 5868 /* Line 1806 of yacc.c */ 5938 5869 #line 866 "parser.yy" 5939 { (yyval. sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true) ); }5940 break; 5941 5942 case 1 89:5870 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5871 break; 5872 5873 case 191: 5943 5874 5944 5875 /* Line 1806 of yacc.c */ 5945 5876 #line 868 "parser.yy" 5946 { (yyval. sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn)) ); }5947 break; 5948 5949 case 19 0:5877 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5878 break; 5879 5880 case 192: 5950 5881 5951 5882 /* Line 1806 of yacc.c */ 5952 5883 #line 873 "parser.yy" 5953 { (yyval. fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }5954 break; 5955 5956 case 19 1:5957 5958 /* Line 1806 of yacc.c */ 5959 #line 87 5"parser.yy"5960 { (yyval. fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }5961 break; 5962 5963 case 19 2:5884 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5885 break; 5886 5887 case 193: 5888 5889 /* Line 1806 of yacc.c */ 5890 #line 877 "parser.yy" 5891 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5892 break; 5893 5894 case 194: 5964 5895 5965 5896 /* Line 1806 of yacc.c */ 5966 5897 #line 880 "parser.yy" 5967 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto) ); }5968 break; 5969 5970 case 19 3:5898 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5899 break; 5900 5901 case 195: 5971 5902 5972 5903 /* Line 1806 of yacc.c */ 5973 5904 #line 884 "parser.yy" 5974 { (yyval.sn) = new StatementNode( build_ computedgoto( (yyvsp[(3) - (4)].en)) ); }5975 break; 5976 5977 case 19 4:5905 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5906 break; 5907 5908 case 196: 5978 5909 5979 5910 /* Line 1806 of yacc.c */ 5980 5911 #line 887 "parser.yy" 5981 { (yyval.sn) = new StatementNode( build_branch( BranchStmt:: Continue) ); }5982 break; 5983 5984 case 19 5:5912 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5913 break; 5914 5915 case 197: 5985 5916 5986 5917 /* Line 1806 of yacc.c */ 5987 5918 #line 891 "parser.yy" 5988 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); }5989 break;5990 5991 case 196:5992 5993 /* Line 1806 of yacc.c */5994 #line 894 "parser.yy"5995 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }5996 break;5997 5998 case 197:5999 6000 /* Line 1806 of yacc.c */6001 #line 898 "parser.yy"6002 5919 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 6003 5920 break; … … 6006 5923 6007 5924 /* Line 1806 of yacc.c */ 6008 #line 900"parser.yy"5925 #line 893 "parser.yy" 6009 5926 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 6010 5927 break; … … 6013 5930 6014 5931 /* Line 1806 of yacc.c */ 6015 #line 902"parser.yy"5932 #line 895 "parser.yy" 6016 5933 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6017 5934 break; … … 6020 5937 6021 5938 /* Line 1806 of yacc.c */ 5939 #line 897 "parser.yy" 5940 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5941 break; 5942 5943 case 201: 5944 5945 /* Line 1806 of yacc.c */ 5946 #line 899 "parser.yy" 5947 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 5948 break; 5949 5950 case 202: 5951 5952 /* Line 1806 of yacc.c */ 6022 5953 #line 904 "parser.yy" 6023 { (yyval.sn) = new StatementNode( build_t hrow( (yyvsp[(2) - (3)].en)) ); }6024 break; 6025 6026 case 20 1:5954 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 5955 break; 5956 5957 case 203: 6027 5958 6028 5959 /* Line 1806 of yacc.c */ 6029 5960 #line 906 "parser.yy" 6030 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); }6031 break;6032 6033 case 202:6034 6035 /* Line 1806 of yacc.c */6036 #line 911 "parser.yy"6037 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); }6038 break;6039 6040 case 203:6041 6042 /* Line 1806 of yacc.c */6043 #line 913 "parser.yy"6044 5961 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6045 5962 break; … … 6048 5965 6049 5966 /* Line 1806 of yacc.c */ 5967 #line 908 "parser.yy" 5968 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 5969 break; 5970 5971 case 206: 5972 5973 /* Line 1806 of yacc.c */ 6050 5974 #line 915 "parser.yy" 6051 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); }6052 break;6053 6054 case 206:6055 6056 /* Line 1806 of yacc.c */6057 #line 922 "parser.yy"6058 5975 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6059 5976 break; … … 6062 5979 6063 5980 /* Line 1806 of yacc.c */ 6064 #line 9 24"parser.yy"5981 #line 917 "parser.yy" 6065 5982 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6066 5983 break; … … 6069 5986 6070 5987 /* Line 1806 of yacc.c */ 5988 #line 919 "parser.yy" 5989 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5990 break; 5991 5992 case 209: 5993 5994 /* Line 1806 of yacc.c */ 5995 #line 921 "parser.yy" 5996 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5997 break; 5998 5999 case 210: 6000 6001 /* Line 1806 of yacc.c */ 6071 6002 #line 926 "parser.yy" 6072 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true) ); }6073 break; 6074 6075 case 2 09:6003 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6004 break; 6005 6006 case 211: 6076 6007 6077 6008 /* Line 1806 of yacc.c */ 6078 6009 #line 928 "parser.yy" 6079 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - ( 6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true) ) ); }6080 break; 6081 6082 case 21 0:6083 6084 /* Line 1806 of yacc.c */ 6085 #line 93 3"parser.yy"6010 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6011 break; 6012 6013 case 212: 6014 6015 /* Line 1806 of yacc.c */ 6016 #line 930 "parser.yy" 6086 6017 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6087 6018 break; 6088 6019 6089 case 21 1:6090 6091 /* Line 1806 of yacc.c */ 6092 #line 93 5"parser.yy"6020 case 213: 6021 6022 /* Line 1806 of yacc.c */ 6023 #line 932 "parser.yy" 6093 6024 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6094 6025 break; 6095 6026 6096 case 21 2:6027 case 214: 6097 6028 6098 6029 /* Line 1806 of yacc.c */ 6099 6030 #line 937 "parser.yy" 6100 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }6101 break;6102 6103 case 213:6104 6105 /* Line 1806 of yacc.c */6106 #line 939 "parser.yy"6107 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }6108 break;6109 6110 case 214:6111 6112 /* Line 1806 of yacc.c */6113 #line 944 "parser.yy"6114 6031 { 6115 6032 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); … … 6120 6037 6121 6038 /* Line 1806 of yacc.c */ 6122 #line 95 7"parser.yy"6039 #line 950 "parser.yy" 6123 6040 { 6124 6041 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6130 6047 6131 6048 /* Line 1806 of yacc.c */ 6132 #line 9 62"parser.yy"6049 #line 955 "parser.yy" 6133 6050 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6134 6051 break; … … 6137 6054 6138 6055 /* Line 1806 of yacc.c */ 6139 #line 9 64"parser.yy"6056 #line 957 "parser.yy" 6140 6057 { 6141 6058 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6147 6064 6148 6065 /* Line 1806 of yacc.c */ 6149 #line 9 73"parser.yy"6066 #line 966 "parser.yy" 6150 6067 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 6151 6068 break; … … 6154 6071 6155 6072 /* Line 1806 of yacc.c */ 6156 #line 9 75"parser.yy"6073 #line 968 "parser.yy" 6157 6074 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 6158 6075 break; … … 6161 6078 6162 6079 /* Line 1806 of yacc.c */ 6163 #line 97 7"parser.yy"6080 #line 970 "parser.yy" 6164 6081 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 6165 6082 break; … … 6168 6085 6169 6086 /* Line 1806 of yacc.c */ 6087 #line 972 "parser.yy" 6088 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); } 6089 break; 6090 6091 case 224: 6092 6093 /* Line 1806 of yacc.c */ 6094 #line 974 "parser.yy" 6095 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); } 6096 break; 6097 6098 case 225: 6099 6100 /* Line 1806 of yacc.c */ 6170 6101 #line 979 "parser.yy" 6171 { (yyval. sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); }6172 break; 6173 6174 case 22 4:6102 { (yyval.flag) = false; } 6103 break; 6104 6105 case 226: 6175 6106 6176 6107 /* Line 1806 of yacc.c */ 6177 6108 #line 981 "parser.yy" 6178 { (yyval. sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); }6179 break; 6180 6181 case 22 5:6109 { (yyval.flag) = true; } 6110 break; 6111 6112 case 227: 6182 6113 6183 6114 /* Line 1806 of yacc.c */ 6184 6115 #line 986 "parser.yy" 6185 { (yyval.flag) = false; } 6186 break; 6187 6188 case 226: 6189 6190 /* Line 1806 of yacc.c */ 6191 #line 988 "parser.yy" 6192 { (yyval.flag) = true; } 6193 break; 6194 6195 case 227: 6116 { (yyval.en) = 0; } 6117 break; 6118 6119 case 230: 6196 6120 6197 6121 /* Line 1806 of yacc.c */ 6198 6122 #line 993 "parser.yy" 6199 { (yyval.en) = nullptr; } 6200 break; 6201 6202 case 230: 6123 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6124 break; 6125 6126 case 231: 6127 6128 /* Line 1806 of yacc.c */ 6129 #line 998 "parser.yy" 6130 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6131 break; 6132 6133 case 232: 6203 6134 6204 6135 /* Line 1806 of yacc.c */ 6205 6136 #line 1000 "parser.yy" 6206 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }6207 break; 6208 6209 case 23 1:6137 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6138 break; 6139 6140 case 233: 6210 6141 6211 6142 /* Line 1806 of yacc.c */ 6212 6143 #line 1005 "parser.yy" 6213 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); }6214 break; 6215 6216 case 23 2:6144 { (yyval.en) = 0; } 6145 break; 6146 6147 case 234: 6217 6148 6218 6149 /* Line 1806 of yacc.c */ 6219 6150 #line 1007 "parser.yy" 6220 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en)) ); }6221 break; 6222 6223 case 23 3:6224 6225 /* Line 1806 of yacc.c */ 6226 #line 10 12"parser.yy"6227 { (yyval.en) = nullptr; }6228 break; 6229 6230 case 23 4:6151 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6152 break; 6153 6154 case 235: 6155 6156 /* Line 1806 of yacc.c */ 6157 #line 1009 "parser.yy" 6158 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6159 break; 6160 6161 case 236: 6231 6162 6232 6163 /* Line 1806 of yacc.c */ 6233 6164 #line 1014 "parser.yy" 6234 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }6235 break;6236 6237 case 235:6238 6239 /* Line 1806 of yacc.c */6240 #line 1017 "parser.yy"6241 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }6242 break;6243 6244 case 236:6245 6246 /* Line 1806 of yacc.c */6247 #line 1022 "parser.yy"6248 6165 { 6249 6166 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); … … 6255 6172 6256 6173 /* Line 1806 of yacc.c */ 6257 #line 10 27"parser.yy"6174 #line 1019 "parser.yy" 6258 6175 { 6259 6176 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); … … 6265 6182 6266 6183 /* Line 1806 of yacc.c */ 6267 #line 10 37"parser.yy"6268 { (yyval.decl) = nullptr; }6184 #line 1029 "parser.yy" 6185 { (yyval.decl) = 0; } 6269 6186 break; 6270 6187 … … 6272 6189 6273 6190 /* Line 1806 of yacc.c */ 6274 #line 10 44"parser.yy"6191 #line 1036 "parser.yy" 6275 6192 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6276 6193 break; … … 6279 6196 6280 6197 /* Line 1806 of yacc.c */ 6281 #line 104 9"parser.yy"6282 { (yyval.decl) = nullptr; }6198 #line 1041 "parser.yy" 6199 { (yyval.decl) = 0; } 6283 6200 break; 6284 6201 … … 6286 6203 6287 6204 /* Line 1806 of yacc.c */ 6288 #line 10 56"parser.yy"6205 #line 1048 "parser.yy" 6289 6206 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6290 6207 break; … … 6293 6210 6294 6211 /* Line 1806 of yacc.c */ 6295 #line 10 70"parser.yy"6212 #line 1062 "parser.yy" 6296 6213 {} 6297 6214 break; … … 6300 6217 6301 6218 /* Line 1806 of yacc.c */ 6302 #line 10 71"parser.yy"6219 #line 1063 "parser.yy" 6303 6220 {} 6304 6221 break; … … 6307 6224 6308 6225 /* Line 1806 of yacc.c */ 6309 #line 1 100"parser.yy"6226 #line 1092 "parser.yy" 6310 6227 { 6311 6228 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6317 6234 6318 6235 /* Line 1806 of yacc.c */ 6319 #line 1 107"parser.yy"6236 #line 1099 "parser.yy" 6320 6237 { 6321 6238 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6327 6244 6328 6245 /* Line 1806 of yacc.c */ 6329 #line 11 12"parser.yy"6246 #line 1104 "parser.yy" 6330 6247 { 6331 6248 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6337 6254 6338 6255 /* Line 1806 of yacc.c */ 6339 #line 11 22"parser.yy"6256 #line 1114 "parser.yy" 6340 6257 { 6341 6258 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6342 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ) ->addAsmName( (yyvsp[(3) - (3)].constant) );6259 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 6343 6260 } 6344 6261 break; … … 6347 6264 6348 6265 /* Line 1806 of yacc.c */ 6349 #line 11 27"parser.yy"6266 #line 1119 "parser.yy" 6350 6267 { 6351 6268 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6352 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ) ->addAsmName( (yyvsp[(3) - (3)].constant) );6269 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 6353 6270 } 6354 6271 break; … … 6357 6274 6358 6275 /* Line 1806 of yacc.c */ 6359 #line 11 32"parser.yy"6276 #line 1124 "parser.yy" 6360 6277 { 6361 6278 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); 6362 (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) ) ->addAsmName( (yyvsp[(4) - (4)].constant) );6279 (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) ); 6363 6280 } 6364 6281 break; … … 6367 6284 6368 6285 /* Line 1806 of yacc.c */ 6369 #line 11 40"parser.yy"6286 #line 1132 "parser.yy" 6370 6287 { 6371 6288 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6377 6294 6378 6295 /* Line 1806 of yacc.c */ 6379 #line 11 45"parser.yy"6296 #line 1137 "parser.yy" 6380 6297 { 6381 6298 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6387 6304 6388 6305 /* Line 1806 of yacc.c */ 6389 #line 11 50"parser.yy"6306 #line 1142 "parser.yy" 6390 6307 { 6391 6308 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6397 6314 6398 6315 /* Line 1806 of yacc.c */ 6399 #line 11 55"parser.yy"6316 #line 1147 "parser.yy" 6400 6317 { 6401 6318 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6407 6324 6408 6325 /* Line 1806 of yacc.c */ 6409 #line 11 60"parser.yy"6326 #line 1152 "parser.yy" 6410 6327 { 6411 6328 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6417 6334 6418 6335 /* Line 1806 of yacc.c */ 6419 #line 11 91"parser.yy"6336 #line 1183 "parser.yy" 6420 6337 { 6421 6338 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6426 6343 6427 6344 /* Line 1806 of yacc.c */ 6428 #line 11 95"parser.yy"6345 #line 1187 "parser.yy" 6429 6346 { 6430 6347 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6435 6352 6436 6353 /* Line 1806 of yacc.c */ 6437 #line 1 202"parser.yy"6354 #line 1194 "parser.yy" 6438 6355 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6439 6356 break; … … 6442 6359 6443 6360 /* Line 1806 of yacc.c */ 6444 #line 1 206"parser.yy"6361 #line 1198 "parser.yy" 6445 6362 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6446 6363 break; … … 6449 6366 6450 6367 /* Line 1806 of yacc.c */ 6451 #line 12 11"parser.yy"6368 #line 1203 "parser.yy" 6452 6369 { 6453 6370 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6459 6376 6460 6377 /* Line 1806 of yacc.c */ 6461 #line 12 16"parser.yy"6378 #line 1208 "parser.yy" 6462 6379 { 6463 6380 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6469 6386 6470 6387 /* Line 1806 of yacc.c */ 6471 #line 12 21"parser.yy"6388 #line 1213 "parser.yy" 6472 6389 { 6473 6390 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6479 6396 6480 6397 /* Line 1806 of yacc.c */ 6481 #line 12 32"parser.yy"6398 #line 1224 "parser.yy" 6482 6399 { 6483 6400 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6489 6406 6490 6407 /* Line 1806 of yacc.c */ 6491 #line 12 37"parser.yy"6408 #line 1229 "parser.yy" 6492 6409 { 6493 6410 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6499 6416 6500 6417 /* Line 1806 of yacc.c */ 6501 #line 12 42"parser.yy"6418 #line 1234 "parser.yy" 6502 6419 { 6503 6420 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6509 6426 6510 6427 /* Line 1806 of yacc.c */ 6511 #line 12 47"parser.yy"6428 #line 1239 "parser.yy" 6512 6429 { 6513 6430 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6519 6436 6520 6437 /* Line 1806 of yacc.c */ 6521 #line 12 52"parser.yy"6438 #line 1244 "parser.yy" 6522 6439 { 6523 6440 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6529 6446 6530 6447 /* Line 1806 of yacc.c */ 6531 #line 12 61"parser.yy"6448 #line 1253 "parser.yy" 6532 6449 { 6533 6450 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6539 6456 6540 6457 /* Line 1806 of yacc.c */ 6541 #line 12 66"parser.yy"6458 #line 1258 "parser.yy" 6542 6459 { 6543 6460 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6549 6466 6550 6467 /* Line 1806 of yacc.c */ 6551 #line 12 83"parser.yy"6468 #line 1275 "parser.yy" 6552 6469 { 6553 6470 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6554 (yyval.decl) = ( (yyvsp[(2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->add AsmName( (yyvsp[(3) - (4)].constant) )->addInitializer( (yyvsp[(4) - (4)].in) );6471 (yyval.decl) = ( (yyvsp[(2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addInitializer( (yyvsp[(4) - (4)].in) ); 6555 6472 } 6556 6473 break; … … 6559 6476 6560 6477 /* Line 1806 of yacc.c */ 6561 #line 128 8"parser.yy"6478 #line 1280 "parser.yy" 6562 6479 { 6563 6480 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6564 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->add AsmName( (yyvsp[(5) - (6)].constant) )->addInitializer( (yyvsp[(6) - (6)].in) ) ) );6481 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addInitializer( (yyvsp[(6) - (6)].in) ) ) ); 6565 6482 } 6566 6483 break; … … 6569 6486 6570 6487 /* Line 1806 of yacc.c */ 6571 #line 13 10"parser.yy"6572 { (yyval.decl) = nullptr; }6488 #line 1302 "parser.yy" 6489 { (yyval.decl) = 0; } 6573 6490 break; 6574 6491 … … 6576 6493 6577 6494 /* Line 1806 of yacc.c */ 6578 #line 13 22"parser.yy"6495 #line 1314 "parser.yy" 6579 6496 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6580 6497 break; … … 6583 6500 6584 6501 /* Line 1806 of yacc.c */ 6502 #line 1325 "parser.yy" 6503 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6504 break; 6505 6506 case 305: 6507 6508 /* Line 1806 of yacc.c */ 6509 #line 1327 "parser.yy" 6510 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6511 break; 6512 6513 case 306: 6514 6515 /* Line 1806 of yacc.c */ 6516 #line 1329 "parser.yy" 6517 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6518 break; 6519 6520 case 307: 6521 6522 /* Line 1806 of yacc.c */ 6523 #line 1331 "parser.yy" 6524 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6525 break; 6526 6527 case 308: 6528 6529 /* Line 1806 of yacc.c */ 6585 6530 #line 1333 "parser.yy" 6586 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Const); }6587 break; 6588 6589 case 30 5:6531 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6532 break; 6533 6534 case 309: 6590 6535 6591 6536 /* Line 1806 of yacc.c */ 6592 6537 #line 1335 "parser.yy" 6593 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }6594 break;6595 6596 case 306:6597 6598 /* Line 1806 of yacc.c */6599 #line 1337 "parser.yy"6600 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }6601 break;6602 6603 case 307:6604 6605 /* Line 1806 of yacc.c */6606 #line 1339 "parser.yy"6607 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }6608 break;6609 6610 case 308:6611 6612 /* Line 1806 of yacc.c */6613 #line 1341 "parser.yy"6614 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }6615 break;6616 6617 case 309:6618 6619 /* Line 1806 of yacc.c */6620 #line 1343 "parser.yy"6621 6538 { 6622 6539 typedefTable.enterScope(); … … 6627 6544 6628 6545 /* Line 1806 of yacc.c */ 6629 #line 13 47"parser.yy"6546 #line 1339 "parser.yy" 6630 6547 { 6631 6548 typedefTable.leaveScope(); … … 6637 6554 6638 6555 /* Line 1806 of yacc.c */ 6639 #line 13 56"parser.yy"6556 #line 1348 "parser.yy" 6640 6557 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6641 6558 break; … … 6644 6561 6645 6562 /* Line 1806 of yacc.c */ 6646 #line 135 8"parser.yy"6563 #line 1350 "parser.yy" 6647 6564 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6648 6565 break; … … 6651 6568 6652 6569 /* Line 1806 of yacc.c */ 6653 #line 136 9"parser.yy"6570 #line 1361 "parser.yy" 6654 6571 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6655 6572 break; … … 6658 6575 6659 6576 /* Line 1806 of yacc.c */ 6660 #line 13 74"parser.yy"6577 #line 1366 "parser.yy" 6661 6578 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6662 6579 break; … … 6665 6582 6666 6583 /* Line 1806 of yacc.c */ 6667 #line 13 76"parser.yy"6584 #line 1368 "parser.yy" 6668 6585 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6669 6586 break; … … 6672 6589 6673 6590 /* Line 1806 of yacc.c */ 6674 #line 137 8"parser.yy"6591 #line 1370 "parser.yy" 6675 6592 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6676 6593 break; … … 6679 6596 6680 6597 /* Line 1806 of yacc.c */ 6598 #line 1372 "parser.yy" 6599 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6600 break; 6601 6602 case 320: 6603 6604 /* Line 1806 of yacc.c */ 6605 #line 1375 "parser.yy" 6606 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 6607 break; 6608 6609 case 321: 6610 6611 /* Line 1806 of yacc.c */ 6612 #line 1377 "parser.yy" 6613 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6614 break; 6615 6616 case 322: 6617 6618 /* Line 1806 of yacc.c */ 6681 6619 #line 1380 "parser.yy" 6682 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }6683 break;6684 6685 case 320:6686 6687 /* Line 1806 of yacc.c */6688 #line 1383 "parser.yy"6689 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; }6690 break;6691 6692 case 321:6693 6694 /* Line 1806 of yacc.c */6695 #line 1385 "parser.yy"6696 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }6697 break;6698 6699 case 322:6700 6701 /* Line 1806 of yacc.c */6702 #line 1388 "parser.yy"6703 6620 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 6704 6621 break; … … 6707 6624 6708 6625 /* Line 1806 of yacc.c */ 6709 #line 13 90"parser.yy"6626 #line 1382 "parser.yy" 6710 6627 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6711 6628 break; … … 6714 6631 6715 6632 /* Line 1806 of yacc.c */ 6633 #line 1387 "parser.yy" 6634 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6635 break; 6636 6637 case 325: 6638 6639 /* Line 1806 of yacc.c */ 6640 #line 1389 "parser.yy" 6641 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6642 break; 6643 6644 case 326: 6645 6646 /* Line 1806 of yacc.c */ 6647 #line 1391 "parser.yy" 6648 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6649 break; 6650 6651 case 327: 6652 6653 /* Line 1806 of yacc.c */ 6654 #line 1393 "parser.yy" 6655 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6656 break; 6657 6658 case 328: 6659 6660 /* Line 1806 of yacc.c */ 6716 6661 #line 1395 "parser.yy" 6717 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Char); }6718 break; 6719 6720 case 32 5:6662 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6663 break; 6664 6665 case 329: 6721 6666 6722 6667 /* Line 1806 of yacc.c */ 6723 6668 #line 1397 "parser.yy" 6724 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Double); }6725 break; 6726 6727 case 3 26:6669 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6670 break; 6671 6672 case 330: 6728 6673 6729 6674 /* Line 1806 of yacc.c */ 6730 6675 #line 1399 "parser.yy" 6731 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Float); }6732 break; 6733 6734 case 3 27:6676 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6677 break; 6678 6679 case 331: 6735 6680 6736 6681 /* Line 1806 of yacc.c */ 6737 6682 #line 1401 "parser.yy" 6738 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Int); }6739 break; 6740 6741 case 3 28:6683 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6684 break; 6685 6686 case 332: 6742 6687 6743 6688 /* Line 1806 of yacc.c */ 6744 6689 #line 1403 "parser.yy" 6745 { (yyval.decl) = DeclarationNode::new Length( DeclarationNode::Long); }6746 break; 6747 6748 case 3 29:6690 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6691 break; 6692 6693 case 333: 6749 6694 6750 6695 /* Line 1806 of yacc.c */ 6751 6696 #line 1405 "parser.yy" 6752 { (yyval.decl) = DeclarationNode::new Length( DeclarationNode::Short); }6753 break; 6754 6755 case 33 0:6697 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6698 break; 6699 6700 case 334: 6756 6701 6757 6702 /* Line 1806 of yacc.c */ 6758 6703 #line 1407 "parser.yy" 6759 { (yyval.decl) = DeclarationNode::new SignedNess( DeclarationNode::Signed); }6760 break; 6761 6762 case 33 1:6704 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6705 break; 6706 6707 case 335: 6763 6708 6764 6709 /* Line 1806 of yacc.c */ 6765 6710 #line 1409 "parser.yy" 6766 { (yyval.decl) = DeclarationNode::new SignedNess( DeclarationNode::Unsigned); }6767 break; 6768 6769 case 33 2:6711 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6712 break; 6713 6714 case 336: 6770 6715 6771 6716 /* Line 1806 of yacc.c */ 6772 6717 #line 1411 "parser.yy" 6773 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }6774 break;6775 6776 case 333:6777 6778 /* Line 1806 of yacc.c */6779 #line 1413 "parser.yy"6780 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }6781 break;6782 6783 case 334:6784 6785 /* Line 1806 of yacc.c */6786 #line 1415 "parser.yy"6787 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); }6788 break;6789 6790 case 335:6791 6792 /* Line 1806 of yacc.c */6793 #line 1417 "parser.yy"6794 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); }6795 break;6796 6797 case 336:6798 6799 /* Line 1806 of yacc.c */6800 #line 1419 "parser.yy"6801 6718 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6802 6719 break; 6803 6720 6804 case 337:6805 6806 /* Line 1806 of yacc.c */6807 #line 1421 "parser.yy"6808 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); }6809 break;6810 6811 6721 case 338: 6812 6722 6813 6723 /* Line 1806 of yacc.c */ 6814 #line 1423 "parser.yy" 6815 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::One ); } 6724 #line 1418 "parser.yy" 6725 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6726 break; 6727 6728 case 339: 6729 6730 /* Line 1806 of yacc.c */ 6731 #line 1420 "parser.yy" 6732 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6816 6733 break; 6817 6734 … … 6819 6736 6820 6737 /* Line 1806 of yacc.c */ 6738 #line 1422 "parser.yy" 6739 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6740 break; 6741 6742 case 341: 6743 6744 /* Line 1806 of yacc.c */ 6745 #line 1424 "parser.yy" 6746 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6747 break; 6748 6749 case 343: 6750 6751 /* Line 1806 of yacc.c */ 6821 6752 #line 1430 "parser.yy" 6753 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6754 break; 6755 6756 case 345: 6757 6758 /* Line 1806 of yacc.c */ 6759 #line 1437 "parser.yy" 6822 6760 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6823 6761 break; 6824 6762 6825 case 34 1:6826 6827 /* Line 1806 of yacc.c */ 6828 #line 143 2"parser.yy"6763 case 346: 6764 6765 /* Line 1806 of yacc.c */ 6766 #line 1439 "parser.yy" 6829 6767 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6830 6768 break; 6831 6769 6832 case 342: 6833 6834 /* Line 1806 of yacc.c */ 6835 #line 1434 "parser.yy" 6770 case 347: 6771 6772 /* Line 1806 of yacc.c */ 6773 #line 1441 "parser.yy" 6774 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6775 break; 6776 6777 case 348: 6778 6779 /* Line 1806 of yacc.c */ 6780 #line 1446 "parser.yy" 6781 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6782 break; 6783 6784 case 349: 6785 6786 /* Line 1806 of yacc.c */ 6787 #line 1448 "parser.yy" 6788 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6789 break; 6790 6791 case 350: 6792 6793 /* Line 1806 of yacc.c */ 6794 #line 1450 "parser.yy" 6795 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6796 break; 6797 6798 case 351: 6799 6800 /* Line 1806 of yacc.c */ 6801 #line 1452 "parser.yy" 6802 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6803 break; 6804 6805 case 353: 6806 6807 /* Line 1806 of yacc.c */ 6808 #line 1458 "parser.yy" 6809 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6810 break; 6811 6812 case 354: 6813 6814 /* Line 1806 of yacc.c */ 6815 #line 1460 "parser.yy" 6816 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6817 break; 6818 6819 case 355: 6820 6821 /* Line 1806 of yacc.c */ 6822 #line 1462 "parser.yy" 6836 6823 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6837 6824 break; 6838 6825 6839 case 343: 6840 6841 /* Line 1806 of yacc.c */ 6842 #line 1436 "parser.yy" 6843 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6844 break; 6845 6846 case 345: 6847 6848 /* Line 1806 of yacc.c */ 6849 #line 1442 "parser.yy" 6850 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6851 break; 6852 6853 case 347: 6854 6855 /* Line 1806 of yacc.c */ 6856 #line 1449 "parser.yy" 6826 case 357: 6827 6828 /* Line 1806 of yacc.c */ 6829 #line 1468 "parser.yy" 6857 6830 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6858 6831 break; 6859 6832 6860 case 3 48:6861 6862 /* Line 1806 of yacc.c */ 6863 #line 14 51"parser.yy"6833 case 358: 6834 6835 /* Line 1806 of yacc.c */ 6836 #line 1470 "parser.yy" 6864 6837 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6865 6838 break; 6866 6839 6867 case 349: 6868 6869 /* Line 1806 of yacc.c */ 6870 #line 1453 "parser.yy" 6871 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6872 break; 6873 6874 case 350: 6875 6876 /* Line 1806 of yacc.c */ 6877 #line 1458 "parser.yy" 6878 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6879 break; 6880 6881 case 351: 6882 6883 /* Line 1806 of yacc.c */ 6884 #line 1460 "parser.yy" 6885 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6886 break; 6887 6888 case 352: 6889 6890 /* Line 1806 of yacc.c */ 6891 #line 1462 "parser.yy" 6892 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6893 break; 6894 6895 case 353: 6896 6897 /* Line 1806 of yacc.c */ 6898 #line 1464 "parser.yy" 6899 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6900 break; 6901 6902 case 355: 6903 6904 /* Line 1806 of yacc.c */ 6905 #line 1470 "parser.yy" 6840 case 360: 6841 6842 /* Line 1806 of yacc.c */ 6843 #line 1476 "parser.yy" 6906 6844 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6907 6845 break; 6908 6846 6909 case 3 56:6910 6911 /* Line 1806 of yacc.c */ 6912 #line 147 2"parser.yy"6847 case 361: 6848 6849 /* Line 1806 of yacc.c */ 6850 #line 1478 "parser.yy" 6913 6851 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6914 6852 break; 6915 6853 6916 case 3 57:6917 6918 /* Line 1806 of yacc.c */ 6919 #line 14 74"parser.yy"6854 case 362: 6855 6856 /* Line 1806 of yacc.c */ 6857 #line 1480 "parser.yy" 6920 6858 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6921 6859 break; 6922 6860 6923 case 359: 6924 6925 /* Line 1806 of yacc.c */ 6926 #line 1480 "parser.yy" 6927 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6928 break; 6929 6930 case 360: 6931 6932 /* Line 1806 of yacc.c */ 6933 #line 1482 "parser.yy" 6861 case 363: 6862 6863 /* Line 1806 of yacc.c */ 6864 #line 1485 "parser.yy" 6865 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6866 break; 6867 6868 case 364: 6869 6870 /* Line 1806 of yacc.c */ 6871 #line 1487 "parser.yy" 6872 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6873 break; 6874 6875 case 365: 6876 6877 /* Line 1806 of yacc.c */ 6878 #line 1489 "parser.yy" 6934 6879 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6935 6880 break; 6936 6881 6937 case 362: 6938 6939 /* Line 1806 of yacc.c */ 6940 #line 1488 "parser.yy" 6941 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6942 break; 6943 6944 case 363: 6945 6946 /* Line 1806 of yacc.c */ 6947 #line 1490 "parser.yy" 6948 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6949 break; 6950 6951 case 364: 6952 6953 /* Line 1806 of yacc.c */ 6954 #line 1492 "parser.yy" 6955 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6956 break; 6957 6958 case 365: 6959 6960 /* Line 1806 of yacc.c */ 6961 #line 1497 "parser.yy" 6962 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6963 break; 6964 6965 case 366: 6882 case 368: 6966 6883 6967 6884 /* Line 1806 of yacc.c */ 6968 6885 #line 1499 "parser.yy" 6969 { (yyval.decl) = DeclarationNode::new FromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl)); }6970 break; 6971 6972 case 36 7:6886 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 6887 break; 6888 6889 case 369: 6973 6890 6974 6891 /* Line 1806 of yacc.c */ 6975 6892 #line 1501 "parser.yy" 6976 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }6977 break;6978 6979 case 370:6980 6981 /* Line 1806 of yacc.c */6982 #line 1511 "parser.yy"6983 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); }6984 break;6985 6986 case 371:6987 6988 /* Line 1806 of yacc.c */6989 #line 1513 "parser.yy"6990 6893 { 6991 6894 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6994 6897 break; 6995 6898 6899 case 370: 6900 6901 /* Line 1806 of yacc.c */ 6902 #line 1506 "parser.yy" 6903 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6904 break; 6905 6906 case 371: 6907 6908 /* Line 1806 of yacc.c */ 6909 #line 1508 "parser.yy" 6910 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 6911 break; 6912 6996 6913 case 372: 6997 6914 6998 6915 /* Line 1806 of yacc.c */ 6999 #line 151 8"parser.yy"7000 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok)); }6916 #line 1510 "parser.yy" 6917 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 7001 6918 break; 7002 6919 … … 7004 6921 7005 6922 /* Line 1806 of yacc.c */ 7006 #line 15 20"parser.yy"7007 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true); }6923 #line 1512 "parser.yy" 6924 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7008 6925 break; 7009 6926 … … 7011 6928 7012 6929 /* Line 1806 of yacc.c */ 7013 #line 15 22"parser.yy"7014 { (yyval. decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }6930 #line 1517 "parser.yy" 6931 { (yyval.aggKey) = DeclarationNode::Struct; } 7015 6932 break; 7016 6933 … … 7018 6935 7019 6936 /* Line 1806 of yacc.c */ 6937 #line 1519 "parser.yy" 6938 { (yyval.aggKey) = DeclarationNode::Union; } 6939 break; 6940 6941 case 376: 6942 6943 /* Line 1806 of yacc.c */ 7020 6944 #line 1524 "parser.yy" 7021 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7022 break; 7023 7024 case 376: 7025 7026 /* Line 1806 of yacc.c */ 7027 #line 1529 "parser.yy" 7028 { (yyval.aggKey) = DeclarationNode::Struct; } 6945 { (yyval.decl) = 0; } 7029 6946 break; 7030 6947 … … 7032 6949 7033 6950 /* Line 1806 of yacc.c */ 7034 #line 1531 "parser.yy" 7035 { (yyval.aggKey) = DeclarationNode::Union; } 7036 break; 7037 7038 case 378: 7039 7040 /* Line 1806 of yacc.c */ 7041 #line 1536 "parser.yy" 7042 { (yyval.decl) = nullptr; } 6951 #line 1526 "parser.yy" 6952 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7043 6953 break; 7044 6954 … … 7046 6956 7047 6957 /* Line 1806 of yacc.c */ 7048 #line 153 8"parser.yy"7049 { (yyval.decl) = (yyvsp[( 1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }6958 #line 1532 "parser.yy" 6959 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7050 6960 break; 7051 6961 … … 7053 6963 7054 6964 /* Line 1806 of yacc.c */ 7055 #line 1544 "parser.yy" 7056 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7057 break; 7058 7059 case 383: 7060 7061 /* Line 1806 of yacc.c */ 7062 #line 1547 "parser.yy" 6965 #line 1535 "parser.yy" 7063 6966 { // mark all fields in list 7064 6967 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7068 6971 break; 7069 6972 6973 case 383: 6974 6975 /* Line 1806 of yacc.c */ 6976 #line 1545 "parser.yy" 6977 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6978 break; 6979 6980 case 384: 6981 6982 /* Line 1806 of yacc.c */ 6983 #line 1547 "parser.yy" 6984 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6985 break; 6986 7070 6987 case 385: 7071 6988 7072 6989 /* Line 1806 of yacc.c */ 7073 #line 15 57"parser.yy"7074 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->a ddName( (yyvsp[(2) - (2)].tok) ); }6990 #line 1549 "parser.yy" 6991 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7075 6992 break; 7076 6993 … … 7078 6995 7079 6996 /* Line 1806 of yacc.c */ 7080 #line 155 9"parser.yy"7081 { (yyval.decl) = (yyvsp[( 1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok)) ); }6997 #line 1554 "parser.yy" 6998 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7082 6999 break; 7083 7000 … … 7085 7002 7086 7003 /* Line 1806 of yacc.c */ 7004 #line 1556 "parser.yy" 7005 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7006 break; 7007 7008 case 388: 7009 7010 /* Line 1806 of yacc.c */ 7087 7011 #line 1561 "parser.yy" 7088 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7089 break; 7090 7091 case 388: 7012 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7013 break; 7014 7015 case 389: 7016 7017 /* Line 1806 of yacc.c */ 7018 #line 1563 "parser.yy" 7019 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7020 break; 7021 7022 case 390: 7092 7023 7093 7024 /* Line 1806 of yacc.c */ 7094 7025 #line 1566 "parser.yy" 7095 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7096 break; 7097 7098 case 389: 7099 7100 /* Line 1806 of yacc.c */ 7101 #line 1568 "parser.yy" 7102 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7103 break; 7104 7105 case 390: 7106 7107 /* Line 1806 of yacc.c */ 7108 #line 1573 "parser.yy" 7109 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7026 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7110 7027 break; 7111 7028 … … 7113 7030 7114 7031 /* Line 1806 of yacc.c */ 7032 #line 1569 "parser.yy" 7033 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7034 break; 7035 7036 case 393: 7037 7038 /* Line 1806 of yacc.c */ 7115 7039 #line 1575 "parser.yy" 7116 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7117 break; 7118 7119 case 392: 7120 7121 /* Line 1806 of yacc.c */ 7122 #line 1578 "parser.yy" 7123 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7124 break; 7125 7126 case 393: 7127 7128 /* Line 1806 of yacc.c */ 7129 #line 1581 "parser.yy" 7130 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7040 { (yyval.en) = 0; } 7041 break; 7042 7043 case 394: 7044 7045 /* Line 1806 of yacc.c */ 7046 #line 1577 "parser.yy" 7047 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7131 7048 break; 7132 7049 … … 7134 7051 7135 7052 /* Line 1806 of yacc.c */ 7136 #line 1587 "parser.yy" 7137 { (yyval.en) = nullptr; } 7138 break; 7139 7140 case 396: 7141 7142 /* Line 1806 of yacc.c */ 7143 #line 1589 "parser.yy" 7144 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7053 #line 1582 "parser.yy" 7054 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7145 7055 break; 7146 7056 … … 7148 7058 7149 7059 /* Line 1806 of yacc.c */ 7150 #line 1594 "parser.yy" 7151 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7152 break; 7153 7154 case 399: 7155 7156 /* Line 1806 of yacc.c */ 7157 #line 1603 "parser.yy" 7060 #line 1591 "parser.yy" 7158 7061 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 7159 7062 break; 7160 7063 7161 case 400:7162 7163 /* Line 1806 of yacc.c */ 7164 #line 1 605"parser.yy"7064 case 398: 7065 7066 /* Line 1806 of yacc.c */ 7067 #line 1593 "parser.yy" 7165 7068 { 7166 7069 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7169 7072 break; 7170 7073 7074 case 399: 7075 7076 /* Line 1806 of yacc.c */ 7077 #line 1598 "parser.yy" 7078 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7079 break; 7080 7081 case 400: 7082 7083 /* Line 1806 of yacc.c */ 7084 #line 1600 "parser.yy" 7085 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7086 break; 7087 7171 7088 case 401: 7172 7089 7173 7090 /* Line 1806 of yacc.c */ 7174 #line 16 10"parser.yy"7175 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }7091 #line 1605 "parser.yy" 7092 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7176 7093 break; 7177 7094 … … 7179 7096 7180 7097 /* Line 1806 of yacc.c */ 7098 #line 1607 "parser.yy" 7099 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7100 break; 7101 7102 case 403: 7103 7104 /* Line 1806 of yacc.c */ 7181 7105 #line 1612 "parser.yy" 7182 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7183 break; 7184 7185 case 403: 7186 7187 /* Line 1806 of yacc.c */ 7188 #line 1617 "parser.yy" 7189 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7106 { (yyval.en) = 0; } 7190 7107 break; 7191 7108 … … 7193 7110 7194 7111 /* Line 1806 of yacc.c */ 7195 #line 161 9"parser.yy"7196 { (yyval. decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) )); }7112 #line 1614 "parser.yy" 7113 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7197 7114 break; 7198 7115 … … 7200 7117 7201 7118 /* Line 1806 of yacc.c */ 7202 #line 1624 "parser.yy" 7203 { (yyval.en) = nullptr; } 7204 break; 7205 7206 case 406: 7207 7208 /* Line 1806 of yacc.c */ 7209 #line 1626 "parser.yy" 7210 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7211 break; 7212 7213 case 407: 7119 #line 1621 "parser.yy" 7120 { (yyval.decl) = 0; } 7121 break; 7122 7123 case 409: 7124 7125 /* Line 1806 of yacc.c */ 7126 #line 1629 "parser.yy" 7127 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7128 break; 7129 7130 case 410: 7131 7132 /* Line 1806 of yacc.c */ 7133 #line 1631 "parser.yy" 7134 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7135 break; 7136 7137 case 411: 7214 7138 7215 7139 /* Line 1806 of yacc.c */ 7216 7140 #line 1633 "parser.yy" 7217 { (yyval.decl) = nullptr; }7218 break; 7219 7220 case 41 1:7141 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7142 break; 7143 7144 case 413: 7221 7145 7222 7146 /* Line 1806 of yacc.c */ … … 7225 7149 break; 7226 7150 7227 case 41 2:7151 case 414: 7228 7152 7229 7153 /* Line 1806 of yacc.c */ 7230 7154 #line 1643 "parser.yy" 7155 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7156 break; 7157 7158 case 415: 7159 7160 /* Line 1806 of yacc.c */ 7161 #line 1645 "parser.yy" 7162 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7163 break; 7164 7165 case 417: 7166 7167 /* Line 1806 of yacc.c */ 7168 #line 1651 "parser.yy" 7169 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7170 break; 7171 7172 case 418: 7173 7174 /* Line 1806 of yacc.c */ 7175 #line 1656 "parser.yy" 7176 { (yyval.decl) = 0; } 7177 break; 7178 7179 case 421: 7180 7181 /* Line 1806 of yacc.c */ 7182 #line 1663 "parser.yy" 7231 7183 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7232 7184 break; 7233 7185 7234 case 413: 7235 7236 /* Line 1806 of yacc.c */ 7237 #line 1645 "parser.yy" 7238 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7239 break; 7240 7241 case 415: 7242 7243 /* Line 1806 of yacc.c */ 7244 #line 1653 "parser.yy" 7186 case 424: 7187 7188 /* Line 1806 of yacc.c */ 7189 #line 1670 "parser.yy" 7245 7190 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7246 7191 break; 7247 7192 7248 case 4 16:7249 7250 /* Line 1806 of yacc.c */ 7251 #line 16 55"parser.yy"7193 case 425: 7194 7195 /* Line 1806 of yacc.c */ 7196 #line 1672 "parser.yy" 7252 7197 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7253 7198 break; 7254 7199 7255 case 417:7256 7257 /* Line 1806 of yacc.c */7258 #line 1657 "parser.yy"7259 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }7260 break;7261 7262 case 419:7263 7264 /* Line 1806 of yacc.c */7265 #line 1663 "parser.yy"7266 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7267 break;7268 7269 case 420:7270 7271 /* Line 1806 of yacc.c */7272 #line 1668 "parser.yy"7273 { (yyval.decl) = nullptr; }7274 break;7275 7276 case 423:7277 7278 /* Line 1806 of yacc.c */7279 #line 1675 "parser.yy"7280 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }7281 break;7282 7283 case 426:7284 7285 /* Line 1806 of yacc.c */7286 #line 1682 "parser.yy"7287 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7288 break;7289 7290 7200 case 427: 7291 7201 7292 7202 /* Line 1806 of yacc.c */ 7203 #line 1681 "parser.yy" 7204 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7205 break; 7206 7207 case 428: 7208 7209 /* Line 1806 of yacc.c */ 7293 7210 #line 1684 "parser.yy" 7294 { (yyval.decl) = (yyvsp[(1) - ( 5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7211 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7295 7212 break; 7296 7213 … … 7298 7215 7299 7216 /* Line 1806 of yacc.c */ 7300 #line 16 93"parser.yy"7301 { (yyval.decl) = (yyvsp[( 1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }7302 break; 7303 7304 case 43 0:7217 #line 1686 "parser.yy" 7218 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7219 break; 7220 7221 case 434: 7305 7222 7306 7223 /* Line 1806 of yacc.c */ 7307 7224 #line 1696 "parser.yy" 7308 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7309 break; 7310 7311 case 431: 7312 7313 /* Line 1806 of yacc.c */ 7314 #line 1698 "parser.yy" 7315 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7225 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7316 7226 break; 7317 7227 … … 7319 7229 7320 7230 /* Line 1806 of yacc.c */ 7321 #line 1708 "parser.yy" 7322 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7323 break; 7324 7325 case 438: 7326 7327 /* Line 1806 of yacc.c */ 7328 #line 1714 "parser.yy" 7231 #line 1702 "parser.yy" 7329 7232 { 7330 7233 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7331 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].en) ? new InitializerNode( (yyvsp[(3) - (3)].en) ) : nullptr);7234 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 7332 7235 } 7333 7236 break; 7334 7237 7335 case 43 9:7336 7337 /* Line 1806 of yacc.c */ 7338 #line 17 19"parser.yy"7238 case 437: 7239 7240 /* Line 1806 of yacc.c */ 7241 #line 1707 "parser.yy" 7339 7242 { 7340 7243 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7341 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].en) ? new InitializerNode( (yyvsp[(3) - (3)].en) ) : nullptr);7244 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 7342 7245 } 7343 7246 break; 7344 7247 7248 case 439: 7249 7250 /* Line 1806 of yacc.c */ 7251 #line 1716 "parser.yy" 7252 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7253 break; 7254 7255 case 440: 7256 7257 /* Line 1806 of yacc.c */ 7258 #line 1725 "parser.yy" 7259 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7260 break; 7261 7345 7262 case 441: 7346 7263 7347 7264 /* Line 1806 of yacc.c */ 7348 #line 1728 "parser.yy" 7265 #line 1727 "parser.yy" 7266 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7267 break; 7268 7269 case 453: 7270 7271 /* Line 1806 of yacc.c */ 7272 #line 1752 "parser.yy" 7349 7273 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7350 7274 break; 7351 7275 7352 case 442: 7353 7354 /* Line 1806 of yacc.c */ 7355 #line 1737 "parser.yy" 7356 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7357 break; 7358 7359 case 443: 7360 7361 /* Line 1806 of yacc.c */ 7362 #line 1739 "parser.yy" 7363 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7364 break; 7365 7366 case 455: 7367 7368 /* Line 1806 of yacc.c */ 7369 #line 1764 "parser.yy" 7276 case 457: 7277 7278 /* Line 1806 of yacc.c */ 7279 #line 1760 "parser.yy" 7370 7280 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7371 7281 break; 7372 7282 7283 case 458: 7284 7285 /* Line 1806 of yacc.c */ 7286 #line 1765 "parser.yy" 7287 { (yyval.in) = 0; } 7288 break; 7289 7373 7290 case 459: 7374 7291 7375 7292 /* Line 1806 of yacc.c */ 7376 #line 17 72"parser.yy"7377 { (yyval. decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl)); }7293 #line 1767 "parser.yy" 7294 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7378 7295 break; 7379 7296 … … 7381 7298 7382 7299 /* Line 1806 of yacc.c */ 7383 #line 17 77"parser.yy"7384 { (yyval.in) = nullptr; }7300 #line 1769 "parser.yy" 7301 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7385 7302 break; 7386 7303 … … 7388 7305 7389 7306 /* Line 1806 of yacc.c */ 7307 #line 1773 "parser.yy" 7308 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7309 break; 7310 7311 case 462: 7312 7313 /* Line 1806 of yacc.c */ 7314 #line 1774 "parser.yy" 7315 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7316 break; 7317 7318 case 463: 7319 7320 /* Line 1806 of yacc.c */ 7390 7321 #line 1779 "parser.yy" 7391 { (yyval.in) = (yyvsp[(2) - (2)].in); }7392 break; 7393 7394 case 46 2:7322 { (yyval.in) = 0; } 7323 break; 7324 7325 case 465: 7395 7326 7396 7327 /* Line 1806 of yacc.c */ 7397 7328 #line 1781 "parser.yy" 7398 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7399 break; 7400 7401 case 463: 7402 7403 /* Line 1806 of yacc.c */ 7404 #line 1785 "parser.yy" 7405 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7406 break; 7407 7408 case 464: 7409 7410 /* Line 1806 of yacc.c */ 7411 #line 1786 "parser.yy" 7412 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7413 break; 7414 7415 case 465: 7416 7417 /* Line 1806 of yacc.c */ 7418 #line 1791 "parser.yy" 7419 { (yyval.in) = nullptr; } 7329 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7330 break; 7331 7332 case 466: 7333 7334 /* Line 1806 of yacc.c */ 7335 #line 1782 "parser.yy" 7336 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7420 7337 break; 7421 7338 … … 7423 7340 7424 7341 /* Line 1806 of yacc.c */ 7425 #line 1793 "parser.yy" 7426 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7427 break; 7428 7429 case 468: 7430 7431 /* Line 1806 of yacc.c */ 7432 #line 1794 "parser.yy" 7433 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7342 #line 1784 "parser.yy" 7343 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7434 7344 break; 7435 7345 … … 7437 7347 7438 7348 /* Line 1806 of yacc.c */ 7439 #line 1 796"parser.yy"7440 { (yyval. in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en)) ) ); }7349 #line 1800 "parser.yy" 7350 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7441 7351 break; 7442 7352 … … 7444 7354 7445 7355 /* Line 1806 of yacc.c */ 7356 #line 1806 "parser.yy" 7357 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7358 break; 7359 7360 case 472: 7361 7362 /* Line 1806 of yacc.c */ 7446 7363 #line 1812 "parser.yy" 7447 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[( 1) - (2)].tok) ) ); }7364 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7448 7365 break; 7449 7366 … … 7451 7368 7452 7369 /* Line 1806 of yacc.c */ 7453 #line 181 8"parser.yy"7454 { (yyval.en) = ( ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) )); }7370 #line 1815 "parser.yy" 7371 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7455 7372 break; 7456 7373 … … 7458 7375 7459 7376 /* Line 1806 of yacc.c */ 7460 #line 18 24"parser.yy"7461 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) )); }7377 #line 1817 "parser.yy" 7378 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7462 7379 break; 7463 7380 … … 7465 7382 7466 7383 /* Line 1806 of yacc.c */ 7467 #line 18 27"parser.yy"7468 { (yyval.en) = (yyvsp[(3) - (5)].en); }7384 #line 1819 "parser.yy" 7385 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7469 7386 break; 7470 7387 … … 7472 7389 7473 7390 /* Line 1806 of yacc.c */ 7474 #line 1829 "parser.yy" 7475 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7476 break; 7477 7478 case 477: 7479 7480 /* Line 1806 of yacc.c */ 7481 #line 1831 "parser.yy" 7482 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7391 #line 1821 "parser.yy" 7392 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7483 7393 break; 7484 7394 … … 7486 7396 7487 7397 /* Line 1806 of yacc.c */ 7488 #line 1833 "parser.yy" 7489 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7398 #line 1845 "parser.yy" 7399 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7400 break; 7401 7402 case 479: 7403 7404 /* Line 1806 of yacc.c */ 7405 #line 1847 "parser.yy" 7406 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7490 7407 break; 7491 7408 … … 7493 7410 7494 7411 /* Line 1806 of yacc.c */ 7412 #line 1849 "parser.yy" 7413 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7414 break; 7415 7416 case 482: 7417 7418 /* Line 1806 of yacc.c */ 7419 #line 1855 "parser.yy" 7420 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7421 break; 7422 7423 case 483: 7424 7425 /* Line 1806 of yacc.c */ 7495 7426 #line 1857 "parser.yy" 7496 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }7497 break;7498 7499 case 481:7500 7501 /* Line 1806 of yacc.c */7502 #line 1859 "parser.yy"7503 7427 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7504 7428 break; 7505 7429 7506 case 482:7507 7508 /* Line 1806 of yacc.c */7509 #line 1861 "parser.yy"7510 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }7511 break;7512 7513 7430 case 484: 7514 7431 7515 7432 /* Line 1806 of yacc.c */ 7516 #line 1867 "parser.yy" 7517 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7518 break; 7519 7520 case 485: 7521 7522 /* Line 1806 of yacc.c */ 7523 #line 1869 "parser.yy" 7524 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7433 #line 1862 "parser.yy" 7434 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7525 7435 break; 7526 7436 … … 7528 7438 7529 7439 /* Line 1806 of yacc.c */ 7530 #line 1874 "parser.yy" 7531 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7440 #line 1868 "parser.yy" 7441 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7442 break; 7443 7444 case 487: 7445 7446 /* Line 1806 of yacc.c */ 7447 #line 1873 "parser.yy" 7448 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7532 7449 break; 7533 7450 … … 7535 7452 7536 7453 /* Line 1806 of yacc.c */ 7537 #line 1880 "parser.yy" 7538 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7539 break; 7540 7541 case 489: 7454 #line 1875 "parser.yy" 7455 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7456 break; 7457 7458 case 490: 7459 7460 /* Line 1806 of yacc.c */ 7461 #line 1881 "parser.yy" 7462 { (yyval.tclass) = DeclarationNode::Otype; } 7463 break; 7464 7465 case 491: 7466 7467 /* Line 1806 of yacc.c */ 7468 #line 1883 "parser.yy" 7469 { (yyval.tclass) = DeclarationNode::Ftype; } 7470 break; 7471 7472 case 492: 7542 7473 7543 7474 /* Line 1806 of yacc.c */ 7544 7475 #line 1885 "parser.yy" 7545 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7546 break; 7547 7548 case 490: 7549 7550 /* Line 1806 of yacc.c */ 7551 #line 1887 "parser.yy" 7552 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7553 break; 7554 7555 case 492: 7556 7557 /* Line 1806 of yacc.c */ 7558 #line 1893 "parser.yy" 7559 { (yyval.tclass) = DeclarationNode::Otype; } 7476 { (yyval.tclass) = DeclarationNode::Dtype; } 7560 7477 break; 7561 7478 … … 7563 7480 7564 7481 /* Line 1806 of yacc.c */ 7565 #line 189 5"parser.yy"7566 { (yyval. tclass) = DeclarationNode::Ftype; }7482 #line 1890 "parser.yy" 7483 { (yyval.decl) = 0; } 7567 7484 break; 7568 7485 … … 7570 7487 7571 7488 /* Line 1806 of yacc.c */ 7489 #line 1892 "parser.yy" 7490 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7491 break; 7492 7493 case 495: 7494 7495 /* Line 1806 of yacc.c */ 7572 7496 #line 1897 "parser.yy" 7573 { (yyval.tclass) = DeclarationNode::Dtype; }7574 break;7575 7576 case 495:7577 7578 /* Line 1806 of yacc.c */7579 #line 1902 "parser.yy"7580 { (yyval.decl) = nullptr; }7581 break;7582 7583 case 496:7584 7585 /* Line 1806 of yacc.c */7586 #line 1904 "parser.yy"7587 { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }7588 break;7589 7590 case 497:7591 7592 /* Line 1806 of yacc.c */7593 #line 1909 "parser.yy"7594 7497 { 7595 7498 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7598 7501 break; 7599 7502 7503 case 496: 7504 7505 /* Line 1806 of yacc.c */ 7506 #line 1902 "parser.yy" 7507 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7508 break; 7509 7510 case 497: 7511 7512 /* Line 1806 of yacc.c */ 7513 #line 1904 "parser.yy" 7514 { (yyval.decl) = 0; } 7515 break; 7516 7600 7517 case 498: 7601 7518 7602 7519 /* Line 1806 of yacc.c */ 7520 #line 1909 "parser.yy" 7521 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7522 break; 7523 7524 case 500: 7525 7526 /* Line 1806 of yacc.c */ 7527 #line 1912 "parser.yy" 7528 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7529 break; 7530 7531 case 501: 7532 7533 /* Line 1806 of yacc.c */ 7603 7534 #line 1914 "parser.yy" 7604 { (yyval. decl) = (yyvsp[(4) - (5)].decl); }7605 break; 7606 7607 case 499:7608 7609 /* Line 1806 of yacc.c */ 7610 #line 191 6"parser.yy"7611 { (yyval.decl) = nullptr; }7612 break; 7613 7614 case 50 0:7535 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7536 break; 7537 7538 case 502: 7539 7540 /* Line 1806 of yacc.c */ 7541 #line 1919 "parser.yy" 7542 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7543 break; 7544 7545 case 503: 7615 7546 7616 7547 /* Line 1806 of yacc.c */ 7617 7548 #line 1921 "parser.yy" 7618 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7619 break; 7620 7621 case 502: 7622 7623 /* Line 1806 of yacc.c */ 7624 #line 1924 "parser.yy" 7625 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7626 break; 7627 7628 case 503: 7629 7630 /* Line 1806 of yacc.c */ 7631 #line 1926 "parser.yy" 7632 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7549 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7633 7550 break; 7634 7551 … … 7636 7553 7637 7554 /* Line 1806 of yacc.c */ 7638 #line 19 31"parser.yy"7639 { (yyval.decl) = (yyvsp[( 2) - (2)].decl); }7555 #line 1923 "parser.yy" 7556 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7640 7557 break; 7641 7558 … … 7643 7560 7644 7561 /* Line 1806 of yacc.c */ 7645 #line 19 33"parser.yy"7646 { (yyval.decl) = (yyvsp[( 3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }7562 #line 1928 "parser.yy" 7563 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7647 7564 break; 7648 7565 … … 7650 7567 7651 7568 /* Line 1806 of yacc.c */ 7569 #line 1930 "parser.yy" 7570 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7571 break; 7572 7573 case 507: 7574 7575 /* Line 1806 of yacc.c */ 7652 7576 #line 1935 "parser.yy" 7653 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }7654 break;7655 7656 case 507:7657 7658 /* Line 1806 of yacc.c */7659 #line 1940 "parser.yy"7660 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }7661 break;7662 7663 case 508:7664 7665 /* Line 1806 of yacc.c */7666 #line 1942 "parser.yy"7667 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }7668 break;7669 7670 case 509:7671 7672 /* Line 1806 of yacc.c */7673 #line 1947 "parser.yy"7674 7577 { 7675 7578 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7678 7581 break; 7679 7582 7680 case 5 10:7681 7682 /* Line 1806 of yacc.c */ 7683 #line 19 52"parser.yy"7583 case 508: 7584 7585 /* Line 1806 of yacc.c */ 7586 #line 1940 "parser.yy" 7684 7587 { 7685 7588 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7688 7591 break; 7689 7592 7690 case 5 11:7691 7692 /* Line 1806 of yacc.c */ 7693 #line 19 60"parser.yy"7593 case 509: 7594 7595 /* Line 1806 of yacc.c */ 7596 #line 1948 "parser.yy" 7694 7597 { 7695 7598 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7698 7601 break; 7699 7602 7700 case 51 2:7701 7702 /* Line 1806 of yacc.c */ 7703 #line 19 65"parser.yy"7603 case 510: 7604 7605 /* Line 1806 of yacc.c */ 7606 #line 1953 "parser.yy" 7704 7607 { 7705 7608 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7708 7611 break; 7709 7612 7710 case 51 3:7711 7712 /* Line 1806 of yacc.c */ 7713 #line 19 70"parser.yy"7613 case 511: 7614 7615 /* Line 1806 of yacc.c */ 7616 #line 1958 "parser.yy" 7714 7617 { 7715 7618 typedefTable.leaveTrait(); … … 7719 7622 break; 7720 7623 7721 case 51 5:7722 7723 /* Line 1806 of yacc.c */ 7724 #line 19 80"parser.yy"7624 case 513: 7625 7626 /* Line 1806 of yacc.c */ 7627 #line 1968 "parser.yy" 7725 7628 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7726 7629 break; 7727 7630 7728 case 51 8:7729 7730 /* Line 1806 of yacc.c */ 7731 #line 19 90"parser.yy"7631 case 516: 7632 7633 /* Line 1806 of yacc.c */ 7634 #line 1978 "parser.yy" 7732 7635 { 7733 7636 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7736 7639 break; 7737 7640 7738 case 51 9:7739 7740 /* Line 1806 of yacc.c */ 7741 #line 19 95"parser.yy"7641 case 517: 7642 7643 /* Line 1806 of yacc.c */ 7644 #line 1983 "parser.yy" 7742 7645 { 7743 7646 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7746 7649 break; 7747 7650 7748 case 5 20:7749 7750 /* Line 1806 of yacc.c */ 7751 #line 2000"parser.yy"7651 case 518: 7652 7653 /* Line 1806 of yacc.c */ 7654 #line 1988 "parser.yy" 7752 7655 { 7753 7656 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7756 7659 break; 7757 7660 7758 case 5 21:7759 7760 /* Line 1806 of yacc.c */ 7761 #line 2008"parser.yy"7661 case 519: 7662 7663 /* Line 1806 of yacc.c */ 7664 #line 1996 "parser.yy" 7762 7665 { 7763 7666 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7766 7669 break; 7767 7670 7768 case 52 2:7769 7770 /* Line 1806 of yacc.c */ 7771 #line 20 13"parser.yy"7671 case 520: 7672 7673 /* Line 1806 of yacc.c */ 7674 #line 2001 "parser.yy" 7772 7675 { 7773 7676 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7776 7679 break; 7777 7680 7778 case 52 3:7779 7780 /* Line 1806 of yacc.c */ 7781 #line 20 23"parser.yy"7681 case 521: 7682 7683 /* Line 1806 of yacc.c */ 7684 #line 2011 "parser.yy" 7782 7685 {} 7783 7686 break; 7784 7687 7688 case 522: 7689 7690 /* Line 1806 of yacc.c */ 7691 #line 2013 "parser.yy" 7692 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 7693 break; 7694 7785 7695 case 524: 7786 7696 7787 7697 /* Line 1806 of yacc.c */ 7788 #line 2025 "parser.yy" 7789 { parseTree = parseTree ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 7790 break; 7791 7792 case 526: 7793 7794 /* Line 1806 of yacc.c */ 7795 #line 2031 "parser.yy" 7796 { (yyval.decl) = (yyvsp[(1) - (3)].decl) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7797 break; 7798 7799 case 527: 7800 7801 /* Line 1806 of yacc.c */ 7802 #line 2036 "parser.yy" 7803 { (yyval.decl) = nullptr; } 7804 break; 7805 7806 case 531: 7807 7808 /* Line 1806 of yacc.c */ 7809 #line 2044 "parser.yy" 7698 #line 2019 "parser.yy" 7699 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7700 break; 7701 7702 case 525: 7703 7704 /* Line 1806 of yacc.c */ 7705 #line 2024 "parser.yy" 7706 { (yyval.decl) = 0; } 7707 break; 7708 7709 case 529: 7710 7711 /* Line 1806 of yacc.c */ 7712 #line 2032 "parser.yy" 7810 7713 {} 7811 7714 break; 7812 7715 7813 case 53 2:7814 7815 /* Line 1806 of yacc.c */ 7816 #line 20 46"parser.yy"7716 case 530: 7717 7718 /* Line 1806 of yacc.c */ 7719 #line 2034 "parser.yy" 7817 7720 { 7818 7721 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" … … 7821 7724 break; 7822 7725 7823 case 53 3:7824 7825 /* Line 1806 of yacc.c */ 7826 #line 20 51"parser.yy"7726 case 531: 7727 7728 /* Line 1806 of yacc.c */ 7729 #line 2039 "parser.yy" 7827 7730 { 7828 7731 linkage = linkageStack.top(); … … 7832 7735 break; 7833 7736 7834 case 53 4:7835 7836 /* Line 1806 of yacc.c */ 7837 #line 20 57"parser.yy"7737 case 532: 7738 7739 /* Line 1806 of yacc.c */ 7740 #line 2045 "parser.yy" 7838 7741 { // mark all fields in list 7839 7742 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7843 7746 break; 7844 7747 7845 case 53 6:7846 7847 /* Line 1806 of yacc.c */ 7848 #line 20 72"parser.yy"7748 case 534: 7749 7750 /* Line 1806 of yacc.c */ 7751 #line 2060 "parser.yy" 7849 7752 { 7850 7753 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7854 7757 break; 7855 7758 7856 case 53 7:7857 7858 /* Line 1806 of yacc.c */ 7859 #line 20 78"parser.yy"7759 case 535: 7760 7761 /* Line 1806 of yacc.c */ 7762 #line 2066 "parser.yy" 7860 7763 { 7861 7764 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7865 7768 break; 7866 7769 7867 case 53 8:7868 7869 /* Line 1806 of yacc.c */ 7870 #line 20 87"parser.yy"7770 case 536: 7771 7772 /* Line 1806 of yacc.c */ 7773 #line 2075 "parser.yy" 7871 7774 { 7872 7775 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7876 7779 break; 7877 7780 7878 case 53 9:7879 7880 /* Line 1806 of yacc.c */ 7881 #line 20 93"parser.yy"7781 case 537: 7782 7783 /* Line 1806 of yacc.c */ 7784 #line 2081 "parser.yy" 7882 7785 { 7883 7786 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7887 7790 break; 7888 7791 7889 case 5 40:7890 7891 /* Line 1806 of yacc.c */ 7892 #line 20 99"parser.yy"7792 case 538: 7793 7794 /* Line 1806 of yacc.c */ 7795 #line 2087 "parser.yy" 7893 7796 { 7894 7797 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7898 7801 break; 7899 7802 7900 case 5 41:7901 7902 /* Line 1806 of yacc.c */ 7903 #line 2 105"parser.yy"7803 case 539: 7804 7805 /* Line 1806 of yacc.c */ 7806 #line 2093 "parser.yy" 7904 7807 { 7905 7808 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7909 7812 break; 7910 7813 7911 case 54 2:7912 7913 /* Line 1806 of yacc.c */ 7914 #line 2 111"parser.yy"7814 case 540: 7815 7816 /* Line 1806 of yacc.c */ 7817 #line 2099 "parser.yy" 7915 7818 { 7916 7819 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7920 7823 break; 7921 7824 7922 case 54 3:7923 7924 /* Line 1806 of yacc.c */ 7925 #line 21 19"parser.yy"7825 case 541: 7826 7827 /* Line 1806 of yacc.c */ 7828 #line 2107 "parser.yy" 7926 7829 { 7927 7830 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7931 7834 break; 7932 7835 7933 case 54 4:7934 7935 /* Line 1806 of yacc.c */ 7936 #line 21 25"parser.yy"7836 case 542: 7837 7838 /* Line 1806 of yacc.c */ 7839 #line 2113 "parser.yy" 7937 7840 { 7938 7841 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7942 7845 break; 7943 7846 7944 case 54 5:7945 7946 /* Line 1806 of yacc.c */ 7947 #line 21 33"parser.yy"7847 case 543: 7848 7849 /* Line 1806 of yacc.c */ 7850 #line 2121 "parser.yy" 7948 7851 { 7949 7852 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7953 7856 break; 7954 7857 7955 case 54 6:7956 7957 /* Line 1806 of yacc.c */ 7958 #line 21 39"parser.yy"7858 case 544: 7859 7860 /* Line 1806 of yacc.c */ 7861 #line 2127 "parser.yy" 7959 7862 { 7960 7863 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7964 7867 break; 7965 7868 7869 case 548: 7870 7871 /* Line 1806 of yacc.c */ 7872 #line 2142 "parser.yy" 7873 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7874 break; 7875 7966 7876 case 550: 7967 7877 7968 7878 /* Line 1806 of yacc.c */ 7969 #line 21 54"parser.yy"7970 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) )); }7879 #line 2147 "parser.yy" 7880 { delete (yyvsp[(3) - (5)].str); } 7971 7881 break; 7972 7882 … … 7974 7884 7975 7885 /* Line 1806 of yacc.c */ 7886 #line 2152 "parser.yy" 7887 { (yyval.decl) = 0; } 7888 break; 7889 7890 case 554: 7891 7892 /* Line 1806 of yacc.c */ 7976 7893 #line 2159 "parser.yy" 7977 { (yyval.constant) = nullptr; }7978 break;7979 7980 case 552:7981 7982 /* Line 1806 of yacc.c */7983 #line 2161 "parser.yy"7984 { (yyval.constant) = (yyvsp[(3) - (5)].constant); }7985 break;7986 7987 case 553:7988 7989 /* Line 1806 of yacc.c */7990 #line 2166 "parser.yy"7991 { (yyval.decl) = nullptr; }7992 break;7993 7994 case 556:7995 7996 /* Line 1806 of yacc.c */7997 #line 2173 "parser.yy"7998 7894 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7999 7895 break; 8000 7896 8001 case 557: 8002 8003 /* Line 1806 of yacc.c */ 8004 #line 2179 "parser.yy" 8005 { (yyval.decl) = nullptr; } 7897 case 555: 7898 7899 /* Line 1806 of yacc.c */ 7900 #line 2165 "parser.yy" 7901 { (yyval.decl) = 0; } 7902 break; 7903 7904 case 560: 7905 7906 /* Line 1806 of yacc.c */ 7907 #line 2176 "parser.yy" 7908 { delete (yyvsp[(3) - (4)].en); } 7909 break; 7910 7911 case 561: 7912 7913 /* Line 1806 of yacc.c */ 7914 #line 2180 "parser.yy" 7915 { delete (yyvsp[(1) - (1)].tok); } 8006 7916 break; 8007 7917 … … 8009 7919 8010 7920 /* Line 1806 of yacc.c */ 8011 #line 21 90"parser.yy"8012 { delete (yyvsp[( 3) - (4)].en); }7921 #line 2181 "parser.yy" 7922 { delete (yyvsp[(1) - (1)].decl); } 8013 7923 break; 8014 7924 … … 8016 7926 8017 7927 /* Line 1806 of yacc.c */ 8018 #line 21 94"parser.yy"8019 { delete (yyvsp[(1) - (1)]. tok); }7928 #line 2182 "parser.yy" 7929 { delete (yyvsp[(1) - (1)].decl); } 8020 7930 break; 8021 7931 … … 8023 7933 8024 7934 /* Line 1806 of yacc.c */ 8025 #line 21 95"parser.yy"7935 #line 2183 "parser.yy" 8026 7936 { delete (yyvsp[(1) - (1)].decl); } 8027 7937 break; … … 8030 7940 8031 7941 /* Line 1806 of yacc.c */ 8032 #line 2196 "parser.yy" 8033 { delete (yyvsp[(1) - (1)].decl); } 8034 break; 8035 8036 case 566: 8037 8038 /* Line 1806 of yacc.c */ 8039 #line 2197 "parser.yy" 8040 { delete (yyvsp[(1) - (1)].decl); } 7942 #line 2218 "parser.yy" 7943 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8041 7944 break; 8042 7945 … … 8044 7947 8045 7948 /* Line 1806 of yacc.c */ 8046 #line 22 32"parser.yy"7949 #line 2221 "parser.yy" 8047 7950 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8048 7951 break; 8049 7952 7953 case 568: 7954 7955 /* Line 1806 of yacc.c */ 7956 #line 2223 "parser.yy" 7957 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7958 break; 7959 8050 7960 case 569: 8051 7961 8052 7962 /* Line 1806 of yacc.c */ 8053 #line 2235 "parser.yy" 8054 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8055 break; 8056 8057 case 570: 8058 8059 /* Line 1806 of yacc.c */ 8060 #line 2237 "parser.yy" 8061 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8062 break; 8063 8064 case 571: 8065 8066 /* Line 1806 of yacc.c */ 8067 #line 2242 "parser.yy" 7963 #line 2228 "parser.yy" 8068 7964 { 8069 7965 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8072 7968 break; 8073 7969 7970 case 570: 7971 7972 /* Line 1806 of yacc.c */ 7973 #line 2233 "parser.yy" 7974 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7975 break; 7976 7977 case 571: 7978 7979 /* Line 1806 of yacc.c */ 7980 #line 2238 "parser.yy" 7981 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7982 break; 7983 8074 7984 case 572: 8075 7985 8076 7986 /* Line 1806 of yacc.c */ 7987 #line 2240 "parser.yy" 7988 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7989 break; 7990 7991 case 573: 7992 7993 /* Line 1806 of yacc.c */ 7994 #line 2242 "parser.yy" 7995 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7996 break; 7997 7998 case 574: 7999 8000 /* Line 1806 of yacc.c */ 8077 8001 #line 2247 "parser.yy" 8002 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8003 break; 8004 8005 case 575: 8006 8007 /* Line 1806 of yacc.c */ 8008 #line 2249 "parser.yy" 8009 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8010 break; 8011 8012 case 576: 8013 8014 /* Line 1806 of yacc.c */ 8015 #line 2251 "parser.yy" 8016 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8017 break; 8018 8019 case 577: 8020 8021 /* Line 1806 of yacc.c */ 8022 #line 2253 "parser.yy" 8078 8023 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8079 8024 break; 8080 8025 8081 case 573: 8082 8083 /* Line 1806 of yacc.c */ 8084 #line 2252 "parser.yy" 8026 case 578: 8027 8028 /* Line 1806 of yacc.c */ 8029 #line 2258 "parser.yy" 8030 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8031 break; 8032 8033 case 579: 8034 8035 /* Line 1806 of yacc.c */ 8036 #line 2260 "parser.yy" 8037 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8038 break; 8039 8040 case 580: 8041 8042 /* Line 1806 of yacc.c */ 8043 #line 2269 "parser.yy" 8044 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8045 break; 8046 8047 case 582: 8048 8049 /* Line 1806 of yacc.c */ 8050 #line 2272 "parser.yy" 8051 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8052 break; 8053 8054 case 583: 8055 8056 /* Line 1806 of yacc.c */ 8057 #line 2277 "parser.yy" 8058 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8059 break; 8060 8061 case 584: 8062 8063 /* Line 1806 of yacc.c */ 8064 #line 2279 "parser.yy" 8065 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8066 break; 8067 8068 case 585: 8069 8070 /* Line 1806 of yacc.c */ 8071 #line 2281 "parser.yy" 8072 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8073 break; 8074 8075 case 586: 8076 8077 /* Line 1806 of yacc.c */ 8078 #line 2286 "parser.yy" 8085 8079 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8086 8080 break; 8087 8081 8088 case 5 74:8089 8090 /* Line 1806 of yacc.c */ 8091 #line 22 54"parser.yy"8082 case 587: 8083 8084 /* Line 1806 of yacc.c */ 8085 #line 2288 "parser.yy" 8092 8086 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8093 8087 break; 8094 8088 8095 case 5 75:8096 8097 /* Line 1806 of yacc.c */ 8098 #line 22 56"parser.yy"8089 case 588: 8090 8091 /* Line 1806 of yacc.c */ 8092 #line 2290 "parser.yy" 8099 8093 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8100 8094 break; 8101 8095 8102 case 576: 8103 8104 /* Line 1806 of yacc.c */ 8105 #line 2261 "parser.yy" 8096 case 589: 8097 8098 /* Line 1806 of yacc.c */ 8099 #line 2295 "parser.yy" 8100 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8101 break; 8102 8103 case 590: 8104 8105 /* Line 1806 of yacc.c */ 8106 #line 2297 "parser.yy" 8107 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8108 break; 8109 8110 case 591: 8111 8112 /* Line 1806 of yacc.c */ 8113 #line 2299 "parser.yy" 8114 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8115 break; 8116 8117 case 595: 8118 8119 /* Line 1806 of yacc.c */ 8120 #line 2314 "parser.yy" 8121 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8122 break; 8123 8124 case 596: 8125 8126 /* Line 1806 of yacc.c */ 8127 #line 2316 "parser.yy" 8128 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8129 break; 8130 8131 case 597: 8132 8133 /* Line 1806 of yacc.c */ 8134 #line 2318 "parser.yy" 8135 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8136 break; 8137 8138 case 598: 8139 8140 /* Line 1806 of yacc.c */ 8141 #line 2323 "parser.yy" 8142 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8143 break; 8144 8145 case 599: 8146 8147 /* Line 1806 of yacc.c */ 8148 #line 2325 "parser.yy" 8149 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8150 break; 8151 8152 case 600: 8153 8154 /* Line 1806 of yacc.c */ 8155 #line 2327 "parser.yy" 8156 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8157 break; 8158 8159 case 601: 8160 8161 /* Line 1806 of yacc.c */ 8162 #line 2332 "parser.yy" 8163 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8164 break; 8165 8166 case 602: 8167 8168 /* Line 1806 of yacc.c */ 8169 #line 2334 "parser.yy" 8170 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8171 break; 8172 8173 case 603: 8174 8175 /* Line 1806 of yacc.c */ 8176 #line 2336 "parser.yy" 8177 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8178 break; 8179 8180 case 604: 8181 8182 /* Line 1806 of yacc.c */ 8183 #line 2351 "parser.yy" 8184 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8185 break; 8186 8187 case 606: 8188 8189 /* Line 1806 of yacc.c */ 8190 #line 2354 "parser.yy" 8191 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8192 break; 8193 8194 case 607: 8195 8196 /* Line 1806 of yacc.c */ 8197 #line 2356 "parser.yy" 8198 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8199 break; 8200 8201 case 609: 8202 8203 /* Line 1806 of yacc.c */ 8204 #line 2362 "parser.yy" 8205 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8206 break; 8207 8208 case 610: 8209 8210 /* Line 1806 of yacc.c */ 8211 #line 2367 "parser.yy" 8212 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8213 break; 8214 8215 case 611: 8216 8217 /* Line 1806 of yacc.c */ 8218 #line 2369 "parser.yy" 8219 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8220 break; 8221 8222 case 612: 8223 8224 /* Line 1806 of yacc.c */ 8225 #line 2371 "parser.yy" 8226 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8227 break; 8228 8229 case 613: 8230 8231 /* Line 1806 of yacc.c */ 8232 #line 2376 "parser.yy" 8106 8233 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8107 8234 break; 8108 8235 8109 case 577:8110 8111 /* Line 1806 of yacc.c */ 8112 #line 2 263"parser.yy"8236 case 614: 8237 8238 /* Line 1806 of yacc.c */ 8239 #line 2378 "parser.yy" 8113 8240 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8114 8241 break; 8115 8242 8116 case 578:8117 8118 /* Line 1806 of yacc.c */ 8119 #line 2 265"parser.yy"8243 case 615: 8244 8245 /* Line 1806 of yacc.c */ 8246 #line 2380 "parser.yy" 8120 8247 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8121 8248 break; 8122 8249 8123 case 579:8124 8125 /* Line 1806 of yacc.c */ 8126 #line 2 267"parser.yy"8250 case 616: 8251 8252 /* Line 1806 of yacc.c */ 8253 #line 2382 "parser.yy" 8127 8254 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8128 8255 break; 8129 8256 8130 case 580: 8131 8132 /* Line 1806 of yacc.c */ 8133 #line 2272 "parser.yy" 8257 case 617: 8258 8259 /* Line 1806 of yacc.c */ 8260 #line 2387 "parser.yy" 8261 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8262 break; 8263 8264 case 618: 8265 8266 /* Line 1806 of yacc.c */ 8267 #line 2389 "parser.yy" 8134 8268 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8135 8269 break; 8136 8270 8137 case 581:8138 8139 /* Line 1806 of yacc.c */ 8140 #line 2 274"parser.yy"8271 case 619: 8272 8273 /* Line 1806 of yacc.c */ 8274 #line 2391 "parser.yy" 8141 8275 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8142 8276 break; 8143 8277 8144 case 582:8145 8146 /* Line 1806 of yacc.c */ 8147 #line 2 283"parser.yy"8278 case 620: 8279 8280 /* Line 1806 of yacc.c */ 8281 #line 2401 "parser.yy" 8148 8282 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8149 8283 break; 8150 8284 8151 case 584:8152 8153 /* Line 1806 of yacc.c */ 8154 #line 2 286"parser.yy"8285 case 622: 8286 8287 /* Line 1806 of yacc.c */ 8288 #line 2404 "parser.yy" 8155 8289 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8156 8290 break; 8157 8291 8158 case 585: 8159 8160 /* Line 1806 of yacc.c */ 8161 #line 2291 "parser.yy" 8292 case 623: 8293 8294 /* Line 1806 of yacc.c */ 8295 #line 2406 "parser.yy" 8296 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8297 break; 8298 8299 case 624: 8300 8301 /* Line 1806 of yacc.c */ 8302 #line 2411 "parser.yy" 8303 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8304 break; 8305 8306 case 625: 8307 8308 /* Line 1806 of yacc.c */ 8309 #line 2413 "parser.yy" 8310 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8311 break; 8312 8313 case 626: 8314 8315 /* Line 1806 of yacc.c */ 8316 #line 2415 "parser.yy" 8317 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8318 break; 8319 8320 case 627: 8321 8322 /* Line 1806 of yacc.c */ 8323 #line 2420 "parser.yy" 8324 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8325 break; 8326 8327 case 628: 8328 8329 /* Line 1806 of yacc.c */ 8330 #line 2422 "parser.yy" 8331 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8332 break; 8333 8334 case 629: 8335 8336 /* Line 1806 of yacc.c */ 8337 #line 2424 "parser.yy" 8338 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8339 break; 8340 8341 case 630: 8342 8343 /* Line 1806 of yacc.c */ 8344 #line 2426 "parser.yy" 8345 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8346 break; 8347 8348 case 631: 8349 8350 /* Line 1806 of yacc.c */ 8351 #line 2431 "parser.yy" 8162 8352 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8163 8353 break; 8164 8354 8165 case 586:8166 8167 /* Line 1806 of yacc.c */ 8168 #line 2 293 "parser.yy"8355 case 632: 8356 8357 /* Line 1806 of yacc.c */ 8358 #line 2433 "parser.yy" 8169 8359 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8170 8360 break; 8171 8361 8172 case 587:8173 8174 /* Line 1806 of yacc.c */ 8175 #line 2 295 "parser.yy"8362 case 633: 8363 8364 /* Line 1806 of yacc.c */ 8365 #line 2435 "parser.yy" 8176 8366 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8177 8367 break; 8178 8368 8179 case 588: 8180 8181 /* Line 1806 of yacc.c */ 8182 #line 2300 "parser.yy" 8183 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8184 break; 8185 8186 case 589: 8187 8188 /* Line 1806 of yacc.c */ 8189 #line 2302 "parser.yy" 8190 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8191 break; 8192 8193 case 590: 8194 8195 /* Line 1806 of yacc.c */ 8196 #line 2304 "parser.yy" 8197 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8198 break; 8199 8200 case 591: 8201 8202 /* Line 1806 of yacc.c */ 8203 #line 2309 "parser.yy" 8204 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8205 break; 8206 8207 case 592: 8208 8209 /* Line 1806 of yacc.c */ 8210 #line 2311 "parser.yy" 8211 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8212 break; 8213 8214 case 593: 8215 8216 /* Line 1806 of yacc.c */ 8217 #line 2313 "parser.yy" 8218 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8219 break; 8220 8221 case 597: 8222 8223 /* Line 1806 of yacc.c */ 8224 #line 2328 "parser.yy" 8225 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8226 break; 8227 8228 case 598: 8229 8230 /* Line 1806 of yacc.c */ 8231 #line 2330 "parser.yy" 8232 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8233 break; 8234 8235 case 599: 8236 8237 /* Line 1806 of yacc.c */ 8238 #line 2332 "parser.yy" 8239 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8240 break; 8241 8242 case 600: 8243 8244 /* Line 1806 of yacc.c */ 8245 #line 2337 "parser.yy" 8246 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8247 break; 8248 8249 case 601: 8250 8251 /* Line 1806 of yacc.c */ 8252 #line 2339 "parser.yy" 8253 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8254 break; 8255 8256 case 602: 8257 8258 /* Line 1806 of yacc.c */ 8259 #line 2341 "parser.yy" 8260 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8261 break; 8262 8263 case 603: 8264 8265 /* Line 1806 of yacc.c */ 8266 #line 2346 "parser.yy" 8267 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8268 break; 8269 8270 case 604: 8271 8272 /* Line 1806 of yacc.c */ 8273 #line 2348 "parser.yy" 8274 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8275 break; 8276 8277 case 605: 8278 8279 /* Line 1806 of yacc.c */ 8280 #line 2350 "parser.yy" 8281 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8282 break; 8283 8284 case 606: 8285 8286 /* Line 1806 of yacc.c */ 8287 #line 2365 "parser.yy" 8369 case 634: 8370 8371 /* Line 1806 of yacc.c */ 8372 #line 2466 "parser.yy" 8288 8373 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8289 8374 break; 8290 8375 8291 case 6 08:8292 8293 /* Line 1806 of yacc.c */ 8294 #line 2 368"parser.yy"8376 case 636: 8377 8378 /* Line 1806 of yacc.c */ 8379 #line 2469 "parser.yy" 8295 8380 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8296 8381 break; 8297 8382 8298 case 6 09:8299 8300 /* Line 1806 of yacc.c */ 8301 #line 2 370"parser.yy"8383 case 637: 8384 8385 /* Line 1806 of yacc.c */ 8386 #line 2471 "parser.yy" 8302 8387 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8303 8388 break; 8304 8389 8305 case 611:8306 8307 /* Line 1806 of yacc.c */8308 #line 2376 "parser.yy"8309 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8310 break;8311 8312 case 612:8313 8314 /* Line 1806 of yacc.c */8315 #line 2381 "parser.yy"8316 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8317 break;8318 8319 case 613:8320 8321 /* Line 1806 of yacc.c */8322 #line 2383 "parser.yy"8323 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8324 break;8325 8326 case 614:8327 8328 /* Line 1806 of yacc.c */8329 #line 2385 "parser.yy"8330 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8331 break;8332 8333 case 615:8334 8335 /* Line 1806 of yacc.c */8336 #line 2390 "parser.yy"8337 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8338 break;8339 8340 case 616:8341 8342 /* Line 1806 of yacc.c */8343 #line 2392 "parser.yy"8344 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8345 break;8346 8347 case 617:8348 8349 /* Line 1806 of yacc.c */8350 #line 2394 "parser.yy"8351 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8352 break;8353 8354 case 618:8355 8356 /* Line 1806 of yacc.c */8357 #line 2396 "parser.yy"8358 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8359 break;8360 8361 case 619:8362 8363 /* Line 1806 of yacc.c */8364 #line 2401 "parser.yy"8365 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8366 break;8367 8368 case 620:8369 8370 /* Line 1806 of yacc.c */8371 #line 2403 "parser.yy"8372 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8373 break;8374 8375 case 621:8376 8377 /* Line 1806 of yacc.c */8378 #line 2405 "parser.yy"8379 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8380 break;8381 8382 case 622:8383 8384 /* Line 1806 of yacc.c */8385 #line 2415 "parser.yy"8386 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8387 break;8388 8389 case 624:8390 8391 /* Line 1806 of yacc.c */8392 #line 2418 "parser.yy"8393 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8394 break;8395 8396 case 625:8397 8398 /* Line 1806 of yacc.c */8399 #line 2420 "parser.yy"8400 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8401 break;8402 8403 case 626:8404 8405 /* Line 1806 of yacc.c */8406 #line 2425 "parser.yy"8407 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8408 break;8409 8410 case 627:8411 8412 /* Line 1806 of yacc.c */8413 #line 2427 "parser.yy"8414 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8415 break;8416 8417 case 628:8418 8419 /* Line 1806 of yacc.c */8420 #line 2429 "parser.yy"8421 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8422 break;8423 8424 case 629:8425 8426 /* Line 1806 of yacc.c */8427 #line 2434 "parser.yy"8428 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8429 break;8430 8431 case 630:8432 8433 /* Line 1806 of yacc.c */8434 #line 2436 "parser.yy"8435 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8436 break;8437 8438 case 631:8439 8440 /* Line 1806 of yacc.c */8441 #line 2438 "parser.yy"8442 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8443 break;8444 8445 case 632:8446 8447 /* Line 1806 of yacc.c */8448 #line 2440 "parser.yy"8449 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8450 break;8451 8452 case 633:8453 8454 /* Line 1806 of yacc.c */8455 #line 2445 "parser.yy"8456 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8457 break;8458 8459 case 634:8460 8461 /* Line 1806 of yacc.c */8462 #line 2447 "parser.yy"8463 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8464 break;8465 8466 case 635:8467 8468 /* Line 1806 of yacc.c */8469 #line 2449 "parser.yy"8470 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8471 break;8472 8473 case 636:8474 8475 /* Line 1806 of yacc.c */8476 #line 2480 "parser.yy"8477 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8478 break;8479 8480 8390 case 638: 8481 8391 8482 8392 /* Line 1806 of yacc.c */ 8483 #line 2483 "parser.yy" 8484 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8485 break; 8486 8487 case 639: 8488 8489 /* Line 1806 of yacc.c */ 8490 #line 2485 "parser.yy" 8491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8492 break; 8493 8494 case 640: 8495 8496 /* Line 1806 of yacc.c */ 8497 #line 2490 "parser.yy" 8393 #line 2476 "parser.yy" 8498 8394 { 8499 8395 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8502 8398 break; 8503 8399 8504 case 6 41:8505 8506 /* Line 1806 of yacc.c */ 8507 #line 24 95"parser.yy"8400 case 639: 8401 8402 /* Line 1806 of yacc.c */ 8403 #line 2481 "parser.yy" 8508 8404 { 8509 8405 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8512 8408 break; 8513 8409 8410 case 640: 8411 8412 /* Line 1806 of yacc.c */ 8413 #line 2489 "parser.yy" 8414 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8415 break; 8416 8417 case 641: 8418 8419 /* Line 1806 of yacc.c */ 8420 #line 2491 "parser.yy" 8421 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8422 break; 8423 8514 8424 case 642: 8515 8425 8516 8426 /* Line 1806 of yacc.c */ 8517 #line 2503 "parser.yy" 8427 #line 2493 "parser.yy" 8428 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8429 break; 8430 8431 case 643: 8432 8433 /* Line 1806 of yacc.c */ 8434 #line 2498 "parser.yy" 8435 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8436 break; 8437 8438 case 644: 8439 8440 /* Line 1806 of yacc.c */ 8441 #line 2500 "parser.yy" 8442 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8443 break; 8444 8445 case 645: 8446 8447 /* Line 1806 of yacc.c */ 8448 #line 2505 "parser.yy" 8449 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8450 break; 8451 8452 case 646: 8453 8454 /* Line 1806 of yacc.c */ 8455 #line 2507 "parser.yy" 8456 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8457 break; 8458 8459 case 648: 8460 8461 /* Line 1806 of yacc.c */ 8462 #line 2522 "parser.yy" 8463 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8464 break; 8465 8466 case 649: 8467 8468 /* Line 1806 of yacc.c */ 8469 #line 2524 "parser.yy" 8470 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8471 break; 8472 8473 case 650: 8474 8475 /* Line 1806 of yacc.c */ 8476 #line 2529 "parser.yy" 8477 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8478 break; 8479 8480 case 651: 8481 8482 /* Line 1806 of yacc.c */ 8483 #line 2531 "parser.yy" 8484 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8485 break; 8486 8487 case 652: 8488 8489 /* Line 1806 of yacc.c */ 8490 #line 2533 "parser.yy" 8518 8491 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8519 8492 break; 8520 8493 8521 case 6 43:8522 8523 /* Line 1806 of yacc.c */ 8524 #line 25 05 "parser.yy"8494 case 653: 8495 8496 /* Line 1806 of yacc.c */ 8497 #line 2535 "parser.yy" 8525 8498 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8526 8499 break; 8527 8500 8528 case 6 44:8529 8530 /* Line 1806 of yacc.c */ 8531 #line 25 07 "parser.yy"8501 case 654: 8502 8503 /* Line 1806 of yacc.c */ 8504 #line 2537 "parser.yy" 8532 8505 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8533 8506 break; 8534 8507 8535 case 645: 8536 8537 /* Line 1806 of yacc.c */ 8538 #line 2512 "parser.yy" 8508 case 656: 8509 8510 /* Line 1806 of yacc.c */ 8511 #line 2543 "parser.yy" 8512 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8513 break; 8514 8515 case 657: 8516 8517 /* Line 1806 of yacc.c */ 8518 #line 2545 "parser.yy" 8519 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8520 break; 8521 8522 case 658: 8523 8524 /* Line 1806 of yacc.c */ 8525 #line 2547 "parser.yy" 8526 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8527 break; 8528 8529 case 659: 8530 8531 /* Line 1806 of yacc.c */ 8532 #line 2552 "parser.yy" 8533 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8534 break; 8535 8536 case 660: 8537 8538 /* Line 1806 of yacc.c */ 8539 #line 2554 "parser.yy" 8540 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8541 break; 8542 8543 case 661: 8544 8545 /* Line 1806 of yacc.c */ 8546 #line 2556 "parser.yy" 8547 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8548 break; 8549 8550 case 662: 8551 8552 /* Line 1806 of yacc.c */ 8553 #line 2562 "parser.yy" 8554 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8555 break; 8556 8557 case 663: 8558 8559 /* Line 1806 of yacc.c */ 8560 #line 2564 "parser.yy" 8561 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8562 break; 8563 8564 case 665: 8565 8566 /* Line 1806 of yacc.c */ 8567 #line 2570 "parser.yy" 8568 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8569 break; 8570 8571 case 666: 8572 8573 /* Line 1806 of yacc.c */ 8574 #line 2572 "parser.yy" 8575 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8576 break; 8577 8578 case 667: 8579 8580 /* Line 1806 of yacc.c */ 8581 #line 2574 "parser.yy" 8582 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8583 break; 8584 8585 case 668: 8586 8587 /* Line 1806 of yacc.c */ 8588 #line 2576 "parser.yy" 8589 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8590 break; 8591 8592 case 670: 8593 8594 /* Line 1806 of yacc.c */ 8595 #line 2591 "parser.yy" 8596 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8597 break; 8598 8599 case 671: 8600 8601 /* Line 1806 of yacc.c */ 8602 #line 2593 "parser.yy" 8603 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8604 break; 8605 8606 case 672: 8607 8608 /* Line 1806 of yacc.c */ 8609 #line 2598 "parser.yy" 8610 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8611 break; 8612 8613 case 673: 8614 8615 /* Line 1806 of yacc.c */ 8616 #line 2600 "parser.yy" 8617 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8618 break; 8619 8620 case 674: 8621 8622 /* Line 1806 of yacc.c */ 8623 #line 2602 "parser.yy" 8624 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8625 break; 8626 8627 case 675: 8628 8629 /* Line 1806 of yacc.c */ 8630 #line 2604 "parser.yy" 8631 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8632 break; 8633 8634 case 676: 8635 8636 /* Line 1806 of yacc.c */ 8637 #line 2606 "parser.yy" 8638 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8639 break; 8640 8641 case 678: 8642 8643 /* Line 1806 of yacc.c */ 8644 #line 2612 "parser.yy" 8645 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8646 break; 8647 8648 case 679: 8649 8650 /* Line 1806 of yacc.c */ 8651 #line 2614 "parser.yy" 8652 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8653 break; 8654 8655 case 680: 8656 8657 /* Line 1806 of yacc.c */ 8658 #line 2616 "parser.yy" 8659 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8660 break; 8661 8662 case 681: 8663 8664 /* Line 1806 of yacc.c */ 8665 #line 2621 "parser.yy" 8666 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8667 break; 8668 8669 case 682: 8670 8671 /* Line 1806 of yacc.c */ 8672 #line 2623 "parser.yy" 8673 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8674 break; 8675 8676 case 683: 8677 8678 /* Line 1806 of yacc.c */ 8679 #line 2625 "parser.yy" 8680 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8681 break; 8682 8683 case 685: 8684 8685 /* Line 1806 of yacc.c */ 8686 #line 2632 "parser.yy" 8539 8687 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8540 8688 break; 8541 8689 8542 case 646: 8543 8544 /* Line 1806 of yacc.c */ 8545 #line 2514 "parser.yy" 8690 case 687: 8691 8692 /* Line 1806 of yacc.c */ 8693 #line 2643 "parser.yy" 8694 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8695 break; 8696 8697 case 688: 8698 8699 /* Line 1806 of yacc.c */ 8700 #line 2646 "parser.yy" 8701 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8702 break; 8703 8704 case 689: 8705 8706 /* Line 1806 of yacc.c */ 8707 #line 2648 "parser.yy" 8708 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8709 break; 8710 8711 case 690: 8712 8713 /* Line 1806 of yacc.c */ 8714 #line 2651 "parser.yy" 8715 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8716 break; 8717 8718 case 691: 8719 8720 /* Line 1806 of yacc.c */ 8721 #line 2653 "parser.yy" 8722 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8723 break; 8724 8725 case 692: 8726 8727 /* Line 1806 of yacc.c */ 8728 #line 2655 "parser.yy" 8729 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8730 break; 8731 8732 case 694: 8733 8734 /* Line 1806 of yacc.c */ 8735 #line 2669 "parser.yy" 8736 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8737 break; 8738 8739 case 695: 8740 8741 /* Line 1806 of yacc.c */ 8742 #line 2671 "parser.yy" 8743 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8744 break; 8745 8746 case 696: 8747 8748 /* Line 1806 of yacc.c */ 8749 #line 2676 "parser.yy" 8750 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8751 break; 8752 8753 case 697: 8754 8755 /* Line 1806 of yacc.c */ 8756 #line 2678 "parser.yy" 8757 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8758 break; 8759 8760 case 698: 8761 8762 /* Line 1806 of yacc.c */ 8763 #line 2680 "parser.yy" 8764 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8765 break; 8766 8767 case 699: 8768 8769 /* Line 1806 of yacc.c */ 8770 #line 2682 "parser.yy" 8771 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8772 break; 8773 8774 case 700: 8775 8776 /* Line 1806 of yacc.c */ 8777 #line 2684 "parser.yy" 8778 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8779 break; 8780 8781 case 702: 8782 8783 /* Line 1806 of yacc.c */ 8784 #line 2690 "parser.yy" 8546 8785 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8547 8786 break; 8548 8787 8549 case 647: 8550 8551 /* Line 1806 of yacc.c */ 8552 #line 2519 "parser.yy" 8553 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8554 break; 8555 8556 case 648: 8557 8558 /* Line 1806 of yacc.c */ 8559 #line 2521 "parser.yy" 8788 case 703: 8789 8790 /* Line 1806 of yacc.c */ 8791 #line 2692 "parser.yy" 8792 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8793 break; 8794 8795 case 704: 8796 8797 /* Line 1806 of yacc.c */ 8798 #line 2694 "parser.yy" 8799 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8800 break; 8801 8802 case 705: 8803 8804 /* Line 1806 of yacc.c */ 8805 #line 2699 "parser.yy" 8560 8806 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8561 8807 break; 8562 8808 8563 case 650: 8564 8565 /* Line 1806 of yacc.c */ 8566 #line 2536 "parser.yy" 8567 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8568 break; 8569 8570 case 651: 8571 8572 /* Line 1806 of yacc.c */ 8573 #line 2538 "parser.yy" 8574 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8575 break; 8576 8577 case 652: 8578 8579 /* Line 1806 of yacc.c */ 8580 #line 2543 "parser.yy" 8581 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8582 break; 8583 8584 case 653: 8585 8586 /* Line 1806 of yacc.c */ 8587 #line 2545 "parser.yy" 8588 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8589 break; 8590 8591 case 654: 8592 8593 /* Line 1806 of yacc.c */ 8594 #line 2547 "parser.yy" 8595 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8596 break; 8597 8598 case 655: 8599 8600 /* Line 1806 of yacc.c */ 8601 #line 2549 "parser.yy" 8602 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8603 break; 8604 8605 case 656: 8606 8607 /* Line 1806 of yacc.c */ 8608 #line 2551 "parser.yy" 8809 case 706: 8810 8811 /* Line 1806 of yacc.c */ 8812 #line 2701 "parser.yy" 8609 8813 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8610 8814 break; 8611 8815 8612 case 658: 8613 8614 /* Line 1806 of yacc.c */ 8615 #line 2557 "parser.yy" 8616 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8617 break; 8618 8619 case 659: 8620 8621 /* Line 1806 of yacc.c */ 8622 #line 2559 "parser.yy" 8623 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8624 break; 8625 8626 case 660: 8627 8628 /* Line 1806 of yacc.c */ 8629 #line 2561 "parser.yy" 8630 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8631 break; 8632 8633 case 661: 8634 8635 /* Line 1806 of yacc.c */ 8636 #line 2566 "parser.yy" 8637 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8638 break; 8639 8640 case 662: 8641 8642 /* Line 1806 of yacc.c */ 8643 #line 2568 "parser.yy" 8644 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8645 break; 8646 8647 case 663: 8648 8649 /* Line 1806 of yacc.c */ 8650 #line 2570 "parser.yy" 8651 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8652 break; 8653 8654 case 664: 8655 8656 /* Line 1806 of yacc.c */ 8657 #line 2576 "parser.yy" 8658 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8659 break; 8660 8661 case 665: 8662 8663 /* Line 1806 of yacc.c */ 8664 #line 2578 "parser.yy" 8665 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8666 break; 8667 8668 case 667: 8669 8670 /* Line 1806 of yacc.c */ 8671 #line 2584 "parser.yy" 8672 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8673 break; 8674 8675 case 668: 8676 8677 /* Line 1806 of yacc.c */ 8678 #line 2586 "parser.yy" 8679 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8680 break; 8681 8682 case 669: 8683 8684 /* Line 1806 of yacc.c */ 8685 #line 2588 "parser.yy" 8686 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8687 break; 8688 8689 case 670: 8690 8691 /* Line 1806 of yacc.c */ 8692 #line 2590 "parser.yy" 8693 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8694 break; 8695 8696 case 672: 8697 8698 /* Line 1806 of yacc.c */ 8699 #line 2605 "parser.yy" 8700 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8701 break; 8702 8703 case 673: 8704 8705 /* Line 1806 of yacc.c */ 8706 #line 2607 "parser.yy" 8707 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8708 break; 8709 8710 case 674: 8711 8712 /* Line 1806 of yacc.c */ 8713 #line 2612 "parser.yy" 8714 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8715 break; 8716 8717 case 675: 8718 8719 /* Line 1806 of yacc.c */ 8720 #line 2614 "parser.yy" 8721 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8722 break; 8723 8724 case 676: 8725 8726 /* Line 1806 of yacc.c */ 8727 #line 2616 "parser.yy" 8728 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8729 break; 8730 8731 case 677: 8732 8733 /* Line 1806 of yacc.c */ 8734 #line 2618 "parser.yy" 8735 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8736 break; 8737 8738 case 678: 8739 8740 /* Line 1806 of yacc.c */ 8741 #line 2620 "parser.yy" 8742 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8743 break; 8744 8745 case 680: 8746 8747 /* Line 1806 of yacc.c */ 8748 #line 2626 "parser.yy" 8749 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8750 break; 8751 8752 case 681: 8753 8754 /* Line 1806 of yacc.c */ 8755 #line 2628 "parser.yy" 8756 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8757 break; 8758 8759 case 682: 8760 8761 /* Line 1806 of yacc.c */ 8762 #line 2630 "parser.yy" 8763 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8764 break; 8765 8766 case 683: 8767 8768 /* Line 1806 of yacc.c */ 8769 #line 2635 "parser.yy" 8770 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8771 break; 8772 8773 case 684: 8774 8775 /* Line 1806 of yacc.c */ 8776 #line 2637 "parser.yy" 8777 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8778 break; 8779 8780 case 685: 8781 8782 /* Line 1806 of yacc.c */ 8783 #line 2639 "parser.yy" 8784 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8785 break; 8786 8787 case 687: 8788 8789 /* Line 1806 of yacc.c */ 8790 #line 2646 "parser.yy" 8791 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8792 break; 8793 8794 case 689: 8795 8796 /* Line 1806 of yacc.c */ 8797 #line 2657 "parser.yy" 8798 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8799 break; 8800 8801 case 690: 8802 8803 /* Line 1806 of yacc.c */ 8804 #line 2660 "parser.yy" 8816 case 709: 8817 8818 /* Line 1806 of yacc.c */ 8819 #line 2711 "parser.yy" 8820 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8821 break; 8822 8823 case 712: 8824 8825 /* Line 1806 of yacc.c */ 8826 #line 2721 "parser.yy" 8827 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8828 break; 8829 8830 case 713: 8831 8832 /* Line 1806 of yacc.c */ 8833 #line 2723 "parser.yy" 8834 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8835 break; 8836 8837 case 714: 8838 8839 /* Line 1806 of yacc.c */ 8840 #line 2725 "parser.yy" 8841 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8842 break; 8843 8844 case 715: 8845 8846 /* Line 1806 of yacc.c */ 8847 #line 2727 "parser.yy" 8848 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8849 break; 8850 8851 case 716: 8852 8853 /* Line 1806 of yacc.c */ 8854 #line 2729 "parser.yy" 8855 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8856 break; 8857 8858 case 717: 8859 8860 /* Line 1806 of yacc.c */ 8861 #line 2731 "parser.yy" 8862 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8863 break; 8864 8865 case 718: 8866 8867 /* Line 1806 of yacc.c */ 8868 #line 2738 "parser.yy" 8869 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8870 break; 8871 8872 case 719: 8873 8874 /* Line 1806 of yacc.c */ 8875 #line 2740 "parser.yy" 8876 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8877 break; 8878 8879 case 720: 8880 8881 /* Line 1806 of yacc.c */ 8882 #line 2742 "parser.yy" 8883 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8884 break; 8885 8886 case 721: 8887 8888 /* Line 1806 of yacc.c */ 8889 #line 2744 "parser.yy" 8890 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8891 break; 8892 8893 case 722: 8894 8895 /* Line 1806 of yacc.c */ 8896 #line 2746 "parser.yy" 8897 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8898 break; 8899 8900 case 723: 8901 8902 /* Line 1806 of yacc.c */ 8903 #line 2749 "parser.yy" 8904 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8905 break; 8906 8907 case 724: 8908 8909 /* Line 1806 of yacc.c */ 8910 #line 2751 "parser.yy" 8911 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8912 break; 8913 8914 case 725: 8915 8916 /* Line 1806 of yacc.c */ 8917 #line 2753 "parser.yy" 8918 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8919 break; 8920 8921 case 726: 8922 8923 /* Line 1806 of yacc.c */ 8924 #line 2755 "parser.yy" 8925 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8926 break; 8927 8928 case 727: 8929 8930 /* Line 1806 of yacc.c */ 8931 #line 2757 "parser.yy" 8932 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8933 break; 8934 8935 case 728: 8936 8937 /* Line 1806 of yacc.c */ 8938 #line 2762 "parser.yy" 8805 8939 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8806 8940 break; 8807 8941 8808 case 691: 8809 8810 /* Line 1806 of yacc.c */ 8811 #line 2662 "parser.yy" 8812 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8813 break; 8814 8815 case 692: 8816 8817 /* Line 1806 of yacc.c */ 8818 #line 2665 "parser.yy" 8942 case 729: 8943 8944 /* Line 1806 of yacc.c */ 8945 #line 2764 "parser.yy" 8819 8946 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8820 8947 break; 8821 8948 8822 case 693: 8823 8824 /* Line 1806 of yacc.c */ 8825 #line 2667 "parser.yy" 8826 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8827 break; 8828 8829 case 694: 8830 8831 /* Line 1806 of yacc.c */ 8832 #line 2669 "parser.yy" 8833 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8834 break; 8835 8836 case 696: 8837 8838 /* Line 1806 of yacc.c */ 8839 #line 2683 "parser.yy" 8840 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8841 break; 8842 8843 case 697: 8844 8845 /* Line 1806 of yacc.c */ 8846 #line 2685 "parser.yy" 8847 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8848 break; 8849 8850 case 698: 8851 8852 /* Line 1806 of yacc.c */ 8853 #line 2690 "parser.yy" 8854 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8855 break; 8856 8857 case 699: 8858 8859 /* Line 1806 of yacc.c */ 8860 #line 2692 "parser.yy" 8861 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8862 break; 8863 8864 case 700: 8865 8866 /* Line 1806 of yacc.c */ 8867 #line 2694 "parser.yy" 8868 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8869 break; 8870 8871 case 701: 8872 8873 /* Line 1806 of yacc.c */ 8874 #line 2696 "parser.yy" 8875 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8876 break; 8877 8878 case 702: 8879 8880 /* Line 1806 of yacc.c */ 8881 #line 2698 "parser.yy" 8882 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8883 break; 8884 8885 case 704: 8886 8887 /* Line 1806 of yacc.c */ 8888 #line 2704 "parser.yy" 8889 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8890 break; 8891 8892 case 705: 8893 8894 /* Line 1806 of yacc.c */ 8895 #line 2706 "parser.yy" 8896 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8897 break; 8898 8899 case 706: 8900 8901 /* Line 1806 of yacc.c */ 8902 #line 2708 "parser.yy" 8903 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8904 break; 8905 8906 case 707: 8907 8908 /* Line 1806 of yacc.c */ 8909 #line 2713 "parser.yy" 8910 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8911 break; 8912 8913 case 708: 8914 8915 /* Line 1806 of yacc.c */ 8916 #line 2715 "parser.yy" 8917 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8918 break; 8919 8920 case 711: 8921 8922 /* Line 1806 of yacc.c */ 8923 #line 2725 "parser.yy" 8949 case 730: 8950 8951 /* Line 1806 of yacc.c */ 8952 #line 2769 "parser.yy" 8953 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 8954 break; 8955 8956 case 731: 8957 8958 /* Line 1806 of yacc.c */ 8959 #line 2771 "parser.yy" 8960 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8961 break; 8962 8963 case 733: 8964 8965 /* Line 1806 of yacc.c */ 8966 #line 2798 "parser.yy" 8924 8967 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8925 8968 break; 8926 8969 8927 case 7 14:8928 8929 /* Line 1806 of yacc.c */ 8930 #line 2 735"parser.yy"8970 case 737: 8971 8972 /* Line 1806 of yacc.c */ 8973 #line 2809 "parser.yy" 8931 8974 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8932 8975 break; 8933 8976 8934 case 7 15:8935 8936 /* Line 1806 of yacc.c */ 8937 #line 2 737"parser.yy"8977 case 738: 8978 8979 /* Line 1806 of yacc.c */ 8980 #line 2811 "parser.yy" 8938 8981 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8939 8982 break; 8940 8983 8941 case 7 16:8942 8943 /* Line 1806 of yacc.c */ 8944 #line 2 739"parser.yy"8984 case 739: 8985 8986 /* Line 1806 of yacc.c */ 8987 #line 2813 "parser.yy" 8945 8988 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8946 8989 break; 8947 8990 8948 case 7 17:8949 8950 /* Line 1806 of yacc.c */ 8951 #line 2 741"parser.yy"8991 case 740: 8992 8993 /* Line 1806 of yacc.c */ 8994 #line 2815 "parser.yy" 8952 8995 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8953 8996 break; 8954 8997 8955 case 7 18:8956 8957 /* Line 1806 of yacc.c */ 8958 #line 2 743"parser.yy"8998 case 741: 8999 9000 /* Line 1806 of yacc.c */ 9001 #line 2817 "parser.yy" 8959 9002 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8960 9003 break; 8961 9004 8962 case 7 19:8963 8964 /* Line 1806 of yacc.c */ 8965 #line 2 745"parser.yy"9005 case 742: 9006 9007 /* Line 1806 of yacc.c */ 9008 #line 2819 "parser.yy" 8966 9009 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8967 9010 break; 8968 9011 8969 case 720: 8970 8971 /* Line 1806 of yacc.c */ 8972 #line 2752 "parser.yy" 8973 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8974 break; 8975 8976 case 721: 8977 8978 /* Line 1806 of yacc.c */ 8979 #line 2754 "parser.yy" 9012 case 743: 9013 9014 /* Line 1806 of yacc.c */ 9015 #line 2826 "parser.yy" 9016 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9017 break; 9018 9019 case 744: 9020 9021 /* Line 1806 of yacc.c */ 9022 #line 2828 "parser.yy" 9023 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9024 break; 9025 9026 case 745: 9027 9028 /* Line 1806 of yacc.c */ 9029 #line 2830 "parser.yy" 8980 9030 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8981 9031 break; 8982 9032 8983 case 7 22:8984 8985 /* Line 1806 of yacc.c */ 8986 #line 2 756"parser.yy"8987 { (yyval.decl) = (yyvsp[( 4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8988 break; 8989 8990 case 7 23:8991 8992 /* Line 1806 of yacc.c */ 8993 #line 2 758"parser.yy"8994 { (yyval.decl) = (yyvsp[( 3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }8995 break; 8996 8997 case 7 24:8998 8999 /* Line 1806 of yacc.c */ 9000 #line 2 760"parser.yy"9033 case 746: 9034 9035 /* Line 1806 of yacc.c */ 9036 #line 2832 "parser.yy" 9037 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9038 break; 9039 9040 case 747: 9041 9042 /* Line 1806 of yacc.c */ 9043 #line 2834 "parser.yy" 9044 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9045 break; 9046 9047 case 748: 9048 9049 /* Line 1806 of yacc.c */ 9050 #line 2836 "parser.yy" 9001 9051 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9002 9052 break; 9003 9053 9004 case 725:9005 9006 /* Line 1806 of yacc.c */9007 #line 2763 "parser.yy"9008 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }9009 break;9010 9011 case 726:9012 9013 /* Line 1806 of yacc.c */9014 #line 2765 "parser.yy"9015 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9016 break;9017 9018 case 727:9019 9020 /* Line 1806 of yacc.c */9021 #line 2767 "parser.yy"9022 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }9023 break;9024 9025 case 728:9026 9027 /* Line 1806 of yacc.c */9028 #line 2769 "parser.yy"9029 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }9030 break;9031 9032 case 729:9033 9034 /* Line 1806 of yacc.c */9035 #line 2771 "parser.yy"9036 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9037 break;9038 9039 case 730:9040 9041 /* Line 1806 of yacc.c */9042 #line 2776 "parser.yy"9043 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }9044 break;9045 9046 case 731:9047 9048 /* Line 1806 of yacc.c */9049 #line 2778 "parser.yy"9050 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }9051 break;9052 9053 case 732:9054 9055 /* Line 1806 of yacc.c */9056 #line 2783 "parser.yy"9057 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }9058 break;9059 9060 case 733:9061 9062 /* Line 1806 of yacc.c */9063 #line 2785 "parser.yy"9064 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }9065 break;9066 9067 case 735:9068 9069 /* Line 1806 of yacc.c */9070 #line 2812 "parser.yy"9071 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }9072 break;9073 9074 case 739:9075 9076 /* Line 1806 of yacc.c */9077 #line 2823 "parser.yy"9078 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }9079 break;9080 9081 case 740:9082 9083 /* Line 1806 of yacc.c */9084 #line 2825 "parser.yy"9085 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }9086 break;9087 9088 case 741:9089 9090 /* Line 1806 of yacc.c */9091 #line 2827 "parser.yy"9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }9093 break;9094 9095 case 742:9096 9097 /* Line 1806 of yacc.c */9098 #line 2829 "parser.yy"9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }9100 break;9101 9102 case 743:9103 9104 /* Line 1806 of yacc.c */9105 #line 2831 "parser.yy"9106 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }9107 break;9108 9109 case 744:9110 9111 /* Line 1806 of yacc.c */9112 #line 2833 "parser.yy"9113 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }9114 break;9115 9116 case 745:9117 9118 /* Line 1806 of yacc.c */9119 #line 2840 "parser.yy"9120 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }9121 break;9122 9123 case 746:9124 9125 /* Line 1806 of yacc.c */9126 #line 2842 "parser.yy"9127 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }9128 break;9129 9130 case 747:9131 9132 /* Line 1806 of yacc.c */9133 #line 2844 "parser.yy"9134 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9135 break;9136 9137 case 748:9138 9139 /* Line 1806 of yacc.c */9140 #line 2846 "parser.yy"9141 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }9142 break;9143 9144 9054 case 749: 9145 9055 9146 9056 /* Line 1806 of yacc.c */ 9057 #line 2841 "parser.yy" 9058 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9059 break; 9060 9061 case 750: 9062 9063 /* Line 1806 of yacc.c */ 9147 9064 #line 2848 "parser.yy" 9148 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false )); }9149 break; 9150 9151 case 75 0:9065 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9066 break; 9067 9068 case 751: 9152 9069 9153 9070 /* Line 1806 of yacc.c */ 9154 9071 #line 2850 "parser.yy" 9155 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9156 break;9157 9158 case 751:9159 9160 /* Line 1806 of yacc.c */9161 #line 2855 "parser.yy"9162 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }9163 break;9164 9165 case 752:9166 9167 /* Line 1806 of yacc.c */9168 #line 2862 "parser.yy"9169 9072 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9170 9073 break; 9171 9074 9172 case 753: 9173 9174 /* Line 1806 of yacc.c */ 9175 #line 2864 "parser.yy" 9176 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9177 break; 9178 9179 case 756: 9180 9181 /* Line 1806 of yacc.c */ 9182 #line 2888 "parser.yy" 9183 { (yyval.en) = nullptr; } 9184 break; 9185 9186 case 757: 9187 9188 /* Line 1806 of yacc.c */ 9189 #line 2890 "parser.yy" 9075 case 754: 9076 9077 /* Line 1806 of yacc.c */ 9078 #line 2874 "parser.yy" 9079 { (yyval.en) = 0; } 9080 break; 9081 9082 case 755: 9083 9084 /* Line 1806 of yacc.c */ 9085 #line 2876 "parser.yy" 9190 9086 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9191 9087 break; … … 9194 9090 9195 9091 /* Line 1806 of yacc.c */ 9196 #line 9 197"Parser/parser.cc"9092 #line 9093 "Parser/parser.cc" 9197 9093 default: break; 9198 9094 } … … 9425 9321 9426 9322 /* Line 2067 of yacc.c */ 9427 #line 28 93"parser.yy"9323 #line 2879 "parser.yy" 9428 9324 9429 9325 // ----end of grammar---- -
src/Parser/parser.h
r66f8528 r5802a4f 59 59 SIGNED = 277, 60 60 UNSIGNED = 278, 61 ZERO_T = 279, 62 ONE_T = 280, 63 VALIST = 281, 64 BOOL = 282, 65 COMPLEX = 283, 66 IMAGINARY = 284, 67 TYPEOF = 285, 68 LABEL = 286, 69 ENUM = 287, 70 STRUCT = 288, 71 UNION = 289, 72 OTYPE = 290, 73 FTYPE = 291, 74 DTYPE = 292, 75 TRAIT = 293, 76 SIZEOF = 294, 77 OFFSETOF = 295, 78 ATTRIBUTE = 296, 79 EXTENSION = 297, 80 IF = 298, 81 ELSE = 299, 82 SWITCH = 300, 83 CASE = 301, 84 DEFAULT = 302, 85 DO = 303, 86 WHILE = 304, 87 FOR = 305, 88 BREAK = 306, 89 CONTINUE = 307, 90 GOTO = 308, 91 RETURN = 309, 92 CHOOSE = 310, 93 DISABLE = 311, 94 ENABLE = 312, 95 FALLTHRU = 313, 96 TRY = 314, 97 CATCH = 315, 98 CATCHRESUME = 316, 99 FINALLY = 317, 100 THROW = 318, 101 THROWRESUME = 319, 102 AT = 320, 103 ASM = 321, 104 ALIGNAS = 322, 105 ALIGNOF = 323, 106 ATOMIC = 324, 107 GENERIC = 325, 108 NORETURN = 326, 109 STATICASSERT = 327, 110 THREADLOCAL = 328, 111 IDENTIFIER = 329, 112 QUOTED_IDENTIFIER = 330, 113 TYPEDEFname = 331, 114 TYPEGENname = 332, 115 ATTR_IDENTIFIER = 333, 116 ATTR_TYPEDEFname = 334, 117 ATTR_TYPEGENname = 335, 118 INTEGERconstant = 336, 119 CHARACTERconstant = 337, 120 STRINGliteral = 338, 121 REALDECIMALconstant = 339, 122 REALFRACTIONconstant = 340, 123 FLOATINGconstant = 341, 124 ZERO = 342, 125 ONE = 343, 126 ARROW = 344, 127 ICR = 345, 128 DECR = 346, 129 LS = 347, 130 RS = 348, 131 LE = 349, 132 GE = 350, 133 EQ = 351, 134 NE = 352, 135 ANDAND = 353, 136 OROR = 354, 137 ELLIPSIS = 355, 138 MULTassign = 356, 139 DIVassign = 357, 140 MODassign = 358, 141 PLUSassign = 359, 142 MINUSassign = 360, 143 LSassign = 361, 144 RSassign = 362, 145 ANDassign = 363, 146 ERassign = 364, 147 ORassign = 365, 148 ATassign = 366, 149 THEN = 367 61 VALIST = 279, 62 BOOL = 280, 63 COMPLEX = 281, 64 IMAGINARY = 282, 65 TYPEOF = 283, 66 LABEL = 284, 67 ENUM = 285, 68 STRUCT = 286, 69 UNION = 287, 70 OTYPE = 288, 71 FTYPE = 289, 72 DTYPE = 290, 73 TRAIT = 291, 74 SIZEOF = 292, 75 OFFSETOF = 293, 76 ATTRIBUTE = 294, 77 EXTENSION = 295, 78 IF = 296, 79 ELSE = 297, 80 SWITCH = 298, 81 CASE = 299, 82 DEFAULT = 300, 83 DO = 301, 84 WHILE = 302, 85 FOR = 303, 86 BREAK = 304, 87 CONTINUE = 305, 88 GOTO = 306, 89 RETURN = 307, 90 CHOOSE = 308, 91 DISABLE = 309, 92 ENABLE = 310, 93 FALLTHRU = 311, 94 TRY = 312, 95 CATCH = 313, 96 CATCHRESUME = 314, 97 FINALLY = 315, 98 THROW = 316, 99 THROWRESUME = 317, 100 AT = 318, 101 ASM = 319, 102 ALIGNAS = 320, 103 ALIGNOF = 321, 104 ATOMIC = 322, 105 GENERIC = 323, 106 NORETURN = 324, 107 STATICASSERT = 325, 108 THREADLOCAL = 326, 109 IDENTIFIER = 327, 110 QUOTED_IDENTIFIER = 328, 111 TYPEDEFname = 329, 112 TYPEGENname = 330, 113 ATTR_IDENTIFIER = 331, 114 ATTR_TYPEDEFname = 332, 115 ATTR_TYPEGENname = 333, 116 INTEGERconstant = 334, 117 CHARACTERconstant = 335, 118 STRINGliteral = 336, 119 REALDECIMALconstant = 337, 120 REALFRACTIONconstant = 338, 121 FLOATINGconstant = 339, 122 ZERO = 340, 123 ONE = 341, 124 ARROW = 342, 125 ICR = 343, 126 DECR = 344, 127 LS = 345, 128 RS = 346, 129 LE = 347, 130 GE = 348, 131 EQ = 349, 132 NE = 350, 133 ANDAND = 351, 134 OROR = 352, 135 ELLIPSIS = 353, 136 MULTassign = 354, 137 DIVassign = 355, 138 MODassign = 356, 139 PLUSassign = 357, 140 MINUSassign = 358, 141 LSassign = 359, 142 RSassign = 360, 143 ANDassign = 361, 144 ERassign = 362, 145 ORassign = 363, 146 ATassign = 364, 147 THEN = 365 150 148 }; 151 149 #endif … … 172 170 #define SIGNED 277 173 171 #define UNSIGNED 278 174 #define ZERO_T 279 175 #define ONE_T 280 176 #define VALIST 281 177 #define BOOL 282 178 #define COMPLEX 283 179 #define IMAGINARY 284 180 #define TYPEOF 285 181 #define LABEL 286 182 #define ENUM 287 183 #define STRUCT 288 184 #define UNION 289 185 #define OTYPE 290 186 #define FTYPE 291 187 #define DTYPE 292 188 #define TRAIT 293 189 #define SIZEOF 294 190 #define OFFSETOF 295 191 #define ATTRIBUTE 296 192 #define EXTENSION 297 193 #define IF 298 194 #define ELSE 299 195 #define SWITCH 300 196 #define CASE 301 197 #define DEFAULT 302 198 #define DO 303 199 #define WHILE 304 200 #define FOR 305 201 #define BREAK 306 202 #define CONTINUE 307 203 #define GOTO 308 204 #define RETURN 309 205 #define CHOOSE 310 206 #define DISABLE 311 207 #define ENABLE 312 208 #define FALLTHRU 313 209 #define TRY 314 210 #define CATCH 315 211 #define CATCHRESUME 316 212 #define FINALLY 317 213 #define THROW 318 214 #define THROWRESUME 319 215 #define AT 320 216 #define ASM 321 217 #define ALIGNAS 322 218 #define ALIGNOF 323 219 #define ATOMIC 324 220 #define GENERIC 325 221 #define NORETURN 326 222 #define STATICASSERT 327 223 #define THREADLOCAL 328 224 #define IDENTIFIER 329 225 #define QUOTED_IDENTIFIER 330 226 #define TYPEDEFname 331 227 #define TYPEGENname 332 228 #define ATTR_IDENTIFIER 333 229 #define ATTR_TYPEDEFname 334 230 #define ATTR_TYPEGENname 335 231 #define INTEGERconstant 336 232 #define CHARACTERconstant 337 233 #define STRINGliteral 338 234 #define REALDECIMALconstant 339 235 #define REALFRACTIONconstant 340 236 #define FLOATINGconstant 341 237 #define ZERO 342 238 #define ONE 343 239 #define ARROW 344 240 #define ICR 345 241 #define DECR 346 242 #define LS 347 243 #define RS 348 244 #define LE 349 245 #define GE 350 246 #define EQ 351 247 #define NE 352 248 #define ANDAND 353 249 #define OROR 354 250 #define ELLIPSIS 355 251 #define MULTassign 356 252 #define DIVassign 357 253 #define MODassign 358 254 #define PLUSassign 359 255 #define MINUSassign 360 256 #define LSassign 361 257 #define RSassign 362 258 #define ANDassign 363 259 #define ERassign 364 260 #define ORassign 365 261 #define ATassign 366 262 #define THEN 367 172 #define VALIST 279 173 #define BOOL 280 174 #define COMPLEX 281 175 #define IMAGINARY 282 176 #define TYPEOF 283 177 #define LABEL 284 178 #define ENUM 285 179 #define STRUCT 286 180 #define UNION 287 181 #define OTYPE 288 182 #define FTYPE 289 183 #define DTYPE 290 184 #define TRAIT 291 185 #define SIZEOF 292 186 #define OFFSETOF 293 187 #define ATTRIBUTE 294 188 #define EXTENSION 295 189 #define IF 296 190 #define ELSE 297 191 #define SWITCH 298 192 #define CASE 299 193 #define DEFAULT 300 194 #define DO 301 195 #define WHILE 302 196 #define FOR 303 197 #define BREAK 304 198 #define CONTINUE 305 199 #define GOTO 306 200 #define RETURN 307 201 #define CHOOSE 308 202 #define DISABLE 309 203 #define ENABLE 310 204 #define FALLTHRU 311 205 #define TRY 312 206 #define CATCH 313 207 #define CATCHRESUME 314 208 #define FINALLY 315 209 #define THROW 316 210 #define THROWRESUME 317 211 #define AT 318 212 #define ASM 319 213 #define ALIGNAS 320 214 #define ALIGNOF 321 215 #define ATOMIC 322 216 #define GENERIC 323 217 #define NORETURN 324 218 #define STATICASSERT 325 219 #define THREADLOCAL 326 220 #define IDENTIFIER 327 221 #define QUOTED_IDENTIFIER 328 222 #define TYPEDEFname 329 223 #define TYPEGENname 330 224 #define ATTR_IDENTIFIER 331 225 #define ATTR_TYPEDEFname 332 226 #define ATTR_TYPEGENname 333 227 #define INTEGERconstant 334 228 #define CHARACTERconstant 335 229 #define STRINGliteral 336 230 #define REALDECIMALconstant 337 231 #define REALFRACTIONconstant 338 232 #define FLOATINGconstant 339 233 #define ZERO 340 234 #define ONE 341 235 #define ARROW 342 236 #define ICR 343 237 #define DECR 344 238 #define LS 345 239 #define RS 346 240 #define LE 347 241 #define GE 348 242 #define EQ 349 243 #define NE 350 244 #define ANDAND 351 245 #define OROR 352 246 #define ELLIPSIS 353 247 #define MULTassign 354 248 #define DIVassign 355 249 #define MODassign 356 250 #define PLUSassign 357 251 #define MINUSassign 358 252 #define LSassign 359 253 #define RSassign 360 254 #define ANDassign 361 255 #define ERassign 362 256 #define ORassign 363 257 #define ATassign 364 258 #define THEN 365 263 259 264 260 … … 290 286 291 287 /* Line 2068 of yacc.c */ 292 #line 2 93"Parser/parser.h"288 #line 289 "Parser/parser.h" 293 289 } YYSTYPE; 294 290 # define YYSTYPE_IS_TRIVIAL 1 -
src/Parser/parser.yy
r66f8528 r5802a4f 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Dec 14 21:28:22201613 // Update Count : 20 9012 // Last Modified On : Wed Oct 26 17:35:53 2016 13 // Update Count : 2066 14 14 // 15 15 … … 78 78 %token RESTRICT // C99 79 79 %token FORALL LVALUE // CFA 80 %token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED ZERO_T ONE_T80 %token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED 81 81 %token VALIST // GCC 82 82 %token BOOL COMPLEX IMAGINARY // C99 … … 153 153 %type<fctl> for_control_expression 154 154 %type<en> subrange 155 %type<constant> asm_name_opt156 155 %type<en> asm_operands_opt asm_operands_list asm_operand 157 156 %type<label> label_list … … 363 362 { $$ = new ExpressionNode( build_varref( $1 ) ); } 364 363 | zero_one 365 { $$ = new ExpressionNode( build_ constantZeroOne( *$1 ) ); }364 { $$ = new ExpressionNode( build_varref( $1 ) ); } 366 365 | tuple 367 366 | '(' comma_expression ')' … … 413 412 argument_expression: 414 413 // empty 415 { $$ = nullptr; }// use default argument414 { $$ = 0; } // use default argument 416 415 | assignment_expression 417 416 ; … … 444 443 { $$ = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *$1 ), $2 ) ); } 445 444 | no_attr_identifier fraction_constants 446 { 447 if( (*$1) == "0" || (*$1) == "1" ) { 448 $$ = new ExpressionNode( build_field_name_fraction_constants( build_constantZeroOne( *$1 ), $2 ) ); 449 } else { 450 $$ = new ExpressionNode( build_field_name_fraction_constants( build_varref( $1 ), $2 ) ); 451 } 452 } 445 { $$ = new ExpressionNode( build_field_name_fraction_constants( build_varref( $1 ), $2 ) ); } 453 446 ; 454 447 … … 685 678 comma_expression_opt: 686 679 // empty 687 { $$ = nullptr; }680 { $$ = 0; } 688 681 | comma_expression 689 682 ; … … 721 714 | '{' 722 715 // Two scopes are necessary because the block itself has a scope, but every declaration within the block also 723 // requires its own scope .716 // requires its own scope 724 717 push push 725 718 local_label_declaration_opt // GCC, local labels … … 775 768 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 776 769 // statement. 777 $$ = $7 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( $7 ))->set_last( sw )) ) ) : sw;770 $$ = $7 != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( $7 ))->set_last( sw )) ) ) : sw; 778 771 } 779 772 | CHOOSE '(' comma_expression ')' case_clause // CFA … … 782 775 { 783 776 StatementNode *sw = new StatementNode( build_switch( $3, $8 ) ); 784 $$ = $7 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( $7 ))->set_last( sw )) ) ) : sw;777 $$ = $7 != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( $7 ))->set_last( sw )) ) ) : sw; 785 778 } 786 779 ; … … 819 812 switch_clause_list_opt: // CFA 820 813 // empty 821 { $$ = nullptr; }814 { $$ = 0; } 822 815 | switch_clause_list 823 816 ; … … 832 825 choose_clause_list_opt: // CFA 833 826 // empty 834 { $$ = nullptr; }827 { $$ = 0; } 835 828 | choose_clause_list 836 829 ; … … 855 848 fall_through: // CFA 856 849 FALLTHRU 857 { $$ = nullptr; }850 { $$ = 0; } 858 851 | FALLTHRU ';' 859 { $$ = nullptr; }852 { $$ = 0; } 860 853 ; 861 854 … … 991 984 asm_operands_opt: // GCC 992 985 // empty 993 { $$ = nullptr; }// use default argument986 { $$ = 0; } // use default argument 994 987 | asm_operands_list 995 988 ; … … 1010 1003 asm_clobbers_list_opt: // GCC 1011 1004 // empty 1012 { $$ = nullptr; }// use default argument1005 { $$ = 0; } // use default argument 1013 1006 | string_literal 1014 1007 { $$ = new ExpressionNode( $1 ); } 1015 1008 | asm_clobbers_list_opt ',' string_literal 1016 // set_last return ParseNode *1017 1009 { $$ = (ExpressionNode *)$1->set_last( new ExpressionNode( $3 ) ); } 1018 1010 ; … … 1035 1027 declaration_list_opt: // used at beginning of switch statement 1036 1028 pop 1037 { $$ = nullptr; }1029 { $$ = 0; } 1038 1030 | declaration_list 1039 1031 ; … … 1047 1039 old_declaration_list_opt: // used to declare parameter types in K&R style functions 1048 1040 pop 1049 { $$ = nullptr; }1041 { $$ = 0; } 1050 1042 | old_declaration_list 1051 1043 ; … … 1122 1114 { 1123 1115 typedefTable.setNextIdentifier( *$2 ); 1124 $$ = $1->addName( $2 ) ->addAsmName( $3 );1116 $$ = $1->addName( $2 ); 1125 1117 } 1126 1118 | new_abstract_tuple identifier_or_type_name asm_name_opt 1127 1119 { 1128 1120 typedefTable.setNextIdentifier( *$2 ); 1129 $$ = $1->addName( $2 ) ->addAsmName( $3 );1121 $$ = $1->addName( $2 ); 1130 1122 } 1131 1123 | type_qualifier_list new_abstract_tuple identifier_or_type_name asm_name_opt 1132 1124 { 1133 1125 typedefTable.setNextIdentifier( *$3 ); 1134 $$ = $2->addQualifiers( $1 )->addName( $3 ) ->addAsmName( $4 );1126 $$ = $2->addQualifiers( $1 )->addName( $3 ); 1135 1127 } 1136 1128 ; … … 1283 1275 { 1284 1276 typedefTable.addToEnclosingScope( TypedefTable::ID ); 1285 $$ = ( $2->addType( $1 ))->add AsmName( $3 )->addInitializer( $4 );1277 $$ = ( $2->addType( $1 ))->addInitializer( $4 ); 1286 1278 } 1287 1279 | declaring_list ',' attribute_list_opt declarator asm_name_opt initializer_opt 1288 1280 { 1289 1281 typedefTable.addToEnclosingScope( TypedefTable::ID ); 1290 $$ = $1->appendList( $1->cloneBaseType( $4->add AsmName( $5 )->addInitializer( $6 ) ) );1282 $$ = $1->appendList( $1->cloneBaseType( $4->addInitializer( $6 ) ) ); 1291 1283 } 1292 1284 ; … … 1308 1300 type_qualifier_list_opt: // GCC, used in asm_statement 1309 1301 // empty 1310 { $$ = nullptr; }1302 { $$ = 0; } 1311 1303 | type_qualifier_list 1312 1304 ; … … 1418 1410 | VALIST // GCC, __builtin_va_list 1419 1411 { $$ = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 1420 | ZERO_T1421 { $$ = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); }1422 | ONE_T1423 { $$ = DeclarationNode::newBuiltinType( DeclarationNode::One ); }1424 1412 ; 1425 1413 … … 1534 1522 field_declaration_list: 1535 1523 // empty 1536 { $$ = nullptr; }1524 { $$ = 0; } 1537 1525 | field_declaration_list field_declaration 1538 { $$ = $1 ? $1->appendList( $2 ) : $2; }1526 { $$ = $1 != 0 ? $1->appendList( $2 ) : $2; } 1539 1527 ; 1540 1528 … … 1585 1573 bit_subrange_size_opt: 1586 1574 // empty 1587 { $$ = nullptr; }1575 { $$ = 0; } 1588 1576 | bit_subrange_size 1589 1577 { $$ = $1; } … … 1622 1610 enumerator_value_opt: 1623 1611 // empty 1624 { $$ = nullptr; }1612 { $$ = 0; } 1625 1613 | '=' constant_expression 1626 1614 { $$ = $2; } … … 1631 1619 new_parameter_type_list_opt: // CFA 1632 1620 // empty 1633 { $$ = nullptr; }1621 { $$ = 0; } 1634 1622 | new_parameter_type_list 1635 1623 ; … … 1666 1654 parameter_type_list_opt: 1667 1655 // empty 1668 { $$ = nullptr; }1656 { $$ = 0; } 1669 1657 | parameter_type_list 1670 1658 ; … … 1714 1702 { 1715 1703 typedefTable.addToEnclosingScope( TypedefTable::ID ); 1716 $$ = $2->addType( $1 )->addInitializer( $3 ? new InitializerNode( $3 ) : nullptr);1704 $$ = $2->addType( $1 )->addInitializer( new InitializerNode( $3 ) ); 1717 1705 } 1718 1706 | declaration_specifier type_parameter_redeclarator assignment_opt 1719 1707 { 1720 1708 typedefTable.addToEnclosingScope( TypedefTable::ID ); 1721 $$ = $2->addType( $1 )->addInitializer( $3 ? new InitializerNode( $3 ) : nullptr);1709 $$ = $2->addType( $1 )->addInitializer( new InitializerNode( $3 ) ); 1722 1710 } 1723 1711 ; … … 1775 1763 initializer_opt: 1776 1764 // empty 1777 { $$ = nullptr; }1765 { $$ = 0; } 1778 1766 | '=' initializer 1779 1767 { $$ = $2; } … … 1789 1777 initializer_list: 1790 1778 // empty 1791 { $$ = nullptr; }1779 { $$ = 0; } 1792 1780 | initializer 1793 1781 | designation initializer { $$ = $2->set_designators( $1 ); } … … 1900 1888 assertion_list_opt: // CFA 1901 1889 // empty 1902 { $$ = nullptr; }1890 { $$ = 0; } 1903 1891 | assertion_list_opt assertion 1904 { $$ = $1 ? $1->appendList( $2 ) : $2; }1892 { $$ = $1 != 0 ? $1->appendList( $2 ) : $2; } 1905 1893 ; 1906 1894 … … 1914 1902 { $$ = $4; } 1915 1903 | '|' '(' push type_parameter_list pop ')' '{' push trait_declaration_list '}' '(' type_name_list ')' 1916 { $$ = nullptr; }1904 { $$ = 0; } 1917 1905 ; 1918 1906 … … 2023 2011 {} // empty input file 2024 2012 | external_definition_list 2025 { parseTree = parseTree ? parseTree->appendList( $1 ) : $1; }2013 { parseTree = parseTree != nullptr ? parseTree->appendList( $1 ) : $1; } 2026 2014 ; 2027 2015 … … 2029 2017 external_definition 2030 2018 | external_definition_list push external_definition 2031 { $$ = $1 ? $1->appendList( $3 ) : $3; }2019 { $$ = $1 != nullptr ? $1->appendList( $3 ) : $3; } 2032 2020 ; 2033 2021 2034 2022 external_definition_list_opt: 2035 2023 // empty 2036 { $$ = nullptr; }2024 { $$ = 0; } 2037 2025 | external_definition_list 2038 2026 ; … … 2157 2145 asm_name_opt: // GCC 2158 2146 // empty 2159 { $$ = nullptr; } 2160 | ASM '(' string_literal ')' attribute_list_opt 2161 { $$ = $3; } 2147 | ASM '(' string_literal_list ')' attribute_list_opt { delete $3; } // FIX ME: unimplemented 2162 2148 ; 2163 2149 2164 2150 attribute_list_opt: // GCC 2165 2151 // empty 2166 { $$ = nullptr; }2152 { $$ = 0; } 2167 2153 | attribute_list 2168 2154 ; … … 2177 2163 ATTRIBUTE '(' '(' attribute_parameter_list ')' ')' 2178 2164 // { $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); } 2179 { $$ = nullptr; }2165 { $$ = 0; } 2180 2166 ; 2181 2167 … … 2886 2872 assignment_opt: 2887 2873 // empty 2888 { $$ = nullptr; }2874 { $$ = 0; } 2889 2875 | '=' assignment_expression 2890 2876 { $$ = $2; } -
src/Parser/parseutility.cc
r66f8528 r5802a4f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // parseutility.cc -- 7 // parseutility.cc -- 8 8 // 9 9 // Author : Rodolfo G. Esteves … … 12 12 // Last Modified On : Sun Aug 14 23:45:03 2016 13 13 // Update Count : 3 14 // 14 // 15 15 16 16 #include "parseutility.h" … … 26 26 UntypedExpr *comparison = new UntypedExpr( new NameExpr( "?!=?" ) ); 27 27 comparison->get_args().push_back( orig ); 28 comparison->get_args().push_back( new ConstantExpr( Constant( new ZeroType( emptyQualifiers ), "0" )) );28 comparison->get_args().push_back( new NameExpr( "0" ) ); 29 29 return new CastExpr( comparison, new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ); 30 30 } -
src/ResolvExpr/CommonType.cc
r66f8528 r5802a4f 42 42 virtual void visit( OneType *oneType ); 43 43 44 void getCommonWithVoidPointer( PointerType* voidPointer, PointerType* otherPointer );45 44 template< typename RefType > void handleRefType( RefType *inst, Type *other ); 46 45 … … 144 143 } 145 144 146 void CommonType::getCommonWithVoidPointer( PointerType* voidPointer, PointerType* otherPointer ) { 147 if ( TypeInstType* var = dynamic_cast< TypeInstType* >( otherPointer->get_base() ) ) { 148 OpenVarSet::const_iterator entry = openVars.find( var->get_name() ); 149 if ( entry != openVars.end() ) { 150 AssertionSet need, have; 151 WidenMode widen( widenFirst, widenSecond ); 152 if ( entry != openVars.end() && ! bindVar(var, voidPointer->get_base(), entry->second, env, need, have, openVars, widen, indexer ) ) return; 153 } 145 /// true if a common type for t must be a complete type 146 bool requiredComplete( Type * t ) { 147 if ( TypeInstType * inst = dynamic_cast< TypeInstType * > ( t ) ) { 148 return inst->get_baseType()->isComplete(); 154 149 } 155 result = voidPointer->clone(); 156 result->get_qualifiers() += otherPointer->get_qualifiers(); 150 return false; 157 151 } 158 152 159 153 void CommonType::visit( PointerType *pointerType ) { 160 154 if ( PointerType *otherPointer = dynamic_cast< PointerType* >( type2 ) ) { 161 if ( widenFirst && dynamic_cast< VoidType* >( otherPointer->get_base() ) && ! isFtype(pointerType->get_base(), indexer) ) { 162 getCommonWithVoidPointer( otherPointer, pointerType ); 155 // Note: relationship between formal and actual types is antisymmetric 156 // void free(void *); 157 // forall(otype T) void foo(T *); 158 // 159 // should be able to pass T* to free, but should not be able to pass a void* to foo. 160 // because of this, the requiredComplete check occurs only on the first, since it corresponds 161 // to the formal parameter type (though this may be incorrect in some cases, in which case 162 // perhaps the widen mode needs to incorporate another bit for whether this is a formal or actual context) 163 if ( widenFirst && dynamic_cast< VoidType* >( otherPointer->get_base() ) && ! isFtype(pointerType->get_base(), indexer) && ! requiredComplete( pointerType->get_base() ) ) { 164 result = otherPointer->clone(); 165 result->get_qualifiers() += pointerType->get_qualifiers(); 163 166 } else if ( widenSecond && dynamic_cast< VoidType* >( pointerType->get_base() ) && ! isFtype(otherPointer->get_base(), indexer) ) { 164 getCommonWithVoidPointer( pointerType, otherPointer ); 167 result = pointerType->clone(); 168 result->get_qualifiers() += otherPointer->get_qualifiers(); 165 169 } else if ( ( pointerType->get_base()->get_qualifiers() >= otherPointer->get_base()->get_qualifiers() || widenFirst ) 166 170 && ( pointerType->get_base()->get_qualifiers() <= otherPointer->get_base()->get_qualifiers() || widenSecond ) ) { … … 252 256 result->get_qualifiers() += zeroType->get_qualifiers(); 253 257 } 254 } else if ( widenSecond && dynamic_cast< OneType* >( type2 ) ) {255 result = new BasicType( zeroType->get_qualifiers(), BasicType::SignedInt );256 result->get_qualifiers() += type2->get_qualifiers();257 258 } 258 259 } … … 266 267 result->get_qualifiers() += oneType->get_qualifiers(); 267 268 } 268 } else if ( widenSecond && dynamic_cast< ZeroType* >( type2 ) ) {269 result = new BasicType( oneType->get_qualifiers(), BasicType::SignedInt );270 result->get_qualifiers() += type2->get_qualifiers();271 269 } 272 270 } -
src/ResolvExpr/Resolver.cc
r66f8528 r5802a4f 404 404 template< typename AggrInst > 405 405 TypeSubstitution makeGenericSubstitutuion( AggrInst * inst ) { 406 assert( inst );407 assert( inst->get_baseParameters() );408 406 std::list< TypeDecl * > baseParams = *inst->get_baseParameters(); 409 407 std::list< Expression * > typeSubs = inst->get_parameters(); … … 446 444 447 445 void Resolver::resolveAggrInit( ReferenceToType * inst, InitIterator & init, InitIterator & initEnd ) { 446 448 447 if ( StructInstType * sit = dynamic_cast< StructInstType * >( inst ) ) { 449 448 TypeSubstitution sub = makeGenericSubstitutuion( sit ); … … 456 455 } 457 456 } else if ( UnionInstType * uit = dynamic_cast< UnionInstType * >( inst ) ) { 458 TypeSubstitution sub = makeGenericSubstitutuion( uit );457 TypeSubstitution sub = makeGenericSubstitutuion( sit ); 459 458 UnionDecl * un = uit->get_baseUnion(); 460 459 // only resolve to the first member of a union -
src/ResolvExpr/Unify.cc
r66f8528 r5802a4f 31 31 32 32 namespace ResolvExpr { 33 struct WidenMode { 34 WidenMode( bool widenFirst, bool widenSecond ): widenFirst( widenFirst ), widenSecond( widenSecond ) {} 35 WidenMode &operator|=( const WidenMode &other ) { widenFirst |= other.widenFirst; widenSecond |= other.widenSecond; return *this; } 36 WidenMode &operator&=( const WidenMode &other ) { widenFirst &= other.widenFirst; widenSecond &= other.widenSecond; return *this; } 37 WidenMode operator|( const WidenMode &other ) { WidenMode newWM( *this ); newWM |= other; return newWM; } 38 WidenMode operator&( const WidenMode &other ) { WidenMode newWM( *this ); newWM &= other; return newWM; } 39 operator bool() { return widenFirst && widenSecond; } 40 41 bool widenFirst : 1, widenSecond : 1; 42 }; 33 43 34 44 class Unify : public Visitor { -
src/ResolvExpr/Unify.h
r66f8528 r5802a4f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // Unify.h -- 7 // Unify.h -- 8 8 // 9 9 // Author : Richard C. Bilson … … 27 27 28 28 namespace ResolvExpr { 29 struct WidenMode {30 WidenMode( bool widenFirst, bool widenSecond ): widenFirst( widenFirst ), widenSecond( widenSecond ) {}31 WidenMode &operator|=( const WidenMode &other ) { widenFirst |= other.widenFirst; widenSecond |= other.widenSecond; return *this; }32 WidenMode &operator&=( const WidenMode &other ) { widenFirst &= other.widenFirst; widenSecond &= other.widenSecond; return *this; }33 WidenMode operator|( const WidenMode &other ) { WidenMode newWM( *this ); newWM |= other; return newWM; }34 WidenMode operator&( const WidenMode &other ) { WidenMode newWM( *this ); newWM &= other; return newWM; }35 operator bool() { return widenFirst && widenSecond; }36 37 bool widenFirst : 1, widenSecond : 1;38 };39 40 bool bindVar( TypeInstType *typeInst, Type *other, const TypeDecl::Data & data, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, const OpenVarSet &openVars, WidenMode widenMode, const SymTab::Indexer &indexer );41 29 bool unify( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer ); 42 30 bool unify( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer, Type *&commonType ); -
src/SymTab/Autogen.h
r66f8528 r5802a4f 88 88 if ( forward ) { 89 89 // generate: for ( int i = 0; i < 0; ++i ) 90 begin = new ConstantExpr( Constant( new ZeroType( emptyQualifiers ), "0" ));90 begin = new NameExpr( "0" ); 91 91 end = array->get_dimension()->clone(); 92 92 cmp = new NameExpr( "?<?" ); … … 96 96 begin = new UntypedExpr( new NameExpr( "?-?" ) ); 97 97 ((UntypedExpr*)begin)->get_args().push_back( array->get_dimension()->clone() ); 98 ((UntypedExpr*)begin)->get_args().push_back( new ConstantExpr( Constant( new OneType( emptyQualifiers ), "1" )) );99 end = new ConstantExpr( Constant( new ZeroType( emptyQualifiers ), "0" ));98 ((UntypedExpr*)begin)->get_args().push_back( new NameExpr( "1" ) ); 99 end = new NameExpr( "0" ); 100 100 cmp = new NameExpr( "?>=?" ); 101 101 update = new NameExpr( "--?" ); … … 175 175 } // namespace SymTab 176 176 #endif // AUTOGEN_H 177 -
src/SynTree/Declaration.h
r66f8528 r5802a4f 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 13:37:33201613 // Update Count : 4 912 // Last Modified On : Thu Aug 18 23:50:24 2016 13 // Update Count : 40 14 14 // 15 15 … … 69 69 70 70 std::string get_mangleName() const { return mangleName; } 71 DeclarationWithType * set_mangleName( std::string newValue ) { mangleName = newValue; return this; }71 void set_mangleName( std::string newValue ) { mangleName = newValue; } 72 72 73 73 std::string get_scopedMangleName() const { return mangleName + "_" + std::to_string(scopeLevel); } 74 74 75 75 int get_scopeLevel() const { return scopeLevel; } 76 DeclarationWithType * set_scopeLevel( int newValue ) { scopeLevel = newValue; return this; } 77 78 ConstantExpr *get_asmName() const { return asmName; } 79 DeclarationWithType * set_asmName( ConstantExpr *newValue ) { asmName = newValue; return this; } 76 void set_scopeLevel( int newValue ) { scopeLevel = newValue; } 80 77 81 78 std::list< Attribute * >& get_attributes() { return attributes; } … … 90 87 // this represents the type with all types and typedefs expanded it is generated by SymTab::Validate::Pass2 91 88 std::string mangleName; 92 // need to remember the scope level at which the variable was declared, so that shadowed identifiers can be accessed 89 // need to remember the scope level at which the variable was declared, so that 90 // shadowed identifiers can be accessed 93 91 int scopeLevel = 0; 94 92 95 ConstantExpr *asmName;96 93 std::list< Attribute * > attributes; 97 94 }; … … 109 106 Initializer *get_init() const { return init; } 110 107 void set_init( Initializer *newValue ) { init = newValue; } 111 112 108 Expression *get_bitfieldWidth() const { return bitfieldWidth; } 113 109 void set_bitfieldWidth( Expression *newValue ) { bitfieldWidth = newValue; } -
src/SynTree/DeclarationWithType.cc
r66f8528 r5802a4f 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 14:49:43201613 // Update Count : 712 // Last Modified On : Thu Aug 18 23:50:41 2016 13 // Update Count : 4 14 14 // 15 15 … … 20 20 21 21 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes ) 22 : Declaration( name, sc, linkage ), asmName( nullptr), attributes( attributes ) {22 : Declaration( name, sc, linkage ), attributes( attributes ) { 23 23 } 24 24 … … 26 26 : Declaration( other ), mangleName( other.mangleName ), scopeLevel( other.scopeLevel ) { 27 27 cloneAll( other.attributes, attributes ); 28 asmName = maybeClone( other.asmName );29 28 } 30 29 31 30 DeclarationWithType::~DeclarationWithType() { 32 31 deleteAll( attributes ); 33 delete asmName;34 32 } 35 33 -
src/SynTree/Expression.cc
r66f8528 r5802a4f 438 438 } 439 439 440 NameExpr::NameExpr( std::string _name, Expression *_aname ) : Expression( _aname ), name(_name) { 441 assertf(_name != "0", "Zero is not a valid name\n"); 442 assertf(_name != "1", "One is not a valid name\n"); 443 } 440 NameExpr::NameExpr( std::string _name, Expression *_aname ) : Expression( _aname ), name(_name) {} 444 441 445 442 NameExpr::NameExpr( const NameExpr &other ) : Expression( other ), name( other.name ) { -
src/SynTree/Type.h
r66f8528 r5802a4f 82 82 ForallList forall; 83 83 }; 84 85 extern Type::Qualifiers emptyQualifiers; // no qualifiers on constants86 84 87 85 class VoidType : public Type { -
src/driver/Makefile.am
r66f8528 r5802a4f 16 16 17 17 # applies to both programs 18 AM_CXXFLAGS = -Wall -O2 19 if BUILD_NO_LIB 20 else 21 AM_CXXFLAGS += -DHAVE_LIBCFA 22 endif 23 if BUILD_DEBUG 24 AM_CXXFLAGS += -DHAVE_LIBCFA_DEBUG 25 endif 26 if BUILD_RELEASE 27 AM_CXXFLAGS += -DHAVE_LIBCFA_RELEASE 28 endif 18 AM_CXXFLAGS = -Wall 29 19 30 20 bin_PROGRAMS = cfa -
src/driver/Makefile.in
r66f8528 r5802a4f 36 36 PRE_UNINSTALL = : 37 37 POST_UNINSTALL = : 38 build_triplet = @build@39 host_triplet = @host@40 @BUILD_NO_LIB_FALSE@am__append_1 = -DHAVE_LIBCFA41 @BUILD_DEBUG_TRUE@am__append_2 = -DHAVE_LIBCFA_DEBUG42 @BUILD_RELEASE_TRUE@am__append_3 = -DHAVE_LIBCFA_RELEASE43 38 bin_PROGRAMS = cfa$(EXEEXT) 44 39 cc1lib_PROGRAMS = cc1$(EXEEXT) … … 97 92 BACKEND_CC = @BACKEND_CC@ 98 93 CC = @CC@ 99 CCAS = @CCAS@100 CCASDEPMODE = @CCASDEPMODE@101 CCASFLAGS = @CCASFLAGS@102 94 CCDEPMODE = @CCDEPMODE@ 103 95 CFA_BACKEND_CC = @CFA_BACKEND_CC@ … … 134 126 LIBS = @LIBS@ 135 127 LTLIBOBJS = @LTLIBOBJS@ 136 MACHINE_TYPE = @MACHINE_TYPE@137 128 MAINT = @MAINT@ 138 129 MAKEINFO = @MAKEINFO@ … … 166 157 am__untar = @am__untar@ 167 158 bindir = @bindir@ 168 build = @build@169 159 build_alias = @build_alias@ 170 build_cpu = @build_cpu@171 build_os = @build_os@172 build_vendor = @build_vendor@173 160 builddir = @builddir@ 174 161 datadir = @datadir@ … … 177 164 dvidir = @dvidir@ 178 165 exec_prefix = @exec_prefix@ 179 host = @host@180 166 host_alias = @host_alias@ 181 host_cpu = @host_cpu@182 host_os = @host_os@183 host_vendor = @host_vendor@184 167 htmldir = @htmldir@ 185 168 includedir = @includedir@ … … 207 190 208 191 # applies to both programs 209 AM_CXXFLAGS = -Wall -O2 $(am__append_1) $(am__append_2) \ 210 $(am__append_3) 192 AM_CXXFLAGS = -Wall 211 193 cfa_SOURCES = cfa.cc 212 194 -
src/driver/cfa.cc
r66f8528 r5802a4f 231 231 } // if 232 232 233 string d; 234 if ( debug ) { 235 d = "-d"; 236 } // if 237 233 238 // add the CFA include-library paths, which allow direct access to header files without directory qualification 239 234 240 args[nargs] = "-I" CFA_INCDIR; 235 241 nargs += 1; … … 238 244 nargs += 1; 239 245 } // if 240 args[nargs] = "-I" CFA_INCDIR "/concurrency";241 nargs += 1;242 246 args[nargs] = "-I" CFA_INCDIR "/containers"; 243 247 nargs += 1; 244 248 245 #ifdef HAVE_LIBCFA246 249 if ( link ) { 247 #if ! defined(HAVE_LIBCFA_RELEASE)248 if( !debug ) {249 cerr << "error: Option -nodebug is not available, libcfa was not installed." << endl;250 exit( EXIT_FAILURE );251 }252 #endif253 #if ! defined(HAVE_LIBCFA_DEBUG)254 if( debug ) {255 cerr << "error: Option -debug is not available, libcfa-d was not installed." << endl;256 exit( EXIT_FAILURE );257 }258 #endif259 260 250 // include the cfa library in case it's needed 261 251 args[nargs] = "-L" CFA_LIBDIR; 262 252 nargs += 1; 263 if( debug ) { 264 args[nargs] = "-lcfa-d"; 265 } else { 266 args[nargs] = "-lcfa"; 267 } 268 nargs += 1; 269 } // if 270 #endif //HAVE_LIBCFA 253 args[nargs] = "-lcfa"; 254 nargs += 1; 255 } // if 271 256 272 257 // add the correct set of flags based on the type of compile this is -
src/examples/Makefile.am
r66f8528 r5802a4f 16 16 17 17 # applies to both programs 18 CFLAGS = 19 AM_CFLAGS = -g -Wall -Wno-unused-function -O2 18 CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2 20 19 CC = @CFA_BINDIR@/cfa 21 20 22 noinst_PROGRAMS = fstream_test vector_test avl_test Bench# build but do not install21 noinst_PROGRAMS = fstream_test vector_test avl_test # build but do not install 23 22 fstream_test_SOURCES = fstream_test.c 24 23 vector_test_SOURCES = vector_int.c array.c vector_test.c 25 24 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c 26 27 Bench : Bench.c28 @for ccflags in "-debug" "-nodebug"; do \29 echo ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\30 ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\31 ./a.out ; \32 done ; \33 rm -f ./a.out ; -
src/examples/Makefile.in
r66f8528 r5802a4f 36 36 PRE_UNINSTALL = : 37 37 POST_UNINSTALL = : 38 build_triplet = @build@39 host_triplet = @host@40 38 noinst_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT) \ 41 avl_test$(EXEEXT) Bench$(EXEEXT)39 avl_test$(EXEEXT) 42 40 subdir = src/examples 43 41 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in … … 51 49 CONFIG_CLEAN_VPATH_FILES = 52 50 PROGRAMS = $(noinst_PROGRAMS) 53 Bench_SOURCES = Bench.c54 Bench_OBJECTS = Bench.$(OBJEXT)55 Bench_LDADD = $(LDADD)56 51 am_avl_test_OBJECTS = avl_test.$(OBJEXT) avl0.$(OBJEXT) avl1.$(OBJEXT) \ 57 52 avl2.$(OBJEXT) avl3.$(OBJEXT) avl4.$(OBJEXT) \ … … 89 84 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 90 85 am__v_GEN_0 = @echo " GEN " $@; 91 SOURCES = Bench.c$(avl_test_SOURCES) $(fstream_test_SOURCES) \86 SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES) \ 92 87 $(vector_test_SOURCES) 93 DIST_SOURCES = Bench.c$(avl_test_SOURCES) $(fstream_test_SOURCES) \88 DIST_SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES) \ 94 89 $(vector_test_SOURCES) 95 90 ETAGS = etags … … 106 101 BACKEND_CC = @BACKEND_CC@ 107 102 CC = @CFA_BINDIR@/cfa 108 CCAS = @CCAS@109 CCASDEPMODE = @CCASDEPMODE@110 CCASFLAGS = @CCASFLAGS@111 103 CCDEPMODE = @CCDEPMODE@ 112 104 CFA_BACKEND_CC = @CFA_BACKEND_CC@ … … 118 110 119 111 # applies to both programs 120 CFLAGS = 112 CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2 121 113 CPP = @CPP@ 122 114 CPPFLAGS = @CPPFLAGS@ … … 145 137 LIBS = @LIBS@ 146 138 LTLIBOBJS = @LTLIBOBJS@ 147 MACHINE_TYPE = @MACHINE_TYPE@148 139 MAINT = @MAINT@ 149 140 MAKEINFO = @MAKEINFO@ … … 177 168 am__untar = @am__untar@ 178 169 bindir = @bindir@ 179 build = @build@180 170 build_alias = @build_alias@ 181 build_cpu = @build_cpu@182 build_os = @build_os@183 build_vendor = @build_vendor@184 171 builddir = @builddir@ 185 172 datadir = @datadir@ … … 188 175 dvidir = @dvidir@ 189 176 exec_prefix = @exec_prefix@ 190 host = @host@191 177 host_alias = @host_alias@ 192 host_cpu = @host_cpu@193 host_os = @host_os@194 host_vendor = @host_vendor@195 178 htmldir = @htmldir@ 196 179 includedir = @includedir@ … … 216 199 top_builddir = @top_builddir@ 217 200 top_srcdir = @top_srcdir@ 218 AM_CFLAGS = -g -Wall -Wno-unused-function -O2219 201 fstream_test_SOURCES = fstream_test.c 220 202 vector_test_SOURCES = vector_int.c array.c vector_test.c … … 273 255 -rm -f *.tab.c 274 256 275 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bench.Po@am__quote@276 257 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@ 277 258 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avl-private.Po@am__quote@ … … 599 580 600 581 601 Bench : Bench.c602 @for ccflags in "-debug" "-nodebug"; do \603 echo ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\604 ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\605 ./a.out ; \606 done ; \607 rm -f ./a.out ;608 609 582 # Tell versions [3.59,3.63) of GNU make to not export all variables. 610 583 # Otherwise a system limit (for SysV at least) may be exceeded. -
src/libcfa/Makefile.am
r66f8528 r5802a4f 11 11 ## Created On : Sun May 31 08:54:01 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Wed Dec 14 15:17:30201614 ## Update Count : 21113 ## Last Modified On : Fri Aug 26 12:03:37 2016 14 ## Update Count : 199 15 15 ############################################################################### 16 16 … … 18 18 AUTOMAKE_OPTIONS = subdir-objects 19 19 20 lib_LIBRARIES = 20 lib_LIBRARIES = libcfa.a 21 21 22 if BUILD_RELEASE 23 lib_LIBRARIES += libcfa.a 24 endif22 # put into lib for now 23 cfalibdir = ${libdir} 24 cfalib_DATA = builtins.cf extras.cf prelude.cf 25 25 26 if BUILD_DEBUG 27 lib_LIBRARIES += libcfa-d.a 28 endif26 # create extra forward types/declarations to reduce inclusion of library files 27 extras.cf : extras.regx extras.c 28 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E ${srcdir}/extras.c | grep -f extras.regx > ${srcdir}/extras.cf 29 29 30 libcfa_a-libcfa-prelude.o : libcfa-prelude.c 31 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -O2 -c -o $@ $< 30 # create forward declarations for gcc builtins 31 builtins.cf : builtins.c 32 ${AM_V_GEN}if [ -e $< ] ; then \ 33 @BACKEND_CC@ -E -P $^ | sed -e "/targetm/s/.*//" -e "/_Decimal/s/.*//" -e "s/void (const char \*)0();//" -e "s/\"//g" -e "s/\(__builtin_\) /\1/" > $@ ; \ 34 fi 32 35 33 libcfa_d_a-libcfa-prelude.o : libcfa-prelude.c 34 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -D__CFA_DEBUG__ -O0 -c -o $@ $< 36 builtins.c : builtins.def prototypes.awk 37 ${AM_V_GEN}if [ -e $< ] ; then \ 38 @BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@ ; \ 39 fi 35 40 36 EXTRA_FLAGS = -g -Wall -Wno-unused-function -I${abs_top_srcdir}/src/libcfa/libhdr -imacros libcfa-prelude.c @CFA_FLAGS@ 41 builtins.def : 37 42 38 AM_CCASFLAGS = @CFA_FLAGS@ 39 CFLAGS = -quiet -no-include-stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS} 43 prototypes.awk : 44 45 MAINTAINERCLEANFILES = builtins.cf extras.cf ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} 46 47 #-------------------------------------------------- 48 49 libcfa-prelude.c : ${srcdir}/prelude.cf ${srcdir}/extras.cf ${srcdir}/builtins.cf 50 ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -l ${srcdir}/prelude.cf $@ # use src/cfa-cpp as not in lib until after install 51 52 libcfa-prelude.o : libcfa-prelude.c 53 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -c -o $@ $< 54 55 CFLAGS = -quiet -no-include-stdhdr -g -Wall -Wno-unused-function @CFA_FLAGS@ -B${abs_top_srcdir}/src/driver -XCFA -t # TEMPORARY: does not build with -O2 40 56 CC = ${abs_top_srcdir}/src/driver/cfa 41 57 42 headers = limits stdlib math iostream fstream iterator rational assert containers/vector concurrency/threads 43 runtimehdrs = concurrency 58 headers = limits stdlib math iostream fstream iterator rational containers/vector 44 59 libobjs = ${headers:=.o} 45 60 … … 48 63 @true 49 64 50 concurrency/libcfa_a-invoke.o : concurrency/invoke.c51 ${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -O2 ${EXTRA_FLAGS} -c -o $@ $<52 53 concurrency/libcfa_d_a-invoke.o : concurrency/invoke.c54 ${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<55 56 65 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator 57 66 58 libsrc = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/invoke.c 59 60 libcfa_a_SOURCES = ${libsrc} 61 libcfa_a_CFLAGS = -nodebug -O2 62 libcfa_d_a_SOURCES = ${libsrc} 63 libcfa_d_a_CFLAGS = -debug -O0 67 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} 64 68 65 69 stdhdr = ${shell echo stdhdr/*} 66 70 67 nobase_include_HEADERS = ${headers} ${stdhdr} concurrency/invoke.h71 nobase_include_HEADERS = ${headers} ${stdhdr} 68 72 69 73 CLEANFILES = libcfa-prelude.c -
src/libcfa/Makefile.in
r66f8528 r5802a4f 18 18 ######################## -*- Mode: Makefile-Automake -*- ###################### 19 19 ############################################################################### 20 20 21 21 22 … … 37 38 PRE_UNINSTALL = : 38 39 POST_UNINSTALL = : 39 build_triplet = @build@40 host_triplet = @host@41 @BUILD_RELEASE_TRUE@am__append_1 = libcfa.a42 @BUILD_DEBUG_TRUE@am__append_2 = libcfa-d.a43 40 subdir = src/libcfa 44 41 DIST_COMMON = $(nobase_include_HEADERS) $(srcdir)/Makefile.am \ … … 79 76 $(am__cd) "$$dir" && rm -f $$files; }; \ 80 77 } 81 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" 78 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfalibdir)" \ 79 "$(DESTDIR)$(includedir)" 82 80 LIBRARIES = $(lib_LIBRARIES) 83 81 AR = ar … … 89 87 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 90 88 am__v_at_0 = @ 91 libcfa_d_a_AR = $(AR) $(ARFLAGS)92 libcfa_d_a_LIBADD =93 am__dirstamp = $(am__leading_dot)dirstamp94 am__objects_1 = libcfa_d_a-limits.$(OBJEXT) \95 libcfa_d_a-stdlib.$(OBJEXT) libcfa_d_a-math.$(OBJEXT) \96 libcfa_d_a-iostream.$(OBJEXT) libcfa_d_a-fstream.$(OBJEXT) \97 libcfa_d_a-iterator.$(OBJEXT) libcfa_d_a-rational.$(OBJEXT) \98 libcfa_d_a-assert.$(OBJEXT) \99 containers/libcfa_d_a-vector.$(OBJEXT) \100 concurrency/libcfa_d_a-threads.$(OBJEXT)101 am__objects_2 = libcfa_d_a-libcfa-prelude.$(OBJEXT) $(am__objects_1) \102 concurrency/CtxSwitch-@MACHINE_TYPE@.$(OBJEXT) \103 concurrency/libcfa_d_a-invoke.$(OBJEXT)104 am_libcfa_d_a_OBJECTS = $(am__objects_2)105 libcfa_d_a_OBJECTS = $(am_libcfa_d_a_OBJECTS)106 89 libcfa_a_AR = $(AR) $(ARFLAGS) 107 90 libcfa_a_LIBADD = 108 am__objects_3 = libcfa_a-limits.$(OBJEXT) libcfa_a-stdlib.$(OBJEXT) \ 109 libcfa_a-math.$(OBJEXT) libcfa_a-iostream.$(OBJEXT) \ 110 libcfa_a-fstream.$(OBJEXT) libcfa_a-iterator.$(OBJEXT) \ 111 libcfa_a-rational.$(OBJEXT) libcfa_a-assert.$(OBJEXT) \ 112 containers/libcfa_a-vector.$(OBJEXT) \ 113 concurrency/libcfa_a-threads.$(OBJEXT) 114 am__objects_4 = libcfa_a-libcfa-prelude.$(OBJEXT) $(am__objects_3) \ 115 concurrency/CtxSwitch-@MACHINE_TYPE@.$(OBJEXT) \ 116 concurrency/libcfa_a-invoke.$(OBJEXT) 117 am_libcfa_a_OBJECTS = $(am__objects_4) 91 am__dirstamp = $(am__leading_dot)dirstamp 92 am__objects_1 = limits.$(OBJEXT) stdlib.$(OBJEXT) math.$(OBJEXT) \ 93 iostream.$(OBJEXT) fstream.$(OBJEXT) iterator.$(OBJEXT) \ 94 rational.$(OBJEXT) containers/vector.$(OBJEXT) 95 am_libcfa_a_OBJECTS = libcfa-prelude.$(OBJEXT) $(am__objects_1) 118 96 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS) 119 97 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) … … 121 99 am__depfiles_maybe = depfiles 122 100 am__mv = mv -f 123 CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \124 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)125 AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)126 am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)127 am__v_CPPAS_0 = @echo " CPPAS " $@;128 AM_V_lt = $(am__v_lt_@AM_V@)129 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)130 am__v_lt_0 = --silent131 101 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 132 102 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) … … 142 112 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 143 113 am__v_GEN_0 = @echo " GEN " $@; 144 SOURCES = $(libcfa_d_a_SOURCES) $(libcfa_a_SOURCES) 145 DIST_SOURCES = $(libcfa_d_a_SOURCES) $(libcfa_a_SOURCES) 114 SOURCES = $(libcfa_a_SOURCES) 115 DIST_SOURCES = $(libcfa_a_SOURCES) 116 DATA = $(cfalib_DATA) 146 117 HEADERS = $(nobase_include_HEADERS) 147 118 ETAGS = etags … … 158 129 BACKEND_CC = @BACKEND_CC@ 159 130 CC = ${abs_top_srcdir}/src/driver/cfa 160 CCAS = @CCAS@161 CCASDEPMODE = @CCASDEPMODE@162 CCASFLAGS = @CCASFLAGS@163 131 CCDEPMODE = @CCDEPMODE@ 164 132 CFA_BACKEND_CC = @CFA_BACKEND_CC@ … … 168 136 CFA_LIBDIR = @CFA_LIBDIR@ 169 137 CFA_PREFIX = @CFA_PREFIX@ 170 CFLAGS = -quiet -no-include-stdhdr - XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS}138 CFLAGS = -quiet -no-include-stdhdr -g -Wall -Wno-unused-function @CFA_FLAGS@ -B${abs_top_srcdir}/src/driver -XCFA -t # TEMPORARY: does not build with -O2 171 139 CPP = @CPP@ 172 140 CPPFLAGS = @CPPFLAGS@ … … 195 163 LIBS = @LIBS@ 196 164 LTLIBOBJS = @LTLIBOBJS@ 197 MACHINE_TYPE = @MACHINE_TYPE@198 165 MAINT = @MAINT@ 199 166 MAKEINFO = @MAKEINFO@ … … 227 194 am__untar = @am__untar@ 228 195 bindir = @bindir@ 229 build = @build@230 196 build_alias = @build_alias@ 231 build_cpu = @build_cpu@232 build_os = @build_os@233 build_vendor = @build_vendor@234 197 builddir = @builddir@ 235 198 datadir = @datadir@ … … 238 201 dvidir = @dvidir@ 239 202 exec_prefix = @exec_prefix@ 240 host = @host@241 203 host_alias = @host_alias@ 242 host_cpu = @host_cpu@243 host_os = @host_os@244 host_vendor = @host_vendor@245 204 htmldir = @htmldir@ 246 205 includedir = @includedir@ … … 269 228 # create object files in directory with source files 270 229 AUTOMAKE_OPTIONS = subdir-objects 271 lib_LIBRARIES = $(am__append_1) $(am__append_2) 272 EXTRA_FLAGS = -g -Wall -Wno-unused-function -I${abs_top_srcdir}/src/libcfa/libhdr -imacros libcfa-prelude.c @CFA_FLAGS@ 273 AM_CCASFLAGS = @CFA_FLAGS@ 274 headers = limits stdlib math iostream fstream iterator rational assert containers/vector concurrency/threads 275 runtimehdrs = concurrency 230 lib_LIBRARIES = libcfa.a 231 232 # put into lib for now 233 cfalibdir = ${libdir} 234 cfalib_DATA = builtins.cf extras.cf prelude.cf 235 MAINTAINERCLEANFILES = builtins.cf extras.cf ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} 236 headers = limits stdlib math iostream fstream iterator rational containers/vector 276 237 libobjs = ${headers:=.o} 277 libsrc = libcfa-prelude.c ${headers:=.c} concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/invoke.c 278 libcfa_a_SOURCES = ${libsrc} 279 libcfa_a_CFLAGS = -nodebug -O2 280 libcfa_d_a_SOURCES = ${libsrc} 281 libcfa_d_a_CFLAGS = -debug -O0 238 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} 282 239 stdhdr = ${shell echo stdhdr/*} 283 nobase_include_HEADERS = ${headers} ${stdhdr} concurrency/invoke.h240 nobase_include_HEADERS = ${headers} ${stdhdr} 284 241 CLEANFILES = libcfa-prelude.c 285 242 all: all-am 286 243 287 244 .SUFFIXES: 288 .SUFFIXES: . S .c .o .obj245 .SUFFIXES: .c .o .obj 289 246 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 290 247 @for dep in $?; do \ … … 353 310 @$(MKDIR_P) containers/$(DEPDIR) 354 311 @: > containers/$(DEPDIR)/$(am__dirstamp) 355 containers/ libcfa_d_a-vector.$(OBJEXT): containers/$(am__dirstamp) \312 containers/vector.$(OBJEXT): containers/$(am__dirstamp) \ 356 313 containers/$(DEPDIR)/$(am__dirstamp) 357 concurrency/$(am__dirstamp):358 @$(MKDIR_P) concurrency359 @: > concurrency/$(am__dirstamp)360 concurrency/$(DEPDIR)/$(am__dirstamp):361 @$(MKDIR_P) concurrency/$(DEPDIR)362 @: > concurrency/$(DEPDIR)/$(am__dirstamp)363 concurrency/libcfa_d_a-threads.$(OBJEXT): concurrency/$(am__dirstamp) \364 concurrency/$(DEPDIR)/$(am__dirstamp)365 concurrency/CtxSwitch-@MACHINE_TYPE@.$(OBJEXT): \366 concurrency/$(am__dirstamp) \367 concurrency/$(DEPDIR)/$(am__dirstamp)368 concurrency/libcfa_d_a-invoke.$(OBJEXT): concurrency/$(am__dirstamp) \369 concurrency/$(DEPDIR)/$(am__dirstamp)370 libcfa-d.a: $(libcfa_d_a_OBJECTS) $(libcfa_d_a_DEPENDENCIES) $(EXTRA_libcfa_d_a_DEPENDENCIES)371 $(AM_V_at)-rm -f libcfa-d.a372 $(AM_V_AR)$(libcfa_d_a_AR) libcfa-d.a $(libcfa_d_a_OBJECTS) $(libcfa_d_a_LIBADD)373 $(AM_V_at)$(RANLIB) libcfa-d.a374 containers/libcfa_a-vector.$(OBJEXT): containers/$(am__dirstamp) \375 containers/$(DEPDIR)/$(am__dirstamp)376 concurrency/libcfa_a-threads.$(OBJEXT): concurrency/$(am__dirstamp) \377 concurrency/$(DEPDIR)/$(am__dirstamp)378 concurrency/libcfa_a-invoke.$(OBJEXT): concurrency/$(am__dirstamp) \379 concurrency/$(DEPDIR)/$(am__dirstamp)380 314 libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES) 381 315 $(AM_V_at)-rm -f libcfa.a … … 385 319 mostlyclean-compile: 386 320 -rm -f *.$(OBJEXT) 387 -rm -f concurrency/CtxSwitch-@MACHINE_TYPE@.$(OBJEXT) 388 -rm -f concurrency/libcfa_a-invoke.$(OBJEXT) 389 -rm -f concurrency/libcfa_a-threads.$(OBJEXT) 390 -rm -f concurrency/libcfa_d_a-invoke.$(OBJEXT) 391 -rm -f concurrency/libcfa_d_a-threads.$(OBJEXT) 392 -rm -f containers/libcfa_a-vector.$(OBJEXT) 393 -rm -f containers/libcfa_d_a-vector.$(OBJEXT) 321 -rm -f containers/vector.$(OBJEXT) 394 322 395 323 distclean-compile: 396 324 -rm -f *.tab.c 397 325 398 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-assert.Po@am__quote@ 399 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-fstream.Po@am__quote@ 400 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-iostream.Po@am__quote@ 401 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-iterator.Po@am__quote@ 402 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-libcfa-prelude.Po@am__quote@ 403 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-limits.Po@am__quote@ 404 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-math.Po@am__quote@ 405 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-rational.Po@am__quote@ 406 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-stdlib.Po@am__quote@ 407 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-assert.Po@am__quote@ 408 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-fstream.Po@am__quote@ 409 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-iostream.Po@am__quote@ 410 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-iterator.Po@am__quote@ 411 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-libcfa-prelude.Po@am__quote@ 412 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-limits.Po@am__quote@ 413 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-math.Po@am__quote@ 414 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-rational.Po@am__quote@ 415 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-stdlib.Po@am__quote@ 416 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@MACHINE_TYPE@.Po@am__quote@ 417 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-invoke.Po@am__quote@ 418 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-threads.Po@am__quote@ 419 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_d_a-invoke.Po@am__quote@ 420 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_d_a-threads.Po@am__quote@ 421 @AMDEP_TRUE@@am__include@ @am__quote@containers/$(DEPDIR)/libcfa_a-vector.Po@am__quote@ 422 @AMDEP_TRUE@@am__include@ @am__quote@containers/$(DEPDIR)/libcfa_d_a-vector.Po@am__quote@ 423 424 .S.o: 425 @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ 426 @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 427 @am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 428 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 429 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 430 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $< 431 432 .S.obj: 433 @am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ 434 @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ 435 @am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po 436 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 437 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 438 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 326 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream.Po@am__quote@ 327 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iostream.Po@am__quote@ 328 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator.Po@am__quote@ 329 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa-prelude.Po@am__quote@ 330 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/limits.Po@am__quote@ 331 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/math.Po@am__quote@ 332 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rational.Po@am__quote@ 333 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdlib.Po@am__quote@ 334 @AMDEP_TRUE@@am__include@ @am__quote@containers/$(DEPDIR)/vector.Po@am__quote@ 439 335 440 336 .c.o: … … 453 349 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 454 350 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 455 456 libcfa_d_a-libcfa-prelude.obj: libcfa-prelude.c 457 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-libcfa-prelude.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-libcfa-prelude.Tpo -c -o libcfa_d_a-libcfa-prelude.obj `if test -f 'libcfa-prelude.c'; then $(CYGPATH_W) 'libcfa-prelude.c'; else $(CYGPATH_W) '$(srcdir)/libcfa-prelude.c'; fi` 458 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-libcfa-prelude.Tpo $(DEPDIR)/libcfa_d_a-libcfa-prelude.Po 459 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libcfa-prelude.c' object='libcfa_d_a-libcfa-prelude.obj' libtool=no @AMDEPBACKSLASH@ 460 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 461 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-libcfa-prelude.obj `if test -f 'libcfa-prelude.c'; then $(CYGPATH_W) 'libcfa-prelude.c'; else $(CYGPATH_W) '$(srcdir)/libcfa-prelude.c'; fi` 462 463 libcfa_d_a-limits.o: limits.c 464 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-limits.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-limits.Tpo -c -o libcfa_d_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c 465 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-limits.Tpo $(DEPDIR)/libcfa_d_a-limits.Po 466 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='limits.c' object='libcfa_d_a-limits.o' libtool=no @AMDEPBACKSLASH@ 467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 468 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c 469 470 libcfa_d_a-limits.obj: limits.c 471 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-limits.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-limits.Tpo -c -o libcfa_d_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi` 472 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-limits.Tpo $(DEPDIR)/libcfa_d_a-limits.Po 473 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='limits.c' object='libcfa_d_a-limits.obj' libtool=no @AMDEPBACKSLASH@ 474 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 475 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi` 476 477 libcfa_d_a-stdlib.o: stdlib.c 478 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-stdlib.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-stdlib.Tpo -c -o libcfa_d_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c 479 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-stdlib.Tpo $(DEPDIR)/libcfa_d_a-stdlib.Po 480 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdlib.c' object='libcfa_d_a-stdlib.o' libtool=no @AMDEPBACKSLASH@ 481 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 482 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c 483 484 libcfa_d_a-stdlib.obj: stdlib.c 485 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-stdlib.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-stdlib.Tpo -c -o libcfa_d_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi` 486 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-stdlib.Tpo $(DEPDIR)/libcfa_d_a-stdlib.Po 487 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdlib.c' object='libcfa_d_a-stdlib.obj' libtool=no @AMDEPBACKSLASH@ 488 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 489 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi` 490 491 libcfa_d_a-math.o: math.c 492 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-math.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-math.Tpo -c -o libcfa_d_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c 493 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-math.Tpo $(DEPDIR)/libcfa_d_a-math.Po 494 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='math.c' object='libcfa_d_a-math.o' libtool=no @AMDEPBACKSLASH@ 495 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 496 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c 497 498 libcfa_d_a-math.obj: math.c 499 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-math.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-math.Tpo -c -o libcfa_d_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi` 500 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-math.Tpo $(DEPDIR)/libcfa_d_a-math.Po 501 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='math.c' object='libcfa_d_a-math.obj' libtool=no @AMDEPBACKSLASH@ 502 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 503 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi` 504 505 libcfa_d_a-iostream.o: iostream.c 506 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iostream.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-iostream.Tpo -c -o libcfa_d_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c 507 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iostream.Tpo $(DEPDIR)/libcfa_d_a-iostream.Po 508 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iostream.c' object='libcfa_d_a-iostream.o' libtool=no @AMDEPBACKSLASH@ 509 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 510 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c 511 512 libcfa_d_a-iostream.obj: iostream.c 513 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iostream.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-iostream.Tpo -c -o libcfa_d_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi` 514 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iostream.Tpo $(DEPDIR)/libcfa_d_a-iostream.Po 515 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iostream.c' object='libcfa_d_a-iostream.obj' libtool=no @AMDEPBACKSLASH@ 516 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 517 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi` 518 519 libcfa_d_a-fstream.o: fstream.c 520 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-fstream.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-fstream.Tpo -c -o libcfa_d_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c 521 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-fstream.Tpo $(DEPDIR)/libcfa_d_a-fstream.Po 522 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fstream.c' object='libcfa_d_a-fstream.o' libtool=no @AMDEPBACKSLASH@ 523 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 524 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c 525 526 libcfa_d_a-fstream.obj: fstream.c 527 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-fstream.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-fstream.Tpo -c -o libcfa_d_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi` 528 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-fstream.Tpo $(DEPDIR)/libcfa_d_a-fstream.Po 529 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fstream.c' object='libcfa_d_a-fstream.obj' libtool=no @AMDEPBACKSLASH@ 530 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 531 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi` 532 533 libcfa_d_a-iterator.o: iterator.c 534 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iterator.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-iterator.Tpo -c -o libcfa_d_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c 535 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iterator.Tpo $(DEPDIR)/libcfa_d_a-iterator.Po 536 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iterator.c' object='libcfa_d_a-iterator.o' libtool=no @AMDEPBACKSLASH@ 537 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 538 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c 539 540 libcfa_d_a-iterator.obj: iterator.c 541 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iterator.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-iterator.Tpo -c -o libcfa_d_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi` 542 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iterator.Tpo $(DEPDIR)/libcfa_d_a-iterator.Po 543 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iterator.c' object='libcfa_d_a-iterator.obj' libtool=no @AMDEPBACKSLASH@ 544 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 545 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi` 546 547 libcfa_d_a-rational.o: rational.c 548 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-rational.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-rational.Tpo -c -o libcfa_d_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c 549 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-rational.Tpo $(DEPDIR)/libcfa_d_a-rational.Po 550 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rational.c' object='libcfa_d_a-rational.o' libtool=no @AMDEPBACKSLASH@ 551 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 552 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c 553 554 libcfa_d_a-rational.obj: rational.c 555 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-rational.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-rational.Tpo -c -o libcfa_d_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi` 556 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-rational.Tpo $(DEPDIR)/libcfa_d_a-rational.Po 557 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rational.c' object='libcfa_d_a-rational.obj' libtool=no @AMDEPBACKSLASH@ 558 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 559 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi` 560 561 libcfa_d_a-assert.o: assert.c 562 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-assert.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-assert.Tpo -c -o libcfa_d_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c 563 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-assert.Tpo $(DEPDIR)/libcfa_d_a-assert.Po 564 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='assert.c' object='libcfa_d_a-assert.o' libtool=no @AMDEPBACKSLASH@ 565 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 566 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c 567 568 libcfa_d_a-assert.obj: assert.c 569 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-assert.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-assert.Tpo -c -o libcfa_d_a-assert.obj `if test -f 'assert.c'; then $(CYGPATH_W) 'assert.c'; else $(CYGPATH_W) '$(srcdir)/assert.c'; fi` 570 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-assert.Tpo $(DEPDIR)/libcfa_d_a-assert.Po 571 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='assert.c' object='libcfa_d_a-assert.obj' libtool=no @AMDEPBACKSLASH@ 572 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 573 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-assert.obj `if test -f 'assert.c'; then $(CYGPATH_W) 'assert.c'; else $(CYGPATH_W) '$(srcdir)/assert.c'; fi` 574 575 containers/libcfa_d_a-vector.o: containers/vector.c 576 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-vector.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-vector.Tpo -c -o containers/libcfa_d_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c 577 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-vector.Tpo containers/$(DEPDIR)/libcfa_d_a-vector.Po 578 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='containers/vector.c' object='containers/libcfa_d_a-vector.o' libtool=no @AMDEPBACKSLASH@ 579 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 580 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c 581 582 containers/libcfa_d_a-vector.obj: containers/vector.c 583 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-vector.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-vector.Tpo -c -o containers/libcfa_d_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi` 584 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-vector.Tpo containers/$(DEPDIR)/libcfa_d_a-vector.Po 585 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='containers/vector.c' object='containers/libcfa_d_a-vector.obj' libtool=no @AMDEPBACKSLASH@ 586 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 587 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi` 588 589 concurrency/libcfa_d_a-threads.o: concurrency/threads.c 590 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-threads.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-threads.Tpo -c -o concurrency/libcfa_d_a-threads.o `test -f 'concurrency/threads.c' || echo '$(srcdir)/'`concurrency/threads.c 591 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-threads.Tpo concurrency/$(DEPDIR)/libcfa_d_a-threads.Po 592 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='concurrency/threads.c' object='concurrency/libcfa_d_a-threads.o' libtool=no @AMDEPBACKSLASH@ 593 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 594 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-threads.o `test -f 'concurrency/threads.c' || echo '$(srcdir)/'`concurrency/threads.c 595 596 concurrency/libcfa_d_a-threads.obj: concurrency/threads.c 597 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-threads.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-threads.Tpo -c -o concurrency/libcfa_d_a-threads.obj `if test -f 'concurrency/threads.c'; then $(CYGPATH_W) 'concurrency/threads.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/threads.c'; fi` 598 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-threads.Tpo concurrency/$(DEPDIR)/libcfa_d_a-threads.Po 599 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='concurrency/threads.c' object='concurrency/libcfa_d_a-threads.obj' libtool=no @AMDEPBACKSLASH@ 600 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 601 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-threads.obj `if test -f 'concurrency/threads.c'; then $(CYGPATH_W) 'concurrency/threads.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/threads.c'; fi` 602 603 concurrency/libcfa_d_a-invoke.obj: concurrency/invoke.c 604 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-invoke.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-invoke.Tpo -c -o concurrency/libcfa_d_a-invoke.obj `if test -f 'concurrency/invoke.c'; then $(CYGPATH_W) 'concurrency/invoke.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/invoke.c'; fi` 605 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-invoke.Tpo concurrency/$(DEPDIR)/libcfa_d_a-invoke.Po 606 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='concurrency/invoke.c' object='concurrency/libcfa_d_a-invoke.obj' libtool=no @AMDEPBACKSLASH@ 607 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 608 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-invoke.obj `if test -f 'concurrency/invoke.c'; then $(CYGPATH_W) 'concurrency/invoke.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/invoke.c'; fi` 609 610 libcfa_a-libcfa-prelude.obj: libcfa-prelude.c 611 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-libcfa-prelude.obj -MD -MP -MF $(DEPDIR)/libcfa_a-libcfa-prelude.Tpo -c -o libcfa_a-libcfa-prelude.obj `if test -f 'libcfa-prelude.c'; then $(CYGPATH_W) 'libcfa-prelude.c'; else $(CYGPATH_W) '$(srcdir)/libcfa-prelude.c'; fi` 612 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-libcfa-prelude.Tpo $(DEPDIR)/libcfa_a-libcfa-prelude.Po 613 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libcfa-prelude.c' object='libcfa_a-libcfa-prelude.obj' libtool=no @AMDEPBACKSLASH@ 614 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 615 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-libcfa-prelude.obj `if test -f 'libcfa-prelude.c'; then $(CYGPATH_W) 'libcfa-prelude.c'; else $(CYGPATH_W) '$(srcdir)/libcfa-prelude.c'; fi` 616 617 libcfa_a-limits.o: limits.c 618 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-limits.o -MD -MP -MF $(DEPDIR)/libcfa_a-limits.Tpo -c -o libcfa_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c 619 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-limits.Tpo $(DEPDIR)/libcfa_a-limits.Po 620 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='limits.c' object='libcfa_a-limits.o' libtool=no @AMDEPBACKSLASH@ 621 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 622 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c 623 624 libcfa_a-limits.obj: limits.c 625 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-limits.obj -MD -MP -MF $(DEPDIR)/libcfa_a-limits.Tpo -c -o libcfa_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi` 626 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-limits.Tpo $(DEPDIR)/libcfa_a-limits.Po 627 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='limits.c' object='libcfa_a-limits.obj' libtool=no @AMDEPBACKSLASH@ 628 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 629 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi` 630 631 libcfa_a-stdlib.o: stdlib.c 632 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-stdlib.o -MD -MP -MF $(DEPDIR)/libcfa_a-stdlib.Tpo -c -o libcfa_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c 633 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-stdlib.Tpo $(DEPDIR)/libcfa_a-stdlib.Po 634 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdlib.c' object='libcfa_a-stdlib.o' libtool=no @AMDEPBACKSLASH@ 635 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 636 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c 637 638 libcfa_a-stdlib.obj: stdlib.c 639 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-stdlib.obj -MD -MP -MF $(DEPDIR)/libcfa_a-stdlib.Tpo -c -o libcfa_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi` 640 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-stdlib.Tpo $(DEPDIR)/libcfa_a-stdlib.Po 641 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdlib.c' object='libcfa_a-stdlib.obj' libtool=no @AMDEPBACKSLASH@ 642 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 643 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi` 644 645 libcfa_a-math.o: math.c 646 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-math.o -MD -MP -MF $(DEPDIR)/libcfa_a-math.Tpo -c -o libcfa_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c 647 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-math.Tpo $(DEPDIR)/libcfa_a-math.Po 648 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='math.c' object='libcfa_a-math.o' libtool=no @AMDEPBACKSLASH@ 649 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 650 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c 651 652 libcfa_a-math.obj: math.c 653 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-math.obj -MD -MP -MF $(DEPDIR)/libcfa_a-math.Tpo -c -o libcfa_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi` 654 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-math.Tpo $(DEPDIR)/libcfa_a-math.Po 655 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='math.c' object='libcfa_a-math.obj' libtool=no @AMDEPBACKSLASH@ 656 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 657 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi` 658 659 libcfa_a-iostream.o: iostream.c 660 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iostream.o -MD -MP -MF $(DEPDIR)/libcfa_a-iostream.Tpo -c -o libcfa_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c 661 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iostream.Tpo $(DEPDIR)/libcfa_a-iostream.Po 662 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iostream.c' object='libcfa_a-iostream.o' libtool=no @AMDEPBACKSLASH@ 663 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 664 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c 665 666 libcfa_a-iostream.obj: iostream.c 667 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iostream.obj -MD -MP -MF $(DEPDIR)/libcfa_a-iostream.Tpo -c -o libcfa_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi` 668 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iostream.Tpo $(DEPDIR)/libcfa_a-iostream.Po 669 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iostream.c' object='libcfa_a-iostream.obj' libtool=no @AMDEPBACKSLASH@ 670 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 671 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi` 672 673 libcfa_a-fstream.o: fstream.c 674 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-fstream.o -MD -MP -MF $(DEPDIR)/libcfa_a-fstream.Tpo -c -o libcfa_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c 675 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-fstream.Tpo $(DEPDIR)/libcfa_a-fstream.Po 676 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fstream.c' object='libcfa_a-fstream.o' libtool=no @AMDEPBACKSLASH@ 677 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 678 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c 679 680 libcfa_a-fstream.obj: fstream.c 681 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-fstream.obj -MD -MP -MF $(DEPDIR)/libcfa_a-fstream.Tpo -c -o libcfa_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi` 682 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-fstream.Tpo $(DEPDIR)/libcfa_a-fstream.Po 683 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fstream.c' object='libcfa_a-fstream.obj' libtool=no @AMDEPBACKSLASH@ 684 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 685 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi` 686 687 libcfa_a-iterator.o: iterator.c 688 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iterator.o -MD -MP -MF $(DEPDIR)/libcfa_a-iterator.Tpo -c -o libcfa_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c 689 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iterator.Tpo $(DEPDIR)/libcfa_a-iterator.Po 690 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iterator.c' object='libcfa_a-iterator.o' libtool=no @AMDEPBACKSLASH@ 691 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 692 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c 693 694 libcfa_a-iterator.obj: iterator.c 695 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iterator.obj -MD -MP -MF $(DEPDIR)/libcfa_a-iterator.Tpo -c -o libcfa_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi` 696 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iterator.Tpo $(DEPDIR)/libcfa_a-iterator.Po 697 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iterator.c' object='libcfa_a-iterator.obj' libtool=no @AMDEPBACKSLASH@ 698 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 699 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi` 700 701 libcfa_a-rational.o: rational.c 702 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-rational.o -MD -MP -MF $(DEPDIR)/libcfa_a-rational.Tpo -c -o libcfa_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c 703 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-rational.Tpo $(DEPDIR)/libcfa_a-rational.Po 704 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rational.c' object='libcfa_a-rational.o' libtool=no @AMDEPBACKSLASH@ 705 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 706 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c 707 708 libcfa_a-rational.obj: rational.c 709 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-rational.obj -MD -MP -MF $(DEPDIR)/libcfa_a-rational.Tpo -c -o libcfa_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi` 710 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-rational.Tpo $(DEPDIR)/libcfa_a-rational.Po 711 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rational.c' object='libcfa_a-rational.obj' libtool=no @AMDEPBACKSLASH@ 712 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 713 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi` 714 715 libcfa_a-assert.o: assert.c 716 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-assert.o -MD -MP -MF $(DEPDIR)/libcfa_a-assert.Tpo -c -o libcfa_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c 717 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-assert.Tpo $(DEPDIR)/libcfa_a-assert.Po 718 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='assert.c' object='libcfa_a-assert.o' libtool=no @AMDEPBACKSLASH@ 719 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 720 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c 721 722 libcfa_a-assert.obj: assert.c 723 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-assert.obj -MD -MP -MF $(DEPDIR)/libcfa_a-assert.Tpo -c -o libcfa_a-assert.obj `if test -f 'assert.c'; then $(CYGPATH_W) 'assert.c'; else $(CYGPATH_W) '$(srcdir)/assert.c'; fi` 724 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-assert.Tpo $(DEPDIR)/libcfa_a-assert.Po 725 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='assert.c' object='libcfa_a-assert.obj' libtool=no @AMDEPBACKSLASH@ 726 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 727 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-assert.obj `if test -f 'assert.c'; then $(CYGPATH_W) 'assert.c'; else $(CYGPATH_W) '$(srcdir)/assert.c'; fi` 728 729 containers/libcfa_a-vector.o: containers/vector.c 730 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-vector.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-vector.Tpo -c -o containers/libcfa_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c 731 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-vector.Tpo containers/$(DEPDIR)/libcfa_a-vector.Po 732 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='containers/vector.c' object='containers/libcfa_a-vector.o' libtool=no @AMDEPBACKSLASH@ 733 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 734 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c 735 736 containers/libcfa_a-vector.obj: containers/vector.c 737 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-vector.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-vector.Tpo -c -o containers/libcfa_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi` 738 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-vector.Tpo containers/$(DEPDIR)/libcfa_a-vector.Po 739 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='containers/vector.c' object='containers/libcfa_a-vector.obj' libtool=no @AMDEPBACKSLASH@ 740 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 741 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi` 742 743 concurrency/libcfa_a-threads.o: concurrency/threads.c 744 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-threads.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-threads.Tpo -c -o concurrency/libcfa_a-threads.o `test -f 'concurrency/threads.c' || echo '$(srcdir)/'`concurrency/threads.c 745 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-threads.Tpo concurrency/$(DEPDIR)/libcfa_a-threads.Po 746 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='concurrency/threads.c' object='concurrency/libcfa_a-threads.o' libtool=no @AMDEPBACKSLASH@ 747 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 748 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-threads.o `test -f 'concurrency/threads.c' || echo '$(srcdir)/'`concurrency/threads.c 749 750 concurrency/libcfa_a-threads.obj: concurrency/threads.c 751 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-threads.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-threads.Tpo -c -o concurrency/libcfa_a-threads.obj `if test -f 'concurrency/threads.c'; then $(CYGPATH_W) 'concurrency/threads.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/threads.c'; fi` 752 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-threads.Tpo concurrency/$(DEPDIR)/libcfa_a-threads.Po 753 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='concurrency/threads.c' object='concurrency/libcfa_a-threads.obj' libtool=no @AMDEPBACKSLASH@ 754 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 755 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-threads.obj `if test -f 'concurrency/threads.c'; then $(CYGPATH_W) 'concurrency/threads.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/threads.c'; fi` 756 757 concurrency/libcfa_a-invoke.obj: concurrency/invoke.c 758 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-invoke.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-invoke.Tpo -c -o concurrency/libcfa_a-invoke.obj `if test -f 'concurrency/invoke.c'; then $(CYGPATH_W) 'concurrency/invoke.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/invoke.c'; fi` 759 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-invoke.Tpo concurrency/$(DEPDIR)/libcfa_a-invoke.Po 760 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='concurrency/invoke.c' object='concurrency/libcfa_a-invoke.obj' libtool=no @AMDEPBACKSLASH@ 761 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 762 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-invoke.obj `if test -f 'concurrency/invoke.c'; then $(CYGPATH_W) 'concurrency/invoke.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/invoke.c'; fi` 351 install-cfalibDATA: $(cfalib_DATA) 352 @$(NORMAL_INSTALL) 353 test -z "$(cfalibdir)" || $(MKDIR_P) "$(DESTDIR)$(cfalibdir)" 354 @list='$(cfalib_DATA)'; test -n "$(cfalibdir)" || list=; \ 355 for p in $$list; do \ 356 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 357 echo "$$d$$p"; \ 358 done | $(am__base_list) | \ 359 while read files; do \ 360 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cfalibdir)'"; \ 361 $(INSTALL_DATA) $$files "$(DESTDIR)$(cfalibdir)" || exit $$?; \ 362 done 363 364 uninstall-cfalibDATA: 365 @$(NORMAL_UNINSTALL) 366 @list='$(cfalib_DATA)'; test -n "$(cfalibdir)" || list=; \ 367 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ 368 dir='$(DESTDIR)$(cfalibdir)'; $(am__uninstall_files_from_dir) 763 369 install-nobase_includeHEADERS: $(nobase_include_HEADERS) 764 370 @$(NORMAL_INSTALL) … … 867 473 check-am: all-am 868 474 check: check-am 869 all-am: Makefile $(LIBRARIES) $( HEADERS)475 all-am: Makefile $(LIBRARIES) $(DATA) $(HEADERS) 870 476 installdirs: 871 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$( includedir)"; do \477 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfalibdir)" "$(DESTDIR)$(includedir)"; do \ 872 478 test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 873 479 done … … 899 505 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 900 506 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 901 -rm -f concurrency/$(DEPDIR)/$(am__dirstamp)902 -rm -f concurrency/$(am__dirstamp)903 507 -rm -f containers/$(DEPDIR)/$(am__dirstamp) 904 508 -rm -f containers/$(am__dirstamp) … … 907 511 @echo "This command is intended for maintainers to use" 908 512 @echo "it deletes files that may require special tools to rebuild." 513 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) 909 514 clean: clean-am 910 515 … … 912 517 913 518 distclean: distclean-am 914 -rm -rf ./$(DEPDIR) con currency/$(DEPDIR) containers/$(DEPDIR)519 -rm -rf ./$(DEPDIR) containers/$(DEPDIR) 915 520 -rm -f Makefile 916 521 distclean-am: clean-am distclean-compile distclean-generic \ … … 929 534 info-am: 930 535 931 install-data-am: install- nobase_includeHEADERS536 install-data-am: install-cfalibDATA install-nobase_includeHEADERS 932 537 933 538 install-dvi: install-dvi-am … … 958 563 959 564 maintainer-clean: maintainer-clean-am 960 -rm -rf ./$(DEPDIR) con currency/$(DEPDIR) containers/$(DEPDIR)565 -rm -rf ./$(DEPDIR) containers/$(DEPDIR) 961 566 -rm -f Makefile 962 567 maintainer-clean-am: distclean-am maintainer-clean-generic \ … … 975 580 ps-am: 976 581 977 uninstall-am: uninstall-libLIBRARIES uninstall-nobase_includeHEADERS 582 uninstall-am: uninstall-cfalibDATA uninstall-libLIBRARIES \ 583 uninstall-nobase_includeHEADERS 978 584 979 585 .MAKE: install-am install-strip … … 982 588 clean-libLIBRARIES ctags distclean distclean-compile \ 983 589 distclean-generic distclean-tags distdir dvi dvi-am html \ 984 html-am info info-am install install-am install- data\985 install-data -am install-dvi install-dvi-am install-exec\986 install-exec -am install-html install-html-am install-info\987 install-info -am install-libLIBRARIES install-man \590 html-am info info-am install install-am install-cfalibDATA \ 591 install-data install-data-am install-dvi install-dvi-am \ 592 install-exec install-exec-am install-html install-html-am \ 593 install-info install-info-am install-libLIBRARIES install-man \ 988 594 install-nobase_includeHEADERS install-pdf install-pdf-am \ 989 595 install-ps install-ps-am install-strip installcheck \ … … 991 597 maintainer-clean-generic maintainer-clean-local mostlyclean \ 992 598 mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ 993 tags uninstall uninstall-am uninstall-libLIBRARIES \ 994 uninstall-nobase_includeHEADERS 995 996 997 libcfa_a-libcfa-prelude.o : libcfa-prelude.c 998 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -O2 -c -o $@ $< 999 1000 libcfa_d_a-libcfa-prelude.o : libcfa-prelude.c 1001 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -D__CFA_DEBUG__ -O0 -c -o $@ $< 599 tags uninstall uninstall-am uninstall-cfalibDATA \ 600 uninstall-libLIBRARIES uninstall-nobase_includeHEADERS 601 602 603 # create extra forward types/declarations to reduce inclusion of library files 604 extras.cf : extras.regx extras.c 605 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E ${srcdir}/extras.c | grep -f extras.regx > ${srcdir}/extras.cf 606 607 # create forward declarations for gcc builtins 608 builtins.cf : builtins.c 609 ${AM_V_GEN}if [ -e $< ] ; then \ 610 @BACKEND_CC@ -E -P $^ | sed -e "/targetm/s/.*//" -e "/_Decimal/s/.*//" -e "s/void (const char \*)0();//" -e "s/\"//g" -e "s/\(__builtin_\) /\1/" > $@ ; \ 611 fi 612 613 builtins.c : builtins.def prototypes.awk 614 ${AM_V_GEN}if [ -e $< ] ; then \ 615 @BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@ ; \ 616 fi 617 618 builtins.def : 619 620 prototypes.awk : 621 622 #-------------------------------------------------- 623 624 libcfa-prelude.c : ${srcdir}/prelude.cf ${srcdir}/extras.cf ${srcdir}/builtins.cf 625 ${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -l ${srcdir}/prelude.cf $@ # use src/cfa-cpp as not in lib until after install 626 627 libcfa-prelude.o : libcfa-prelude.c 628 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -c -o $@ $< 1002 629 1003 630 # extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing … … 1005 632 @true 1006 633 1007 concurrency/libcfa_a-invoke.o : concurrency/invoke.c1008 ${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -O2 ${EXTRA_FLAGS} -c -o $@ $<1009 1010 concurrency/libcfa_d_a-invoke.o : concurrency/invoke.c1011 ${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<1012 1013 634 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator 1014 635 -
src/libcfa/stdhdr/assert.h
r66f8528 r5802a4f 14 14 // 15 15 16 #ifdef __CFORALL__17 16 extern "C" { 18 #endif //__CFORALL__ 19 20 // has internal check for multiple expansion 21 #include_next <assert.h> 22 23 #ifdef __CFORALL__ 17 #include_next <assert.h> // has internal check for multiple expansion 24 18 } // extern "C" 25 #endif //__CFORALL__26 19 27 20 // Local Variables: // -
src/main.cc
r66f8528 r5802a4f 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Dec 14 14:35:54201613 // Update Count : 43 612 // Last Modified On : Sun Oct 30 10:11:38 2016 13 // Update Count : 435 14 14 // 15 15 … … 178 178 if ( ! nopreludep ) { // include gcc builtins 179 179 // -l is for initial build ONLY and builtins.cf is not in the lib directory so access it here. 180 FILE * builtins = fopen( libcfap | treep ? " ../prelude/builtins.cf" : CFA_LIBDIR "/builtins.cf", "r" );180 FILE * builtins = fopen( libcfap | treep ? "builtins.cf" : CFA_LIBDIR "/builtins.cf", "r" ); 181 181 assertf( builtins, "cannot open builtins.cf\n" ); 182 182 parse( builtins, LinkageSpec::Compiler ); 183 183 184 184 // read the extra prelude in, if not generating the cfa library 185 FILE * extras = fopen( libcfap | treep ? " ../prelude/extras.cf" : CFA_LIBDIR "/extras.cf", "r" );185 FILE * extras = fopen( libcfap | treep ? "extras.cf" : CFA_LIBDIR "/extras.cf", "r" ); 186 186 assertf( extras, "cannot open extras.cf\n" ); 187 187 parse( extras, LinkageSpec::C ); … … 189 189 if ( ! libcfap ) { 190 190 // read the prelude in, if not generating the cfa library 191 FILE * prelude = fopen( treep ? " ../prelude/prelude.cf" : CFA_LIBDIR "/prelude.cf", "r" );191 FILE * prelude = fopen( treep ? "prelude.cf" : CFA_LIBDIR "/prelude.cf", "r" ); 192 192 assertf( prelude, "cannot open prelude.cf\n" ); 193 193 parse( prelude, LinkageSpec::Intrinsic ); -
src/tests/.expect/32/declarationSpecifier.txt
r66f8528 r5802a4f 20 20 static inline void ___constructor__F_P13s__anonymous013s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, struct __anonymous0 ___src__13s__anonymous0_1); 21 21 static inline void ___destructor__F_P13s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1); 22 static inline void ___constructor__F_P13s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1){23 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))) /* ?{} */);24 }25 static inline void ___constructor__F_P13s__anonymous013s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, struct __anonymous0 ___src__13s__anonymous0_1){26 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))=___src__13s__anonymous0_1.__i__i_1) /* ?{} */);27 }28 static inline void ___destructor__F_P13s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1){29 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))) /* ^?{} */);30 }31 22 static inline struct __anonymous0 ___operator_assign__F13s__anonymous0_P13s__anonymous013s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, struct __anonymous0 ___src__13s__anonymous0_1){ 32 23 ((void)((*___dst__P13s__anonymous0_1).__i__i_1=___src__13s__anonymous0_1.__i__i_1)); 33 24 return ((struct __anonymous0 )___src__13s__anonymous0_1); 25 } 26 static inline void ___constructor__F_P13s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1){ 27 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))) /* ?{} */); 28 } 29 static inline void ___constructor__F_P13s__anonymous013s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, struct __anonymous0 ___src__13s__anonymous0_1){ 30 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))=___src__13s__anonymous0_1.__i__i_1) /* ?{} */); 31 } 32 static inline void ___destructor__F_P13s__anonymous0_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1){ 33 ((void)((*((int *)(&(*___dst__P13s__anonymous0_1).__i__i_1)))) /* ^?{} */); 34 34 } 35 35 static inline void ___constructor__F_P13s__anonymous0i_autogen___1(struct __anonymous0 *___dst__P13s__anonymous0_1, int __i__i_1){ … … 44 44 static inline void ___constructor__F_P13s__anonymous113s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, struct __anonymous1 ___src__13s__anonymous1_1); 45 45 static inline void ___destructor__F_P13s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1); 46 static inline void ___constructor__F_P13s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1){47 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))) /* ?{} */);48 }49 static inline void ___constructor__F_P13s__anonymous113s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, struct __anonymous1 ___src__13s__anonymous1_1){50 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))=___src__13s__anonymous1_1.__i__i_1) /* ?{} */);51 }52 static inline void ___destructor__F_P13s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1){53 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))) /* ^?{} */);54 }55 46 static inline struct __anonymous1 ___operator_assign__F13s__anonymous1_P13s__anonymous113s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, struct __anonymous1 ___src__13s__anonymous1_1){ 56 47 ((void)((*___dst__P13s__anonymous1_1).__i__i_1=___src__13s__anonymous1_1.__i__i_1)); 57 48 return ((struct __anonymous1 )___src__13s__anonymous1_1); 49 } 50 static inline void ___constructor__F_P13s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1){ 51 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))) /* ?{} */); 52 } 53 static inline void ___constructor__F_P13s__anonymous113s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, struct __anonymous1 ___src__13s__anonymous1_1){ 54 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))=___src__13s__anonymous1_1.__i__i_1) /* ?{} */); 55 } 56 static inline void ___destructor__F_P13s__anonymous1_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1){ 57 ((void)((*((int *)(&(*___dst__P13s__anonymous1_1).__i__i_1)))) /* ^?{} */); 58 58 } 59 59 static inline void ___constructor__F_P13s__anonymous1i_autogen___1(struct __anonymous1 *___dst__P13s__anonymous1_1, int __i__i_1){ … … 68 68 static inline void ___constructor__F_P13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1); 69 69 static inline void ___destructor__F_P13s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1); 70 static inline void ___constructor__F_P13s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1){71 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))) /* ?{} */);72 }73 static inline void ___constructor__F_P13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1){74 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))=___src__13s__anonymous2_1.__i__i_1) /* ?{} */);75 }76 static inline void ___destructor__F_P13s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1){77 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))) /* ^?{} */);78 }79 70 static inline struct __anonymous2 ___operator_assign__F13s__anonymous2_P13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1){ 80 71 ((void)((*___dst__P13s__anonymous2_1).__i__i_1=___src__13s__anonymous2_1.__i__i_1)); 81 72 return ((struct __anonymous2 )___src__13s__anonymous2_1); 73 } 74 static inline void ___constructor__F_P13s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1){ 75 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))) /* ?{} */); 76 } 77 static inline void ___constructor__F_P13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1){ 78 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))=___src__13s__anonymous2_1.__i__i_1) /* ?{} */); 79 } 80 static inline void ___destructor__F_P13s__anonymous2_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1){ 81 ((void)((*((int *)(&(*___dst__P13s__anonymous2_1).__i__i_1)))) /* ^?{} */); 82 82 } 83 83 static inline void ___constructor__F_P13s__anonymous2i_autogen___1(struct __anonymous2 *___dst__P13s__anonymous2_1, int __i__i_1){ … … 92 92 static inline void ___constructor__F_P13s__anonymous313s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, struct __anonymous3 ___src__13s__anonymous3_1); 93 93 static inline void ___destructor__F_P13s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1); 94 static inline void ___constructor__F_P13s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1){95 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))) /* ?{} */);96 }97 static inline void ___constructor__F_P13s__anonymous313s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, struct __anonymous3 ___src__13s__anonymous3_1){98 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))=___src__13s__anonymous3_1.__i__i_1) /* ?{} */);99 }100 static inline void ___destructor__F_P13s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1){101 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))) /* ^?{} */);102 }103 94 static inline struct __anonymous3 ___operator_assign__F13s__anonymous3_P13s__anonymous313s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, struct __anonymous3 ___src__13s__anonymous3_1){ 104 95 ((void)((*___dst__P13s__anonymous3_1).__i__i_1=___src__13s__anonymous3_1.__i__i_1)); 105 96 return ((struct __anonymous3 )___src__13s__anonymous3_1); 97 } 98 static inline void ___constructor__F_P13s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1){ 99 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))) /* ?{} */); 100 } 101 static inline void ___constructor__F_P13s__anonymous313s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, struct __anonymous3 ___src__13s__anonymous3_1){ 102 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))=___src__13s__anonymous3_1.__i__i_1) /* ?{} */); 103 } 104 static inline void ___destructor__F_P13s__anonymous3_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1){ 105 ((void)((*((int *)(&(*___dst__P13s__anonymous3_1).__i__i_1)))) /* ^?{} */); 106 106 } 107 107 static inline void ___constructor__F_P13s__anonymous3i_autogen___1(struct __anonymous3 *___dst__P13s__anonymous3_1, int __i__i_1){ … … 116 116 static inline void ___constructor__F_P13s__anonymous413s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, struct __anonymous4 ___src__13s__anonymous4_1); 117 117 static inline void ___destructor__F_P13s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1); 118 static inline void ___constructor__F_P13s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1){119 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))) /* ?{} */);120 }121 static inline void ___constructor__F_P13s__anonymous413s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, struct __anonymous4 ___src__13s__anonymous4_1){122 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))=___src__13s__anonymous4_1.__i__i_1) /* ?{} */);123 }124 static inline void ___destructor__F_P13s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1){125 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))) /* ^?{} */);126 }127 118 static inline struct __anonymous4 ___operator_assign__F13s__anonymous4_P13s__anonymous413s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, struct __anonymous4 ___src__13s__anonymous4_1){ 128 119 ((void)((*___dst__P13s__anonymous4_1).__i__i_1=___src__13s__anonymous4_1.__i__i_1)); 129 120 return ((struct __anonymous4 )___src__13s__anonymous4_1); 121 } 122 static inline void ___constructor__F_P13s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1){ 123 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))) /* ?{} */); 124 } 125 static inline void ___constructor__F_P13s__anonymous413s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, struct __anonymous4 ___src__13s__anonymous4_1){ 126 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))=___src__13s__anonymous4_1.__i__i_1) /* ?{} */); 127 } 128 static inline void ___destructor__F_P13s__anonymous4_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1){ 129 ((void)((*((int *)(&(*___dst__P13s__anonymous4_1).__i__i_1)))) /* ^?{} */); 130 130 } 131 131 static inline void ___constructor__F_P13s__anonymous4i_autogen___1(struct __anonymous4 *___dst__P13s__anonymous4_1, int __i__i_1){ … … 140 140 static inline void ___constructor__F_P13s__anonymous513s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, struct __anonymous5 ___src__13s__anonymous5_1); 141 141 static inline void ___destructor__F_P13s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1); 142 static inline void ___constructor__F_P13s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1){143 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))) /* ?{} */);144 }145 static inline void ___constructor__F_P13s__anonymous513s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, struct __anonymous5 ___src__13s__anonymous5_1){146 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))=___src__13s__anonymous5_1.__i__i_1) /* ?{} */);147 }148 static inline void ___destructor__F_P13s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1){149 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))) /* ^?{} */);150 }151 142 static inline struct __anonymous5 ___operator_assign__F13s__anonymous5_P13s__anonymous513s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, struct __anonymous5 ___src__13s__anonymous5_1){ 152 143 ((void)((*___dst__P13s__anonymous5_1).__i__i_1=___src__13s__anonymous5_1.__i__i_1)); 153 144 return ((struct __anonymous5 )___src__13s__anonymous5_1); 145 } 146 static inline void ___constructor__F_P13s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1){ 147 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))) /* ?{} */); 148 } 149 static inline void ___constructor__F_P13s__anonymous513s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, struct __anonymous5 ___src__13s__anonymous5_1){ 150 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))=___src__13s__anonymous5_1.__i__i_1) /* ?{} */); 151 } 152 static inline void ___destructor__F_P13s__anonymous5_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1){ 153 ((void)((*((int *)(&(*___dst__P13s__anonymous5_1).__i__i_1)))) /* ^?{} */); 154 154 } 155 155 static inline void ___constructor__F_P13s__anonymous5i_autogen___1(struct __anonymous5 *___dst__P13s__anonymous5_1, int __i__i_1){ … … 164 164 static inline void ___constructor__F_P13s__anonymous613s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, struct __anonymous6 ___src__13s__anonymous6_1); 165 165 static inline void ___destructor__F_P13s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1); 166 static inline void ___constructor__F_P13s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1){167 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))) /* ?{} */);168 }169 static inline void ___constructor__F_P13s__anonymous613s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, struct __anonymous6 ___src__13s__anonymous6_1){170 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))=___src__13s__anonymous6_1.__i__i_1) /* ?{} */);171 }172 static inline void ___destructor__F_P13s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1){173 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))) /* ^?{} */);174 }175 166 static inline struct __anonymous6 ___operator_assign__F13s__anonymous6_P13s__anonymous613s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, struct __anonymous6 ___src__13s__anonymous6_1){ 176 167 ((void)((*___dst__P13s__anonymous6_1).__i__i_1=___src__13s__anonymous6_1.__i__i_1)); 177 168 return ((struct __anonymous6 )___src__13s__anonymous6_1); 169 } 170 static inline void ___constructor__F_P13s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1){ 171 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))) /* ?{} */); 172 } 173 static inline void ___constructor__F_P13s__anonymous613s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, struct __anonymous6 ___src__13s__anonymous6_1){ 174 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))=___src__13s__anonymous6_1.__i__i_1) /* ?{} */); 175 } 176 static inline void ___destructor__F_P13s__anonymous6_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1){ 177 ((void)((*((int *)(&(*___dst__P13s__anonymous6_1).__i__i_1)))) /* ^?{} */); 178 178 } 179 179 static inline void ___constructor__F_P13s__anonymous6i_autogen___1(struct __anonymous6 *___dst__P13s__anonymous6_1, int __i__i_1){ … … 188 188 static inline void ___constructor__F_P13s__anonymous713s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, struct __anonymous7 ___src__13s__anonymous7_1); 189 189 static inline void ___destructor__F_P13s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1); 190 static inline void ___constructor__F_P13s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1){191 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))) /* ?{} */);192 }193 static inline void ___constructor__F_P13s__anonymous713s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, struct __anonymous7 ___src__13s__anonymous7_1){194 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))=___src__13s__anonymous7_1.__i__i_1) /* ?{} */);195 }196 static inline void ___destructor__F_P13s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1){197 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))) /* ^?{} */);198 }199 190 static inline struct __anonymous7 ___operator_assign__F13s__anonymous7_P13s__anonymous713s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, struct __anonymous7 ___src__13s__anonymous7_1){ 200 191 ((void)((*___dst__P13s__anonymous7_1).__i__i_1=___src__13s__anonymous7_1.__i__i_1)); 201 192 return ((struct __anonymous7 )___src__13s__anonymous7_1); 193 } 194 static inline void ___constructor__F_P13s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1){ 195 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))) /* ?{} */); 196 } 197 static inline void ___constructor__F_P13s__anonymous713s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, struct __anonymous7 ___src__13s__anonymous7_1){ 198 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))=___src__13s__anonymous7_1.__i__i_1) /* ?{} */); 199 } 200 static inline void ___destructor__F_P13s__anonymous7_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1){ 201 ((void)((*((int *)(&(*___dst__P13s__anonymous7_1).__i__i_1)))) /* ^?{} */); 202 202 } 203 203 static inline void ___constructor__F_P13s__anonymous7i_autogen___1(struct __anonymous7 *___dst__P13s__anonymous7_1, int __i__i_1){ … … 220 220 static inline void ___constructor__F_P13s__anonymous813s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, struct __anonymous8 ___src__13s__anonymous8_1); 221 221 static inline void ___destructor__F_P13s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1); 222 static inline void ___constructor__F_P13s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1){223 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))) /* ?{} */);224 }225 static inline void ___constructor__F_P13s__anonymous813s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, struct __anonymous8 ___src__13s__anonymous8_1){226 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))=___src__13s__anonymous8_1.__i__s_1) /* ?{} */);227 }228 static inline void ___destructor__F_P13s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1){229 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))) /* ^?{} */);230 }231 222 static inline struct __anonymous8 ___operator_assign__F13s__anonymous8_P13s__anonymous813s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, struct __anonymous8 ___src__13s__anonymous8_1){ 232 223 ((void)((*___dst__P13s__anonymous8_1).__i__s_1=___src__13s__anonymous8_1.__i__s_1)); 233 224 return ((struct __anonymous8 )___src__13s__anonymous8_1); 225 } 226 static inline void ___constructor__F_P13s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1){ 227 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))) /* ?{} */); 228 } 229 static inline void ___constructor__F_P13s__anonymous813s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, struct __anonymous8 ___src__13s__anonymous8_1){ 230 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))=___src__13s__anonymous8_1.__i__s_1) /* ?{} */); 231 } 232 static inline void ___destructor__F_P13s__anonymous8_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1){ 233 ((void)((*((short *)(&(*___dst__P13s__anonymous8_1).__i__s_1)))) /* ^?{} */); 234 234 } 235 235 static inline void ___constructor__F_P13s__anonymous8s_autogen___1(struct __anonymous8 *___dst__P13s__anonymous8_1, short __i__s_1){ … … 244 244 static inline void ___constructor__F_P13s__anonymous913s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, struct __anonymous9 ___src__13s__anonymous9_1); 245 245 static inline void ___destructor__F_P13s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1); 246 static inline void ___constructor__F_P13s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1){247 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))) /* ?{} */);248 }249 static inline void ___constructor__F_P13s__anonymous913s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, struct __anonymous9 ___src__13s__anonymous9_1){250 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))=___src__13s__anonymous9_1.__i__s_1) /* ?{} */);251 }252 static inline void ___destructor__F_P13s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1){253 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))) /* ^?{} */);254 }255 246 static inline struct __anonymous9 ___operator_assign__F13s__anonymous9_P13s__anonymous913s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, struct __anonymous9 ___src__13s__anonymous9_1){ 256 247 ((void)((*___dst__P13s__anonymous9_1).__i__s_1=___src__13s__anonymous9_1.__i__s_1)); 257 248 return ((struct __anonymous9 )___src__13s__anonymous9_1); 249 } 250 static inline void ___constructor__F_P13s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1){ 251 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))) /* ?{} */); 252 } 253 static inline void ___constructor__F_P13s__anonymous913s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, struct __anonymous9 ___src__13s__anonymous9_1){ 254 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))=___src__13s__anonymous9_1.__i__s_1) /* ?{} */); 255 } 256 static inline void ___destructor__F_P13s__anonymous9_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1){ 257 ((void)((*((short *)(&(*___dst__P13s__anonymous9_1).__i__s_1)))) /* ^?{} */); 258 258 } 259 259 static inline void ___constructor__F_P13s__anonymous9s_autogen___1(struct __anonymous9 *___dst__P13s__anonymous9_1, short __i__s_1){ … … 268 268 static inline void ___constructor__F_P14s__anonymous1014s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, struct __anonymous10 ___src__14s__anonymous10_1); 269 269 static inline void ___destructor__F_P14s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1); 270 static inline void ___constructor__F_P14s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1){271 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))) /* ?{} */);272 }273 static inline void ___constructor__F_P14s__anonymous1014s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, struct __anonymous10 ___src__14s__anonymous10_1){274 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))=___src__14s__anonymous10_1.__i__s_1) /* ?{} */);275 }276 static inline void ___destructor__F_P14s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1){277 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))) /* ^?{} */);278 }279 270 static inline struct __anonymous10 ___operator_assign__F14s__anonymous10_P14s__anonymous1014s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, struct __anonymous10 ___src__14s__anonymous10_1){ 280 271 ((void)((*___dst__P14s__anonymous10_1).__i__s_1=___src__14s__anonymous10_1.__i__s_1)); 281 272 return ((struct __anonymous10 )___src__14s__anonymous10_1); 273 } 274 static inline void ___constructor__F_P14s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1){ 275 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))) /* ?{} */); 276 } 277 static inline void ___constructor__F_P14s__anonymous1014s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, struct __anonymous10 ___src__14s__anonymous10_1){ 278 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))=___src__14s__anonymous10_1.__i__s_1) /* ?{} */); 279 } 280 static inline void ___destructor__F_P14s__anonymous10_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1){ 281 ((void)((*((short *)(&(*___dst__P14s__anonymous10_1).__i__s_1)))) /* ^?{} */); 282 282 } 283 283 static inline void ___constructor__F_P14s__anonymous10s_autogen___1(struct __anonymous10 *___dst__P14s__anonymous10_1, short __i__s_1){ … … 292 292 static inline void ___constructor__F_P14s__anonymous1114s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, struct __anonymous11 ___src__14s__anonymous11_1); 293 293 static inline void ___destructor__F_P14s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1); 294 static inline void ___constructor__F_P14s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1){295 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))) /* ?{} */);296 }297 static inline void ___constructor__F_P14s__anonymous1114s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, struct __anonymous11 ___src__14s__anonymous11_1){298 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))=___src__14s__anonymous11_1.__i__s_1) /* ?{} */);299 }300 static inline void ___destructor__F_P14s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1){301 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))) /* ^?{} */);302 }303 294 static inline struct __anonymous11 ___operator_assign__F14s__anonymous11_P14s__anonymous1114s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, struct __anonymous11 ___src__14s__anonymous11_1){ 304 295 ((void)((*___dst__P14s__anonymous11_1).__i__s_1=___src__14s__anonymous11_1.__i__s_1)); 305 296 return ((struct __anonymous11 )___src__14s__anonymous11_1); 297 } 298 static inline void ___constructor__F_P14s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1){ 299 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))) /* ?{} */); 300 } 301 static inline void ___constructor__F_P14s__anonymous1114s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, struct __anonymous11 ___src__14s__anonymous11_1){ 302 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))=___src__14s__anonymous11_1.__i__s_1) /* ?{} */); 303 } 304 static inline void ___destructor__F_P14s__anonymous11_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1){ 305 ((void)((*((short *)(&(*___dst__P14s__anonymous11_1).__i__s_1)))) /* ^?{} */); 306 306 } 307 307 static inline void ___constructor__F_P14s__anonymous11s_autogen___1(struct __anonymous11 *___dst__P14s__anonymous11_1, short __i__s_1){ … … 316 316 static inline void ___constructor__F_P14s__anonymous1214s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, struct __anonymous12 ___src__14s__anonymous12_1); 317 317 static inline void ___destructor__F_P14s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1); 318 static inline void ___constructor__F_P14s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1){319 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))) /* ?{} */);320 }321 static inline void ___constructor__F_P14s__anonymous1214s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, struct __anonymous12 ___src__14s__anonymous12_1){322 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))=___src__14s__anonymous12_1.__i__s_1) /* ?{} */);323 }324 static inline void ___destructor__F_P14s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1){325 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))) /* ^?{} */);326 }327 318 static inline struct __anonymous12 ___operator_assign__F14s__anonymous12_P14s__anonymous1214s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, struct __anonymous12 ___src__14s__anonymous12_1){ 328 319 ((void)((*___dst__P14s__anonymous12_1).__i__s_1=___src__14s__anonymous12_1.__i__s_1)); 329 320 return ((struct __anonymous12 )___src__14s__anonymous12_1); 321 } 322 static inline void ___constructor__F_P14s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1){ 323 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))) /* ?{} */); 324 } 325 static inline void ___constructor__F_P14s__anonymous1214s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, struct __anonymous12 ___src__14s__anonymous12_1){ 326 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))=___src__14s__anonymous12_1.__i__s_1) /* ?{} */); 327 } 328 static inline void ___destructor__F_P14s__anonymous12_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1){ 329 ((void)((*((short *)(&(*___dst__P14s__anonymous12_1).__i__s_1)))) /* ^?{} */); 330 330 } 331 331 static inline void ___constructor__F_P14s__anonymous12s_autogen___1(struct __anonymous12 *___dst__P14s__anonymous12_1, short __i__s_1){ … … 340 340 static inline void ___constructor__F_P14s__anonymous1314s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, struct __anonymous13 ___src__14s__anonymous13_1); 341 341 static inline void ___destructor__F_P14s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1); 342 static inline void ___constructor__F_P14s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1){343 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))) /* ?{} */);344 }345 static inline void ___constructor__F_P14s__anonymous1314s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, struct __anonymous13 ___src__14s__anonymous13_1){346 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))=___src__14s__anonymous13_1.__i__s_1) /* ?{} */);347 }348 static inline void ___destructor__F_P14s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1){349 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))) /* ^?{} */);350 }351 342 static inline struct __anonymous13 ___operator_assign__F14s__anonymous13_P14s__anonymous1314s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, struct __anonymous13 ___src__14s__anonymous13_1){ 352 343 ((void)((*___dst__P14s__anonymous13_1).__i__s_1=___src__14s__anonymous13_1.__i__s_1)); 353 344 return ((struct __anonymous13 )___src__14s__anonymous13_1); 345 } 346 static inline void ___constructor__F_P14s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1){ 347 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))) /* ?{} */); 348 } 349 static inline void ___constructor__F_P14s__anonymous1314s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, struct __anonymous13 ___src__14s__anonymous13_1){ 350 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))=___src__14s__anonymous13_1.__i__s_1) /* ?{} */); 351 } 352 static inline void ___destructor__F_P14s__anonymous13_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1){ 353 ((void)((*((short *)(&(*___dst__P14s__anonymous13_1).__i__s_1)))) /* ^?{} */); 354 354 } 355 355 static inline void ___constructor__F_P14s__anonymous13s_autogen___1(struct __anonymous13 *___dst__P14s__anonymous13_1, short __i__s_1){ … … 364 364 static inline void ___constructor__F_P14s__anonymous1414s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, struct __anonymous14 ___src__14s__anonymous14_1); 365 365 static inline void ___destructor__F_P14s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1); 366 static inline void ___constructor__F_P14s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1){367 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))) /* ?{} */);368 }369 static inline void ___constructor__F_P14s__anonymous1414s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, struct __anonymous14 ___src__14s__anonymous14_1){370 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))=___src__14s__anonymous14_1.__i__s_1) /* ?{} */);371 }372 static inline void ___destructor__F_P14s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1){373 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))) /* ^?{} */);374 }375 366 static inline struct __anonymous14 ___operator_assign__F14s__anonymous14_P14s__anonymous1414s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, struct __anonymous14 ___src__14s__anonymous14_1){ 376 367 ((void)((*___dst__P14s__anonymous14_1).__i__s_1=___src__14s__anonymous14_1.__i__s_1)); 377 368 return ((struct __anonymous14 )___src__14s__anonymous14_1); 369 } 370 static inline void ___constructor__F_P14s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1){ 371 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))) /* ?{} */); 372 } 373 static inline void ___constructor__F_P14s__anonymous1414s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, struct __anonymous14 ___src__14s__anonymous14_1){ 374 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))=___src__14s__anonymous14_1.__i__s_1) /* ?{} */); 375 } 376 static inline void ___destructor__F_P14s__anonymous14_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1){ 377 ((void)((*((short *)(&(*___dst__P14s__anonymous14_1).__i__s_1)))) /* ^?{} */); 378 378 } 379 379 static inline void ___constructor__F_P14s__anonymous14s_autogen___1(struct __anonymous14 *___dst__P14s__anonymous14_1, short __i__s_1){ … … 388 388 static inline void ___constructor__F_P14s__anonymous1514s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, struct __anonymous15 ___src__14s__anonymous15_1); 389 389 static inline void ___destructor__F_P14s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1); 390 static inline void ___constructor__F_P14s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1){391 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))) /* ?{} */);392 }393 static inline void ___constructor__F_P14s__anonymous1514s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, struct __anonymous15 ___src__14s__anonymous15_1){394 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))=___src__14s__anonymous15_1.__i__s_1) /* ?{} */);395 }396 static inline void ___destructor__F_P14s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1){397 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))) /* ^?{} */);398 }399 390 static inline struct __anonymous15 ___operator_assign__F14s__anonymous15_P14s__anonymous1514s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, struct __anonymous15 ___src__14s__anonymous15_1){ 400 391 ((void)((*___dst__P14s__anonymous15_1).__i__s_1=___src__14s__anonymous15_1.__i__s_1)); 401 392 return ((struct __anonymous15 )___src__14s__anonymous15_1); 393 } 394 static inline void ___constructor__F_P14s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1){ 395 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))) /* ?{} */); 396 } 397 static inline void ___constructor__F_P14s__anonymous1514s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, struct __anonymous15 ___src__14s__anonymous15_1){ 398 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))=___src__14s__anonymous15_1.__i__s_1) /* ?{} */); 399 } 400 static inline void ___destructor__F_P14s__anonymous15_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1){ 401 ((void)((*((short *)(&(*___dst__P14s__anonymous15_1).__i__s_1)))) /* ^?{} */); 402 402 } 403 403 static inline void ___constructor__F_P14s__anonymous15s_autogen___1(struct __anonymous15 *___dst__P14s__anonymous15_1, short __i__s_1){ … … 428 428 static inline void ___constructor__F_P14s__anonymous1614s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, struct __anonymous16 ___src__14s__anonymous16_1); 429 429 static inline void ___destructor__F_P14s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1); 430 static inline void ___constructor__F_P14s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1){431 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))) /* ?{} */);432 }433 static inline void ___constructor__F_P14s__anonymous1614s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, struct __anonymous16 ___src__14s__anonymous16_1){434 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))=___src__14s__anonymous16_1.__i__i_1) /* ?{} */);435 }436 static inline void ___destructor__F_P14s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1){437 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))) /* ^?{} */);438 }439 430 static inline struct __anonymous16 ___operator_assign__F14s__anonymous16_P14s__anonymous1614s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, struct __anonymous16 ___src__14s__anonymous16_1){ 440 431 ((void)((*___dst__P14s__anonymous16_1).__i__i_1=___src__14s__anonymous16_1.__i__i_1)); 441 432 return ((struct __anonymous16 )___src__14s__anonymous16_1); 433 } 434 static inline void ___constructor__F_P14s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1){ 435 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))) /* ?{} */); 436 } 437 static inline void ___constructor__F_P14s__anonymous1614s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, struct __anonymous16 ___src__14s__anonymous16_1){ 438 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))=___src__14s__anonymous16_1.__i__i_1) /* ?{} */); 439 } 440 static inline void ___destructor__F_P14s__anonymous16_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1){ 441 ((void)((*((int *)(&(*___dst__P14s__anonymous16_1).__i__i_1)))) /* ^?{} */); 442 442 } 443 443 static inline void ___constructor__F_P14s__anonymous16i_autogen___1(struct __anonymous16 *___dst__P14s__anonymous16_1, int __i__i_1){ … … 452 452 static inline void ___constructor__F_P14s__anonymous1714s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, struct __anonymous17 ___src__14s__anonymous17_1); 453 453 static inline void ___destructor__F_P14s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1); 454 static inline void ___constructor__F_P14s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1){455 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))) /* ?{} */);456 }457 static inline void ___constructor__F_P14s__anonymous1714s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, struct __anonymous17 ___src__14s__anonymous17_1){458 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))=___src__14s__anonymous17_1.__i__i_1) /* ?{} */);459 }460 static inline void ___destructor__F_P14s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1){461 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))) /* ^?{} */);462 }463 454 static inline struct __anonymous17 ___operator_assign__F14s__anonymous17_P14s__anonymous1714s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, struct __anonymous17 ___src__14s__anonymous17_1){ 464 455 ((void)((*___dst__P14s__anonymous17_1).__i__i_1=___src__14s__anonymous17_1.__i__i_1)); 465 456 return ((struct __anonymous17 )___src__14s__anonymous17_1); 457 } 458 static inline void ___constructor__F_P14s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1){ 459 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))) /* ?{} */); 460 } 461 static inline void ___constructor__F_P14s__anonymous1714s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, struct __anonymous17 ___src__14s__anonymous17_1){ 462 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))=___src__14s__anonymous17_1.__i__i_1) /* ?{} */); 463 } 464 static inline void ___destructor__F_P14s__anonymous17_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1){ 465 ((void)((*((int *)(&(*___dst__P14s__anonymous17_1).__i__i_1)))) /* ^?{} */); 466 466 } 467 467 static inline void ___constructor__F_P14s__anonymous17i_autogen___1(struct __anonymous17 *___dst__P14s__anonymous17_1, int __i__i_1){ … … 476 476 static inline void ___constructor__F_P14s__anonymous1814s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, struct __anonymous18 ___src__14s__anonymous18_1); 477 477 static inline void ___destructor__F_P14s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1); 478 static inline void ___constructor__F_P14s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1){479 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))) /* ?{} */);480 }481 static inline void ___constructor__F_P14s__anonymous1814s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, struct __anonymous18 ___src__14s__anonymous18_1){482 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))=___src__14s__anonymous18_1.__i__i_1) /* ?{} */);483 }484 static inline void ___destructor__F_P14s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1){485 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))) /* ^?{} */);486 }487 478 static inline struct __anonymous18 ___operator_assign__F14s__anonymous18_P14s__anonymous1814s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, struct __anonymous18 ___src__14s__anonymous18_1){ 488 479 ((void)((*___dst__P14s__anonymous18_1).__i__i_1=___src__14s__anonymous18_1.__i__i_1)); 489 480 return ((struct __anonymous18 )___src__14s__anonymous18_1); 481 } 482 static inline void ___constructor__F_P14s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1){ 483 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))) /* ?{} */); 484 } 485 static inline void ___constructor__F_P14s__anonymous1814s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, struct __anonymous18 ___src__14s__anonymous18_1){ 486 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))=___src__14s__anonymous18_1.__i__i_1) /* ?{} */); 487 } 488 static inline void ___destructor__F_P14s__anonymous18_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1){ 489 ((void)((*((int *)(&(*___dst__P14s__anonymous18_1).__i__i_1)))) /* ^?{} */); 490 490 } 491 491 static inline void ___constructor__F_P14s__anonymous18i_autogen___1(struct __anonymous18 *___dst__P14s__anonymous18_1, int __i__i_1){ … … 500 500 static inline void ___constructor__F_P14s__anonymous1914s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, struct __anonymous19 ___src__14s__anonymous19_1); 501 501 static inline void ___destructor__F_P14s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1); 502 static inline void ___constructor__F_P14s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1){503 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))) /* ?{} */);504 }505 static inline void ___constructor__F_P14s__anonymous1914s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, struct __anonymous19 ___src__14s__anonymous19_1){506 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))=___src__14s__anonymous19_1.__i__i_1) /* ?{} */);507 }508 static inline void ___destructor__F_P14s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1){509 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))) /* ^?{} */);510 }511 502 static inline struct __anonymous19 ___operator_assign__F14s__anonymous19_P14s__anonymous1914s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, struct __anonymous19 ___src__14s__anonymous19_1){ 512 503 ((void)((*___dst__P14s__anonymous19_1).__i__i_1=___src__14s__anonymous19_1.__i__i_1)); 513 504 return ((struct __anonymous19 )___src__14s__anonymous19_1); 505 } 506 static inline void ___constructor__F_P14s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1){ 507 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))) /* ?{} */); 508 } 509 static inline void ___constructor__F_P14s__anonymous1914s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, struct __anonymous19 ___src__14s__anonymous19_1){ 510 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))=___src__14s__anonymous19_1.__i__i_1) /* ?{} */); 511 } 512 static inline void ___destructor__F_P14s__anonymous19_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1){ 513 ((void)((*((int *)(&(*___dst__P14s__anonymous19_1).__i__i_1)))) /* ^?{} */); 514 514 } 515 515 static inline void ___constructor__F_P14s__anonymous19i_autogen___1(struct __anonymous19 *___dst__P14s__anonymous19_1, int __i__i_1){ … … 524 524 static inline void ___constructor__F_P14s__anonymous2014s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, struct __anonymous20 ___src__14s__anonymous20_1); 525 525 static inline void ___destructor__F_P14s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1); 526 static inline void ___constructor__F_P14s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1){527 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))) /* ?{} */);528 }529 static inline void ___constructor__F_P14s__anonymous2014s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, struct __anonymous20 ___src__14s__anonymous20_1){530 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))=___src__14s__anonymous20_1.__i__i_1) /* ?{} */);531 }532 static inline void ___destructor__F_P14s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1){533 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))) /* ^?{} */);534 }535 526 static inline struct __anonymous20 ___operator_assign__F14s__anonymous20_P14s__anonymous2014s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, struct __anonymous20 ___src__14s__anonymous20_1){ 536 527 ((void)((*___dst__P14s__anonymous20_1).__i__i_1=___src__14s__anonymous20_1.__i__i_1)); 537 528 return ((struct __anonymous20 )___src__14s__anonymous20_1); 529 } 530 static inline void ___constructor__F_P14s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1){ 531 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))) /* ?{} */); 532 } 533 static inline void ___constructor__F_P14s__anonymous2014s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, struct __anonymous20 ___src__14s__anonymous20_1){ 534 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))=___src__14s__anonymous20_1.__i__i_1) /* ?{} */); 535 } 536 static inline void ___destructor__F_P14s__anonymous20_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1){ 537 ((void)((*((int *)(&(*___dst__P14s__anonymous20_1).__i__i_1)))) /* ^?{} */); 538 538 } 539 539 static inline void ___constructor__F_P14s__anonymous20i_autogen___1(struct __anonymous20 *___dst__P14s__anonymous20_1, int __i__i_1){ … … 548 548 static inline void ___constructor__F_P14s__anonymous2114s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, struct __anonymous21 ___src__14s__anonymous21_1); 549 549 static inline void ___destructor__F_P14s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1); 550 static inline void ___constructor__F_P14s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1){551 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))) /* ?{} */);552 }553 static inline void ___constructor__F_P14s__anonymous2114s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, struct __anonymous21 ___src__14s__anonymous21_1){554 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))=___src__14s__anonymous21_1.__i__i_1) /* ?{} */);555 }556 static inline void ___destructor__F_P14s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1){557 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))) /* ^?{} */);558 }559 550 static inline struct __anonymous21 ___operator_assign__F14s__anonymous21_P14s__anonymous2114s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, struct __anonymous21 ___src__14s__anonymous21_1){ 560 551 ((void)((*___dst__P14s__anonymous21_1).__i__i_1=___src__14s__anonymous21_1.__i__i_1)); 561 552 return ((struct __anonymous21 )___src__14s__anonymous21_1); 553 } 554 static inline void ___constructor__F_P14s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1){ 555 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))) /* ?{} */); 556 } 557 static inline void ___constructor__F_P14s__anonymous2114s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, struct __anonymous21 ___src__14s__anonymous21_1){ 558 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))=___src__14s__anonymous21_1.__i__i_1) /* ?{} */); 559 } 560 static inline void ___destructor__F_P14s__anonymous21_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1){ 561 ((void)((*((int *)(&(*___dst__P14s__anonymous21_1).__i__i_1)))) /* ^?{} */); 562 562 } 563 563 static inline void ___constructor__F_P14s__anonymous21i_autogen___1(struct __anonymous21 *___dst__P14s__anonymous21_1, int __i__i_1){ … … 572 572 static inline void ___constructor__F_P14s__anonymous2214s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, struct __anonymous22 ___src__14s__anonymous22_1); 573 573 static inline void ___destructor__F_P14s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1); 574 static inline void ___constructor__F_P14s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1){575 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))) /* ?{} */);576 }577 static inline void ___constructor__F_P14s__anonymous2214s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, struct __anonymous22 ___src__14s__anonymous22_1){578 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))=___src__14s__anonymous22_1.__i__i_1) /* ?{} */);579 }580 static inline void ___destructor__F_P14s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1){581 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))) /* ^?{} */);582 }583 574 static inline struct __anonymous22 ___operator_assign__F14s__anonymous22_P14s__anonymous2214s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, struct __anonymous22 ___src__14s__anonymous22_1){ 584 575 ((void)((*___dst__P14s__anonymous22_1).__i__i_1=___src__14s__anonymous22_1.__i__i_1)); 585 576 return ((struct __anonymous22 )___src__14s__anonymous22_1); 577 } 578 static inline void ___constructor__F_P14s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1){ 579 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))) /* ?{} */); 580 } 581 static inline void ___constructor__F_P14s__anonymous2214s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, struct __anonymous22 ___src__14s__anonymous22_1){ 582 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))=___src__14s__anonymous22_1.__i__i_1) /* ?{} */); 583 } 584 static inline void ___destructor__F_P14s__anonymous22_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1){ 585 ((void)((*((int *)(&(*___dst__P14s__anonymous22_1).__i__i_1)))) /* ^?{} */); 586 586 } 587 587 static inline void ___constructor__F_P14s__anonymous22i_autogen___1(struct __anonymous22 *___dst__P14s__anonymous22_1, int __i__i_1){ … … 596 596 static inline void ___constructor__F_P14s__anonymous2314s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, struct __anonymous23 ___src__14s__anonymous23_1); 597 597 static inline void ___destructor__F_P14s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1); 598 static inline void ___constructor__F_P14s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1){599 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))) /* ?{} */);600 }601 static inline void ___constructor__F_P14s__anonymous2314s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, struct __anonymous23 ___src__14s__anonymous23_1){602 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))=___src__14s__anonymous23_1.__i__i_1) /* ?{} */);603 }604 static inline void ___destructor__F_P14s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1){605 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))) /* ^?{} */);606 }607 598 static inline struct __anonymous23 ___operator_assign__F14s__anonymous23_P14s__anonymous2314s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, struct __anonymous23 ___src__14s__anonymous23_1){ 608 599 ((void)((*___dst__P14s__anonymous23_1).__i__i_1=___src__14s__anonymous23_1.__i__i_1)); 609 600 return ((struct __anonymous23 )___src__14s__anonymous23_1); 601 } 602 static inline void ___constructor__F_P14s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1){ 603 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))) /* ?{} */); 604 } 605 static inline void ___constructor__F_P14s__anonymous2314s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, struct __anonymous23 ___src__14s__anonymous23_1){ 606 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))=___src__14s__anonymous23_1.__i__i_1) /* ?{} */); 607 } 608 static inline void ___destructor__F_P14s__anonymous23_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1){ 609 ((void)((*((int *)(&(*___dst__P14s__anonymous23_1).__i__i_1)))) /* ^?{} */); 610 610 } 611 611 static inline void ___constructor__F_P14s__anonymous23i_autogen___1(struct __anonymous23 *___dst__P14s__anonymous23_1, int __i__i_1){ … … 622 622 static inline volatile const short __f48__FCVs___1(); 623 623 int main(int __argc__i_1, const char **__argv__PPCc_1){ 624 int _ __retval_main__i_1;625 ((void)(_ __retval_main__i_1=((int )0)) /* ?{} */);626 return ((int )_ __retval_main__i_1);627 } 624 int _retVal0 = { 0 }; 625 ((void)(_retVal0=0) /* ?{} */); 626 return ((int )_retVal0); 627 } -
src/tests/.expect/32/extension.txt
r66f8528 r5802a4f 61 61 } 62 62 static inline void ___constructor__F_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){ 63 ((void)__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))); 63 void *_tmp_cp_ret0; 64 ((void)((_tmp_cp_ret0=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret0)); 65 ((void)(_tmp_cp_ret0) /* ^?{} */); 64 66 } 65 67 static inline void ___destructor__F_P2uU_autogen___1(union U *___dst__P2uU_1){ 66 68 } 67 69 static inline union U ___operator_assign__F2uU_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){ 68 ((void)__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))); 70 void *_tmp_cp_ret1; 71 ((void)((_tmp_cp_ret1=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret1)); 72 ((void)(_tmp_cp_ret1) /* ^?{} */); 69 73 return ((union U )___src__2uU_1); 70 74 } 71 75 static inline void ___constructor__F_P2uUi_autogen___1(union U *___dst__P2uU_1, int __src__i_1){ 72 ((void)__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&__src__i_1)), sizeof(int ))); 76 void *_tmp_cp_ret2; 77 ((void)((_tmp_cp_ret2=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&__src__i_1)), sizeof(int ))) , _tmp_cp_ret2)); 78 ((void)(_tmp_cp_ret2) /* ^?{} */); 73 79 } 74 80 __extension__ enum E { … … 91 97 __extension__ int __c__i_2; 92 98 ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2))); 93 int _tmp_cp_ret 0;94 ((void)((_tmp_cp_ret 0=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret0));95 ((void)(_tmp_cp_ret 0) /* ^?{} */);99 int _tmp_cp_ret3; 100 ((void)((_tmp_cp_ret3=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret3)); 101 ((void)(_tmp_cp_ret3) /* ^?{} */); 96 102 ((void)__extension__ sizeof(3)); 97 ((void)__extension__ (((int )(3!= ((int )0))) || ((int )(4!=((int )0)))));103 ((void)__extension__ (((int )(3!=0)) || ((int )(4!=0)))); 98 104 ((void)__extension__ __alignof__(__extension__ __a__i_2)); 99 ((void)(((int )(__extension__ __a__i_2!= ((int )0))) || ((int )((((int )(__extension__ __b__i_2!=((int )0))) && ((int )(__extension__ __c__i_2!=((int )0))))!=((int )0)))));100 ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!= ((int )0))) ? __extension__ __c__i_2 : __extension__ __c__i_2));105 ((void)(((int )(__extension__ __a__i_2!=0)) || ((int )((((int )(__extension__ __b__i_2!=0)) && ((int )(__extension__ __c__i_2!=0)))!=0)))); 106 ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!=0)) ? __extension__ __c__i_2 : __extension__ __c__i_2)); 101 107 ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2))); 102 108 ((void)((__extension__ __a__i_2 , __extension__ __b__i_2) , __extension__ __c__i_2)); -
src/tests/.expect/32/gccExtensions.txt
r66f8528 r5802a4f 5 5 extern void exit(int __status); 6 6 extern int printf(const char *__restrict __format, ...); 7 extern int __x__i_1 asm ( "xx" );7 extern int __x__i_1; 8 8 int main(int __argc__i_1, const char **__argv__PPCc_1){ 9 9 int ___retval_main__i_1; … … 11 11 asm ( "nop" : : : ); 12 12 asm ( "nop" : : : ); 13 static int __y__i_2 asm ( "yy" );14 static int *__z__Pi_2 asm ( "zz" );13 static int __y__i_2; 14 static int *__z__Pi_2; 15 15 int __src__i_2; 16 16 int __dst__i_2; … … 160 160 int __m2__A0A0i_2[((unsigned int )10)][((unsigned int )10)]; 161 161 int __m3__A0A0i_2[((unsigned int )10)][((unsigned int )10)]; 162 ((void)(___retval_main__i_1= ((int )0)) /* ?{} */);162 ((void)(___retval_main__i_1=0) /* ?{} */); 163 163 return ((int )___retval_main__i_1); 164 164 } -
src/tests/.expect/64/declarationSpecifier.txt
r66f8528 r5802a4f 623 623 int main(int __argc__i_1, const char **__argv__PPCc_1){ 624 624 int ___retval_main__i_1; 625 ((void)(___retval_main__i_1= ((int )0)) /* ?{} */);625 ((void)(___retval_main__i_1=0) /* ?{} */); 626 626 return ((int )___retval_main__i_1); 627 627 } -
src/tests/.expect/64/extension.txt
r66f8528 r5802a4f 61 61 } 62 62 static inline void ___constructor__F_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){ 63 ((void)__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))); 63 void *_tmp_cp_ret0; 64 ((void)((_tmp_cp_ret0=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret0)); 65 ((void)(_tmp_cp_ret0) /* ^?{} */); 64 66 } 65 67 static inline void ___destructor__F_P2uU_autogen___1(union U *___dst__P2uU_1){ 66 68 } 67 69 static inline union U ___operator_assign__F2uU_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){ 68 ((void)__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))); 70 void *_tmp_cp_ret1; 71 ((void)((_tmp_cp_ret1=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret1)); 72 ((void)(_tmp_cp_ret1) /* ^?{} */); 69 73 return ((union U )___src__2uU_1); 70 74 } 71 75 static inline void ___constructor__F_P2uUi_autogen___1(union U *___dst__P2uU_1, int __src__i_1){ 72 ((void)__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&__src__i_1)), sizeof(int ))); 76 void *_tmp_cp_ret2; 77 ((void)((_tmp_cp_ret2=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&__src__i_1)), sizeof(int ))) , _tmp_cp_ret2)); 78 ((void)(_tmp_cp_ret2) /* ^?{} */); 73 79 } 74 80 __extension__ enum E { … … 91 97 __extension__ int __c__i_2; 92 98 ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2))); 93 int _tmp_cp_ret 0;94 ((void)((_tmp_cp_ret 0=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret0));95 ((void)(_tmp_cp_ret 0) /* ^?{} */);99 int _tmp_cp_ret3; 100 ((void)((_tmp_cp_ret3=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret3)); 101 ((void)(_tmp_cp_ret3) /* ^?{} */); 96 102 ((void)__extension__ sizeof(3)); 97 ((void)__extension__ (((int )(3!= ((int )0))) || ((int )(4!=((int )0)))));103 ((void)__extension__ (((int )(3!=0)) || ((int )(4!=0)))); 98 104 ((void)__extension__ __alignof__(__extension__ __a__i_2)); 99 ((void)(((int )(__extension__ __a__i_2!= ((int )0))) || ((int )((((int )(__extension__ __b__i_2!=((int )0))) && ((int )(__extension__ __c__i_2!=((int )0))))!=((int )0)))));100 ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!= ((int )0))) ? __extension__ __c__i_2 : __extension__ __c__i_2));105 ((void)(((int )(__extension__ __a__i_2!=0)) || ((int )((((int )(__extension__ __b__i_2!=0)) && ((int )(__extension__ __c__i_2!=0)))!=0)))); 106 ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!=0)) ? __extension__ __c__i_2 : __extension__ __c__i_2)); 101 107 ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2))); 102 108 ((void)((__extension__ __a__i_2 , __extension__ __b__i_2) , __extension__ __c__i_2)); -
src/tests/.expect/64/gccExtensions.txt
r66f8528 r5802a4f 5 5 extern void exit(int __status); 6 6 extern int printf(const char *__restrict __format, ...); 7 extern int __x__i_1 asm ( "xx" );7 extern int __x__i_1; 8 8 int main(int __argc__i_1, const char **__argv__PPCc_1){ 9 9 int ___retval_main__i_1; … … 11 11 asm ( "nop" : : : ); 12 12 asm ( "nop" : : : ); 13 static int __y__i_2 asm ( "yy" );14 static int *__z__Pi_2 asm ( "zz" );13 static int __y__i_2; 14 static int *__z__Pi_2; 15 15 int __src__i_2; 16 16 int __dst__i_2; … … 160 160 int __m2__A0A0i_2[((long unsigned int )10)][((long unsigned int )10)]; 161 161 int __m3__A0A0i_2[((long unsigned int )10)][((long unsigned int )10)]; 162 ((void)(___retval_main__i_1= ((int )0)) /* ?{} */);162 ((void)(___retval_main__i_1=0) /* ?{} */); 163 163 return ((int )___retval_main__i_1); 164 164 } -
src/tests/.expect/castError.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: Can't choose between 3 alternatives for expression Cast of: 2 3 Name: f -
src/tests/.expect/completeTypeError.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: No reasonable alternatives for expression Applying untyped: 2 3 Name: *? -
src/tests/.expect/constant0-1DP.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: duplicate object definition for 0: signed int 2 3 Error: duplicate object definition for 0: const signed int -
src/tests/.expect/constant0-1NDDP.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: duplicate object definition for 0: signed int 2 3 Error: duplicate object definition for 0: const signed int -
src/tests/.expect/declarationErrors.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: duplicate static in declaration of x1: static const volatile short int 2 3 -
src/tests/.expect/dtor-early-exit-ERR1.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: jump to label 'L1' crosses initialization of y Branch (Goto) 2 3 -
src/tests/.expect/dtor-early-exit-ERR2.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: jump to label 'L2' crosses initialization of y Branch (Goto) 2 3 -
src/tests/.expect/memberCtors-ERR1.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: in void ?{}(struct B *b), field a2 used before being constructed 2 3 make: *** [memberCtors-ERR1] Error 1 -
src/tests/.expect/scopeErrors.txt
r66f8528 r5802a4f 1 CFA Version 1.0.0 (debug) 1 2 Error: duplicate object definition for thisIsAnError: signed int 2 3 Error: duplicate function definition for butThisIsAnError: function -
src/tests/Makefile.am
r66f8528 r5802a4f 15 15 ############################################################################### 16 16 17 debug=yes18 19 17 # applies to both programs 20 EXTRA_FLAGS = 21 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ ${EXTRA_FLAGS} 18 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ # TEMPORARY: does not build with -O2 22 19 CC = @CFA_BINDIR@/cfa 23 20 … … 33 30 34 31 all-tests : 35 @+python test.py --all --debug=${debug}# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program32 @+python test.py --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 36 33 37 34 clean-local : … … 57 54 58 55 declarationSpecifier: declarationSpecifier.c 59 ${CC} ${CF LAGS} -CFA -XCFA -p ${<} -o ${@}56 ${CC} ${CFALGS} -CFA -XCFA -p ${<} -o ${@} 60 57 61 58 gccExtensions : gccExtensions.c … … 66 63 67 64 memberCtors-ERR1: memberCtors.c 68 ${CC} ${CF LAGS} -DERR1 ${<} -o ${@}65 ${CC} ${CFALGS} -DERR1 ${<} -o ${@} 69 66 70 67 completeTypeError : completeTypeError.c 71 ${CC} ${CF LAGS} -DERR1 ${<} -o ${@}68 ${CC} ${CFALGS} -DERR1 ${<} -o ${@} -
src/tests/Makefile.in
r66f8528 r5802a4f 35 35 PRE_UNINSTALL = : 36 36 POST_UNINSTALL = : 37 build_triplet = @build@38 host_triplet = @host@39 37 EXTRA_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT) \ 40 38 avl_test$(EXEEXT) constant0-1DP$(EXEEXT) \ … … 113 111 BACKEND_CC = @BACKEND_CC@ 114 112 CC = @CFA_BINDIR@/cfa 115 CCAS = @CCAS@116 CCASDEPMODE = @CCASDEPMODE@117 CCASFLAGS = @CCASFLAGS@118 113 CCDEPMODE = @CCDEPMODE@ 119 114 CFA_BACKEND_CC = @CFA_BACKEND_CC@ … … 123 118 CFA_LIBDIR = @CFA_LIBDIR@ 124 119 CFA_PREFIX = @CFA_PREFIX@ 125 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ ${EXTRA_FLAGS} 120 121 # applies to both programs 122 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ # TEMPORARY: does not build with -O2 126 123 CPP = @CPP@ 127 124 CPPFLAGS = @CPPFLAGS@ … … 150 147 LIBS = @LIBS@ 151 148 LTLIBOBJS = @LTLIBOBJS@ 152 MACHINE_TYPE = @MACHINE_TYPE@153 149 MAINT = @MAINT@ 154 150 MAKEINFO = @MAKEINFO@ … … 182 178 am__untar = @am__untar@ 183 179 bindir = @bindir@ 184 build = @build@185 180 build_alias = @build_alias@ 186 build_cpu = @build_cpu@187 build_os = @build_os@188 build_vendor = @build_vendor@189 181 builddir = @builddir@ 190 182 datadir = @datadir@ … … 193 185 dvidir = @dvidir@ 194 186 exec_prefix = @exec_prefix@ 195 host = @host@196 187 host_alias = @host_alias@ 197 host_cpu = @host_cpu@198 host_os = @host_os@199 host_vendor = @host_vendor@200 188 htmldir = @htmldir@ 201 189 includedir = @includedir@ … … 221 209 top_builddir = @top_builddir@ 222 210 top_srcdir = @top_srcdir@ 223 debug = yes224 225 # applies to both programs226 EXTRA_FLAGS =227 211 fstream_test_SOURCES = fstream_test.c 228 212 vector_test_SOURCES = vector/vector_int.c vector/array.c vector/vector_test.c … … 654 638 655 639 all-tests : 656 @+python test.py --all --debug=${debug}# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program640 @+python test.py --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 657 641 658 642 clean-local : … … 678 662 679 663 declarationSpecifier: declarationSpecifier.c 680 ${CC} ${CF LAGS} -CFA -XCFA -p ${<} -o ${@}664 ${CC} ${CFALGS} -CFA -XCFA -p ${<} -o ${@} 681 665 682 666 gccExtensions : gccExtensions.c … … 687 671 688 672 memberCtors-ERR1: memberCtors.c 689 ${CC} ${CF LAGS} -DERR1 ${<} -o ${@}673 ${CC} ${CFALGS} -DERR1 ${<} -o ${@} 690 674 691 675 completeTypeError : completeTypeError.c 692 ${CC} ${CF LAGS} -DERR1 ${<} -o ${@}676 ${CC} ${CFALGS} -DERR1 ${<} -o ${@} 693 677 694 678 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
src/tests/test.py
r66f8528 r5802a4f 104 104 # running test functions 105 105 ################################################################################ 106 def run_single_test(test, generate, dry_run , debug):106 def run_single_test(test, generate, dry_run): 107 107 108 108 # find the output file based on the test name and options flag … … 113 113 sh("rm -f %s > /dev/null 2>&1" % test.name, dry_run) 114 114 115 options = "-debug" if debug else "-nodebug";116 117 115 # build, skipping to next test on error 118 make_ret, _ = sh(" ""%s EXTRA_FLAGS="-quiet %s" %s 2> %s 1> /dev/null""" % (make_cmd, options, test.name, out_file), dry_run)116 make_ret, _ = sh("%s %s 2> %s 1> /dev/null" % (make_cmd, test.name, out_file), dry_run) 119 117 120 118 # if the make command succeds continue otherwise skip to diff … … 167 165 return retcode, error 168 166 169 def run_test_instance(t, generate, dry_run , debug) :167 def run_test_instance(t, generate, dry_run) : 170 168 # print formated name 171 169 name_txt = "%20s " % t.name 172 170 173 171 #run the test instance and collect the result 174 test_failed, error = run_single_test(t, generate, dry_run , debug)172 test_failed, error = run_single_test(t, generate, dry_run) 175 173 176 174 # update output based on current action … … 196 194 197 195 # run the given list of tests with the given parameters 198 def run_tests(tests, generate, dry_run, jobs , debug) :196 def run_tests(tests, generate, dry_run, jobs) : 199 197 # clean the sandbox from previous commands 200 198 sh("%s clean > /dev/null 2>&1" % make_cmd, dry_run) … … 209 207 pool = Pool(jobs) 210 208 try : 211 results = pool.map_async(partial(run_test_instance, generate=generate, dry_run=dry_run , debug=debug), tests ).get(99999999)209 results = pool.map_async(partial(run_test_instance, generate=generate, dry_run=dry_run), tests ).get(99999999) 212 210 except KeyboardInterrupt: 213 211 pool.terminate() … … 224 222 return 0 225 223 226 def yes_no(string):227 if string == "yes" :228 return True229 if string == "no" :230 return False231 raise argparse.ArgumentTypeError(msg)232 return False233 234 235 224 ################################################################################ 236 225 # main loop … … 238 227 # create a parser with the arguments for the tests script 239 228 parser = argparse.ArgumentParser(description='Script which runs cforall tests') 240 parser.add_argument('--debug', help='Run all tests in debug or release', type=yes_no, default='no')241 229 parser.add_argument('--dry-run', help='Don\'t run the tests, only output the commands', action='store_true') 242 230 parser.add_argument('--list', help='List all test available', action='store_true') … … 308 296 sys.exit(1) 309 297 310 print('Running (%s) on %i cores' % ("debug" if options.debug else "no debug", options.jobs))298 print('Running on %i cores' % options.jobs) 311 299 make_cmd = "make" if make_flags else ("make -j%i" % options.jobs) 312 300 … … 317 305 else : 318 306 # otherwise run all tests and make sure to return the correct error code 319 sys.exit( run_tests(tests, options.regenerate_expected, options.dry_run, options.jobs , options.debug) )307 sys.exit( run_tests(tests, options.regenerate_expected, options.dry_run, options.jobs) )
Note:
See TracChangeset
for help on using the changeset viewer.