Imported Upstream version 20210802 upstream/20210802
authorDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 1 Oct 2021 05:49:26 +0000 (14:49 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 1 Oct 2021 05:49:26 +0000 (14:49 +0900)
100 files changed:
CHANGES
MANIFEST
VERSION
config.guess
config.sub
defs.h
main.c
output.c
package/byacc.spec
package/debian/changelog
package/mingw-byacc.spec
package/pkgsrc/Makefile
reader.c
test/btyacc/big_b.error
test/btyacc/big_l.error
test/btyacc/btyacc_calc1.tab.c
test/btyacc/btyacc_demo.tab.c
test/btyacc/btyacc_destroy1.tab.c
test/btyacc/btyacc_destroy2.tab.c
test/btyacc/btyacc_destroy3.tab.c
test/btyacc/calc.tab.c
test/btyacc/calc1.tab.c
test/btyacc/calc2.tab.c
test/btyacc/calc3.tab.c
test/btyacc/calc_code_all.tab.c
test/btyacc/calc_code_default.tab.c
test/btyacc/calc_code_imports.tab.c
test/btyacc/calc_code_provides.tab.c
test/btyacc/calc_code_requires.tab.c
test/btyacc/calc_code_top.tab.c
test/btyacc/code_calc.code.c
test/btyacc/defines1.calc.c
test/btyacc/defines2.calc.c
test/btyacc/defines3.calc.c
test/btyacc/err_inherit3.tab.c
test/btyacc/err_inherit4.tab.c
test/btyacc/err_syntax18.tab.c
test/btyacc/err_syntax20.tab.c
test/btyacc/expr.oxout.tab.c
test/btyacc/grammar.tab.c
test/btyacc/help.error
test/btyacc/inherit0.tab.c
test/btyacc/inherit1.tab.c
test/btyacc/inherit2.tab.c
test/btyacc/no_b_opt.error
test/btyacc/no_output2.error
test/btyacc/no_p_opt.error
test/btyacc/nostdin.error
test/btyacc/ok_syntax1.tab.c
test/btyacc/pure_calc.tab.c
test/btyacc/quote_calc-s.tab.c
test/btyacc/quote_calc.tab.c
test/btyacc/quote_calc2-s.tab.c
test/btyacc/quote_calc2.tab.c
test/btyacc/quote_calc3-s.tab.c
test/btyacc/quote_calc3.tab.c
test/btyacc/quote_calc4-s.tab.c
test/btyacc/quote_calc4.tab.c
test/btyacc/stdin1.calc.c
test/btyacc/stdin2.calc.c
test/btyacc/varsyntax_calc1.tab.c
test/yacc/big_b.error
test/yacc/big_l.error
test/yacc/calc.tab.c
test/yacc/calc1.tab.c
test/yacc/calc2.tab.c
test/yacc/calc3.tab.c
test/yacc/calc_code_all.tab.c
test/yacc/calc_code_default.tab.c
test/yacc/calc_code_imports.tab.c
test/yacc/calc_code_provides.tab.c
test/yacc/calc_code_requires.tab.c
test/yacc/calc_code_top.tab.c
test/yacc/code_calc.code.c
test/yacc/defines1.calc.c
test/yacc/defines2.calc.c
test/yacc/defines3.calc.c
test/yacc/err_syntax18.tab.c
test/yacc/err_syntax20.tab.c
test/yacc/expr.oxout.tab.c
test/yacc/grammar.tab.c
test/yacc/help.error
test/yacc/no_b_opt.error
test/yacc/no_output2.error
test/yacc/no_p_opt.error
test/yacc/nostdin.error
test/yacc/ok_syntax1.tab.c
test/yacc/pure_calc.tab.c
test/yacc/quote_calc-s.tab.c
test/yacc/quote_calc.tab.c
test/yacc/quote_calc2-s.tab.c
test/yacc/quote_calc2.tab.c
test/yacc/quote_calc3-s.tab.c
test/yacc/quote_calc3.tab.c
test/yacc/quote_calc4-s.tab.c
test/yacc/quote_calc4.tab.c
test/yacc/stdin1.calc.c
test/yacc/stdin2.calc.c
test/yacc/varsyntax_calc1.tab.c
yacc.1

diff --git a/CHANGES b/CHANGES
index 8124ce5..e1e8796 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,118 @@
+2021-08-02  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * main.c, yacc.1: add "-h" option
+
+       * test/btyacc/no_b_opt.error, test/btyacc/no_output2.error, test/btyacc/no_p_opt.error, test/btyacc/big_b.error, test/btyacc/big_l.error, test/btyacc/help.error, test/btyacc/nostdin.error, test/yacc/big_b.error, test/yacc/big_l.error, test/yacc/help.error, test/yacc/no_b_opt.error, test/yacc/no_output2.error, test/yacc/no_p_opt.error, test/yacc/nostdin.error:
+       regen
+
+       * main.c:
+       map any of bison's long-options which have a corresponding yacc option
+       into the latter, without depending upon getopt_long().
+
+       * main.c: suggested patch:
+       From: Boris Kolpackov <boris@codesynthesis.com>
+       Subject: Re: [PATCH] support bison's --defines and --output options in byacc
+
+       * VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile:
+       bump
+
+2021-08-01  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * test/btyacc/inherit2.tab.c, test/btyacc/btyacc_destroy2.tab.c, test/btyacc/btyacc_destroy3.tab.c, test/btyacc/err_inherit3.tab.c, test/btyacc/err_inherit4.tab.c, test/btyacc/btyacc_demo.tab.c, test/btyacc/btyacc_destroy1.tab.c:
+       regen
+
+       * output.c:
+       fix a misplaced #line, which was after a generated line in the code-file
+
+       * test/yacc/ok_syntax1.tab.c, test/yacc/pure_calc.tab.c, test/yacc/quote_calc-s.tab.c, test/yacc/quote_calc.tab.c, test/yacc/quote_calc2-s.tab.c, test/yacc/quote_calc2.tab.c, test/yacc/quote_calc3-s.tab.c, test/yacc/quote_calc3.tab.c, test/yacc/quote_calc4-s.tab.c, test/yacc/quote_calc4.tab.c, test/yacc/varsyntax_calc1.tab.c, test/yacc/err_syntax18.tab.c, test/yacc/err_syntax20.tab.c, test/yacc/expr.oxout.tab.c, test/yacc/grammar.tab.c, test/yacc/calc.tab.c, test/yacc/calc1.tab.c, test/yacc/calc2.tab.c, test/yacc/calc3.tab.c, test/yacc/calc_code_all.tab.c, test/yacc/calc_code_default.tab.c, test/yacc/calc_code_imports.tab.c, test/yacc/calc_code_provides.tab.c, test/yacc/calc_code_requires.tab.c, test/yacc/calc_code_top.tab.c, test/yacc/code_calc.code.c, test/yacc/defines1.calc.c, test/yacc/defines2.calc.c, test/yacc/defines3.calc.c, test/yacc/stdin1.calc.c, test/yacc/stdin2.calc.c:
+       regen
+
+       * output.c:
+       add a state-machine to output_semantic_actions() to detect and replace
+       the "#line" directives added by Roland Illig's change, making them show
+       the actual line-numbers in the code-file.
+
+       * test/btyacc/pure_calc.tab.c, test/btyacc/quote_calc-s.tab.c, test/btyacc/quote_calc.tab.c, test/btyacc/quote_calc2-s.tab.c, test/btyacc/quote_calc2.tab.c, test/btyacc/quote_calc3-s.tab.c, test/btyacc/quote_calc3.tab.c, test/btyacc/quote_calc4-s.tab.c, test/btyacc/quote_calc4.tab.c, test/btyacc/varsyntax_calc1.tab.c, test/btyacc/err_syntax18.tab.c, test/btyacc/err_syntax20.tab.c, test/btyacc/expr.oxout.tab.c, test/btyacc/grammar.tab.c, test/btyacc/inherit0.tab.c, test/btyacc/inherit1.tab.c, test/btyacc/inherit2.tab.c, test/btyacc/ok_syntax1.tab.c, test/btyacc/btyacc_calc1.tab.c, test/btyacc/btyacc_demo.tab.c, test/btyacc/btyacc_destroy1.tab.c, test/btyacc/btyacc_destroy2.tab.c, test/btyacc/btyacc_destroy3.tab.c, test/btyacc/calc.tab.c, test/btyacc/calc1.tab.c, test/btyacc/calc2.tab.c, test/btyacc/calc3.tab.c, test/btyacc/calc_code_all.tab.c, test/btyacc/calc_code_default.tab.c, test/btyacc/calc_code_imports.tab.c, test/btyacc/calc_code_provides.tab.c, test/btyacc/calc_code_requires.tab.c, test/btyacc/calc_code_top.tab.c, test/btyacc/code_calc.code.c, test/btyacc/defines1.calc.c, test/btyacc/defines2.calc.c, test/btyacc/defines3.calc.c, test/btyacc/err_inherit3.tab.c, test/btyacc/err_inherit4.tab.c, test/btyacc/stdin1.calc.c, test/btyacc/stdin2.calc.c:
+       regen
+
+       * reader.c:
+       adapt a patch by Roland Illig which added #line directives with dummy
+       filename and line number, because the debug information was incorrect.
+       The actual fix (see output_semantic_actions) is to emit #line directives
+       which correspond to the code-file.
+
+       * reader.c: simplify an ifdef so I can balance {/}
+
+       * output.c: use new macro
+
+       * defs.h: add fprintf_lineno macro
+
+       * reader.c:
+       make that a little simpler - but I see that this should be using the
+       code-file's line-numbering rather than ""
+
+       * reader.c:
+       make that into a macro, and add a begin_case() to more/less match (the
+       #line's are not together in some btyacc cases...)
+
+       * VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile:
+       bump
+
+2021-07-14  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * reader.c: From: Roland Illig <roland.illig@gmx.de>
+       Subject: small patch for byacc
+       ...
+       this splits up "\nbreak;\n" output to put #line directives after first "\n"
+
+2021-07-03  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * config.sub: 2021-07-03
+           From: Ozkan Sezer <sezero@users.sourceforge.net>
+           config.sub: disable shellcheck SC2006 / SC2268 warnings
+
+           This is in line with the recent config.guess change in commit
+           12fcf67c9108f4c4b581eaa302088782f0ee40ea
+
+           * config.sub (shellcheck disable): Add SC2006,SC2268.
+
+           Suggested-by: Jacob Bachmeyer <jcb@gnu.org>
+           Signed-off-by: Ozkan Sezer <sezero@users.sourceforge.net>
+           Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+
+       * config.sub: 2021-07-03
+           From: Ozkan Sezer <sezero@users.sourceforge.net>
+           config.sub: normalize the quoting in the `echo FOO | sed ...`
+
+           Some cases quote the argument to echo and some do not.  At runtime
+           it probably does not matter because the substituted values will never
+           contain whitespace, but quoting them all would make shellcheck more
+           useful.
+
+           * config.sub: Consistently quote the argument of echo.
+           * doc/config.sub.1: Regenerate.
+
+           Suggested-by: Jacob Bachmeyer <jcb@gnu.org>
+           Signed-off-by: Ozkan Sezer <sezero@users.sourceforge.net>
+           Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2021-07-02  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * config.sub: 2021-06-03
+           From: Ozkan Sezer <sezero@users.sourceforge.net>
+           config.sub: replace POSIX $( ) with classic ` ` throughout
+
+           This is in line with the recent config.guess change in commit
+           d70c4fa934de164178054c3a60aaa0024ed07c91.
+
+           The patch was generated using patch-6.gawk script introduced in that
+           commit.
+
+           * config.sub: Revert POSIX command substitutions to classic form.
+
+           Signed-off-by: Ozkan Sezer <sezero@users.sourceforge.net>
+           Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+
 2021-06-19  Thomas E. Dickey  <dickey@invisible-island.net>
 
        * configure: regen
 
        * aclocal.m4: resync with my-autoconf
 
+2021-06-04  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * config.guess: 2021-06-03
+           From: Vineet Gupta <Vineet.Gupta1@synopsys.com>
+           Recognize arc32
+
+           This is the 32-bit variant of ARCv3 ISA (which is not compatible with the
+           32-bit ARCv2 ISA)
+
+           | make check
+           | cd testsuite && bash config-guess.sh && rm uname
+           | PASS: config.guess checks (136 tests)
+           | cd testsuite && bash config-sub.sh
+           | PASS: config.sub checks (864 tests)
+           | PASS: config.sub idempotency checks (801 tests)
+           | PASS: config.sub canonicalise each config.guess testcase (136 tests)
+
+           * config.guess (arc32:Linux:*:*): Recognize.
+           * config.sub (arc32): Likewise.
+           * doc/config.guess.1: Regenerate.
+           * doc/config.sub.1: Likewise.
+           * testsuite/config-guess.data: Add a test case for arc32.
+           * testsuite/config-sub.data (arc32, arc*-elf): Add test cases.
+
+           Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
+           Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+
+       * config.sub: 2021-06-03 (repaired)
+           From: Vineet Gupta <Vineet.Gupta1@synopsys.com>
+           Recognize arc32
+
+           This is the 32-bit variant of ARCv3 ISA (which is not compatible with the
+           32-bit ARCv2 ISA)
+
+           | make check
+           | cd testsuite && bash config-guess.sh && rm uname
+           | PASS: config.guess checks (136 tests)
+           | cd testsuite && bash config-sub.sh
+           | PASS: config.sub checks (864 tests)
+           | PASS: config.sub idempotency checks (801 tests)
+           | PASS: config.sub canonicalise each config.guess testcase (136 tests)
+
+           * config.guess (arc32:Linux:*:*): Recognize.
+           * config.sub (arc32): Likewise.
+           * doc/config.guess.1: Regenerate.
+           * doc/config.sub.1: Likewise.
+           * testsuite/config-guess.data: Add a test case for arc32.
+           * testsuite/config-sub.data (arc32, arc*-elf): Add test cases.
+
+           Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
+           Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2021-05-26  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * config.guess: 2021-05-24
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: manual fixups after previous automatic patch
+
+           The tool could not handle command substitutions that span lines, but
+           fortunately there were only two such substitutions in the script.
+
+           The test for which universe is active on Pyramid is rewritten into a
+           case block because it was the only use of a command substitution as an
+           argument to the test command, which would require quoting.
+
+           * config.guess: Rewrite "if" for Pyramid systems to "case".
+
+       * config.guess: 2021-05-24 (repaired)
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: replace POSIX $( ) with classic ` ` throughout
+
+           The previous replacement of backticks with POSIX command substitutions
+           was ill-considered and illogical: this script recognizes many archaic
+           machine types that probably never had POSIX shells, therefore it needs
+           to be able to run successfully under pre-POSIX shells.
+
+           This patch was generated using the included GNU Awk program.
+
+           * config.guess: Revert POSIX command substitutions to classic form.
+           * patch-6.gawk: Store the tool that produced the automated patch.
+
+2021-05-25  Thomas E. Dickey  <dickey@invisible-island.net>
+
+       * config.guess: 2021-05-24 (repaired)
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: manual fixup after previous automated patches
+
+           This patch provides the special handling for the GNU system.  As these
+           were two small and unique edits, they were not included in the scripts.
+
+           This patch also cleans up other minor issues that must be addressed
+           before reverting to classic command substitutions and updates
+           "shellcheck" directives to account for changes in this script and the
+           change in "shellcheck" towards reporting individual portability issues.
+
+       * config.guess: 2021-05-24 (repaired)
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: automatic fixups after previous automated patch
+
+           This patch was generated using the following command:
+
+             sed -i config.guess \
+                 -e '/="[^"]\+"\(-\|$\)/s/="\([^"([:space:])]\+\)"/=\1/' \
+                 -e '/="[^"]\+"[[:alnum:]]/s/="\$\([^([:space:])]\+\)"/=${\1}/' \
+                 -e \
+           '/\$(echo[^|]\+|/s/\([^[:space:]]\)[[:space:]]*|[[:space:]]*sed/\1 | sed/g'
+
+           * config.guess: Remove unneeded quotes in other variable assignments,
+           standardize spacing for "echo ... | sed" substitutions.
+
+       * config.guess: 2021-05-24 (repaired)
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: remove unneeded quotes and factor command substitutions
+
+           This is further cleanup and simplifies some constructs that can confuse
+           Emacs' syntax highlighting while generally reducing required quoting.
+
+           This patch was generated using the included GNU Awk program.
+
+           * config.guess: Remove unneeded variable quotes and factor out command
+           substitutions when setting GUESS.
+           * patch-3.gawk: Store the tool that produced the automated patch.
+
+       * config.guess: 2021-05-24 (repaired)
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: manual fixups after previous automatic patch
+
+           * config.guess: Adjust a few "leftover" cases that the tool could not
+           easily recognize and fixes comment indentation in a few other special
+           cases.
+
+       * config.guess: 2021-05-24 (repaired)
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: introduce intermediate variable with uname results
+
+           This will allow quoting to be significantly simplified in another
+           pass through the file.
+
+           * config.guess: Introduce GUESS variable to hold results of uname analysis.
+
+       * config.guess: 2021-05-24 (repaired)
+           From: Jacob Bachmeyer <jcb@gnu.org>
+           config.guess: use intermediate variable with uname results
+
+           This will allow quoting to be significantly simplified in another
+           pass through the file.
+
+           This patch was generated using the included GNU Awk program.
+
+           * config.guess: Use GUESS variable to hold results of uname analysis.
+           * patch-1.gawk: Store the tool that produced the automated patch.
+
 2021-05-24  Thomas E. Dickey  <dickey@invisible-island.net>
 
        * config.guess: 2021-05-24 (repaired)
index 0bb708b..ad99dea 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-MANIFEST for byacc-20210619, version t20210619
+MANIFEST for byacc-20210802, version t20210802
 --------------------------------------------------------------------------------
 MANIFEST                        this file
 ACKNOWLEDGEMENTS                original version of byacc - 1993
diff --git a/VERSION b/VERSION
index a522144..eb77dcf 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-20210619
+20210802
index 9c65c6c..e81d3ae 100755 (executable)
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 2021 Thomas E. Dickey
 #   Copyright 1992-2021 Free Software Foundation, Inc.
 
-timestamp='2021-05-24'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2021-06-03'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -33,6 +34,14 @@ timestamp='2021-05-24'
 # Please send patches to <config-patches@gnu.org>.
 
 
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
+
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
@@ -85,6 +94,9 @@ if test $# != 0; then
   exit 1
 fi
 
+# Just in case it came from the environment.
+GUESS=
+
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
 # temporary files to be created and, as you can see below, it is a
@@ -103,7 +115,7 @@ set_cc_for_build() {
     # prevent multiple calls if $tmp is already set
     test "$tmp" && return 0
     : "${TMPDIR=/tmp}"
-    # shellcheck disable=SC2039
+    # shellcheck disable=SC2039,SC3028
     { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
        { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
        { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
@@ -113,7 +125,7 @@ set_cc_for_build() {
        ,,)    echo "int x;" > "$dummy.c"
               for driver in cc gcc c89 c99 ; do
                   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
-                      CC_FOR_BUILD="$driver"
+                      CC_FOR_BUILD=$driver
                       break
                   fi
               done
@@ -158,7 +170,8 @@ Linux|GNU|GNU/*)
        #endif
        #endif
        EOF
-       eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+       cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+       eval "$cc_set_libc"
 
        # Second heuristic to detect musl libc.
        if [ "$LIBC" = unknown ] &&
@@ -203,9 +216,9 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
            earmv*)
                arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
                endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
-               machine="${arch}${endian}"-unknown
+               machine=${arch}${endian}-unknown
                ;;
-           *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
+           *) machine=$UNAME_MACHINE_ARCH-unknown ;;
        esac
        # The Operating System including object format, if it has switched
        # to ELF recently (or will in the future) and ABI.
@@ -252,54 +265,54 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "$machine-${os}${release}${abi-}"
-       exit ;;
+       GUESS=$machine-${os}${release}${abi-}
+       ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-       echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
+       ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
+       ;;
     *:SecBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
-       echo "$UNAME_MACHINE_ARCH"-unknown-secbsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
+       ;;
     *:LibertyBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-       echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
+       ;;
     *:MidnightBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
+       ;;
     *:ekkoBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
+       ;;
     *:SolidBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
+       ;;
     *:OS108:*:*)
-       echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
+       ;;
     macppc:MirBSD:*:*)
-       echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
+       ;;
     *:MirBSD:*:*)
-       echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
+       ;;
     *:Sortix:*:*)
-       echo "$UNAME_MACHINE"-unknown-sortix
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-sortix
+       ;;
     *:Twizzler:*:*)
-       echo "$UNAME_MACHINE"-unknown-twizzler
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-twizzler
+       ;;
     *:Redox:*:*)
-       echo "$UNAME_MACHINE"-unknown-redox
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-redox
+       ;;
     mips:OSF1:*.*)
-       echo mips-dec-osf1
-       exit ;;
+       GUESS=mips-dec-osf1
+       ;;
     alpha:OSF1:*:*)
        # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
        trap '' 0
@@ -353,65 +366,69 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
-       exit ;;
+       OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+       GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
+       ;;
     Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-unknown-sysv4
-       exit ;;
+       GUESS=m68k-unknown-sysv4
+       ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-       echo "$UNAME_MACHINE"-unknown-amigaos
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-amigaos
+       ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-       echo "$UNAME_MACHINE"-unknown-morphos
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-morphos
+       ;;
     *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit ;;
+       GUESS=i370-ibm-openedition
+       ;;
     *:z/VM:*:*)
-       echo s390-ibm-zvmoe
-       exit ;;
+       GUESS=s390-ibm-zvmoe
+       ;;
     *:OS400:*:*)
-       echo powerpc-ibm-os400
-       exit ;;
+       GUESS=powerpc-ibm-os400
+       ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix"$UNAME_RELEASE"
-       exit ;;
+       GUESS=arm-acorn-riscix$UNAME_RELEASE
+       ;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
-       echo arm-unknown-riscos
-       exit ;;
+       GUESS=arm-unknown-riscos
+       ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit ;;
+       GUESS=hppa1.1-hitachi-hiuxmpp
+       ;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit ;;
+       case `(/bin/universe) 2>/dev/null` in
+           att) GUESS=pyramid-pyramid-sysv3 ;;
+           *)   GUESS=pyramid-pyramid-bsd   ;;
+       esac
+       ;;
     NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit ;;
+       GUESS=pyramid-pyramid-svr4
+       ;;
     DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit ;;
+       GUESS=sparc-icl-nx6
+       ;;
     DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
        case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7; exit ;;
-       esac ;;
+           sparc) GUESS=sparc-icl-nx7 ;;
+       esac
+       ;;
     s390x:SunOS:*:*)
-       echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
+       ;;
     sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=sparc-hal-solaris2$SUN_REL
+       ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=sparc-sun-solaris2$SUN_REL
+       ;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-       echo i386-pc-auroraux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=i386-pc-auroraux$UNAME_RELEASE
+       ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
        set_cc_for_build
        SUN_ARCH=i386
@@ -426,14 +443,16 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
                SUN_ARCH=x86_64
            fi
        fi
-       echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
+       ;;
     sun4*:SunOS:6*:*)
        # According to config.sub, this is the proper way to canonicalize
        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
        # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=sparc-sun-solaris3$SUN_REL
+       ;;
     sun4*:SunOS:*:*)
        case `/usr/bin/arch -k` in
            Series*|S4*)
@@ -441,26 +460,27 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
                ;;
        esac
        # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
+       GUESS=sparc-sun-sunos$SUN_REL
+       ;;
     sun3*:SunOS:*:*)
-       echo m68k-sun-sunos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-sun-sunos$UNAME_RELEASE
+       ;;
     sun*:*:4.2BSD:*)
        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
        test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
        case `/bin/arch` in
            sun3)
-               echo m68k-sun-sunos"$UNAME_RELEASE"
+               GUESS=m68k-sun-sunos$UNAME_RELEASE
                ;;
            sun4)
-               echo sparc-sun-sunos"$UNAME_RELEASE"
+               GUESS=sparc-sun-sunos$UNAME_RELEASE
                ;;
        esac
-       exit ;;
+       ;;
     aushp:SunOS:*:*)
-       echo sparc-auspex-sunos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sparc-auspex-sunos$UNAME_RELEASE
+       ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -470,41 +490,41 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-atari-mint$UNAME_RELEASE
+       ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-atari-mint$UNAME_RELEASE
+       ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-       echo m68k-atari-mint"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-atari-mint$UNAME_RELEASE
+       ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-       echo m68k-milan-mint"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-milan-mint$UNAME_RELEASE
+       ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-       echo m68k-hades-mint"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-hades-mint$UNAME_RELEASE
+       ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-       echo m68k-unknown-mint"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-unknown-mint$UNAME_RELEASE
+       ;;
     m68k:machten:*:*)
-       echo m68k-apple-machten"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-apple-machten$UNAME_RELEASE
+       ;;
     powerpc:machten:*:*)
-       echo powerpc-apple-machten"$UNAME_RELEASE"
-       exit ;;
+       GUESS=powerpc-apple-machten$UNAME_RELEASE
+       ;;
     RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit ;;
+       GUESS=mips-dec-mach_bsd4.3
+       ;;
     RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix"$UNAME_RELEASE"
-       exit ;;
+       GUESS=mips-dec-ultrix$UNAME_RELEASE
+       ;;
     VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix"$UNAME_RELEASE"
-       exit ;;
+       GUESS=vax-dec-ultrix$UNAME_RELEASE
+       ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix"$UNAME_RELEASE"
-       exit ;;
+       GUESS=clipper-intergraph-clix$UNAME_RELEASE
+       ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
        set_cc_for_build
        sed 's/^        //' << EOF > "$dummy.c"
@@ -532,29 +552,29 @@ EOF
          dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
          SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
            { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=mips-mips-riscos$UNAME_RELEASE
+       ;;
     Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit ;;
+       GUESS=powerpc-motorola-powermax
+       ;;
     Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit ;;
+       GUESS=powerpc-harris-powermax
+       ;;
     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit ;;
+       GUESS=powerpc-harris-powermax
+       ;;
     Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit ;;
+       GUESS=powerpc-harris-powerunix
+       ;;
     m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit ;;
+       GUESS=m88k-harris-cxux7
+       ;;
     m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit ;;
+       GUESS=m88k-motorola-sysv4
+       ;;
     m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit ;;
+       GUESS=m88k-motorola-sysv3
+       ;;
     AViiON:dgux:*:*)
        # DG/UX returns AViiON for all architectures
        UNAME_PROCESSOR=`/usr/bin/uname -p`
@@ -563,44 +583,45 @@ EOF
            if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
               test "$TARGET_BINARY_INTERFACE"x = x
            then
-               echo m88k-dg-dgux"$UNAME_RELEASE"
+               GUESS=m88k-dg-dgux$UNAME_RELEASE
            else
-               echo m88k-dg-dguxbcs"$UNAME_RELEASE"
+               GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
            fi
        else
-           echo i586-dg-dgux"$UNAME_RELEASE"
+           GUESS=i586-dg-dgux$UNAME_RELEASE
        fi
-       exit ;;
+       ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
+       GUESS=m88k-dolphin-sysv3
+       ;;
     M88*:*:R3*:*)
        # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit ;;
+       GUESS=m88k-motorola-sysv3
+       ;;
     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit ;;
+       GUESS=m88k-tektronix-sysv3
+       ;;
     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit ;;
+       GUESS=m68k-tektronix-bsd
+       ;;
     *:IRIX*:*:*)
-       echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
-       exit ;;
+       IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
+       GUESS=mips-sgi-irix$IRIX_REL
+       ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-       exit ;;               # Note that: echo "'$(uname -s)'" gives 'AIX '
+       GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
+       ;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
     i*86:AIX:*:*)
-       echo i386-ibm-aix
-       exit ;;
+       GUESS=i386-ibm-aix
+       ;;
     ia64:AIX:*:*)
        if test -x /usr/bin/oslevel ; then
                IBM_REV=`/usr/bin/oslevel`
        else
-               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+               IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
        fi
-       echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
-       exit ;;
+       GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
+       ;;
     *:AIX:2:3)
        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
                set_cc_for_build
@@ -617,16 +638,16 @@ EOF
 EOF
                if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
                then
-                       echo "$SYSTEM_NAME"
+                       GUESS=$SYSTEM_NAME
                else
-                       echo rs6000-ibm-aix3.2.5
+                       GUESS=rs6000-ibm-aix3.2.5
                fi
        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
+               GUESS=rs6000-ibm-aix3.2.4
        else
-               echo rs6000-ibm-aix3.2
+               GUESS=rs6000-ibm-aix3.2
        fi
-       exit ;;
+       ;;
     *:AIX:*:[4567])
        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
        if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
@@ -635,36 +656,36 @@ EOF
                IBM_ARCH=powerpc
        fi
        if test -x /usr/bin/lslpp ; then
-               IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+               IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
                           awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
        else
-               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+               IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
        fi
-       echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
-       exit ;;
+       GUESS=$IBM_ARCH-ibm-aix$IBM_REV
+       ;;
     *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit ;;
+       GUESS=rs6000-ibm-aix
+       ;;
     ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
-       echo romp-ibm-bsd4.4
-       exit ;;
+       GUESS=romp-ibm-bsd4.4
+       ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
-       exit ;;                             # report: romp-ibm BSD 4.3
+       GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
+       ;;                                  # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit ;;
+       GUESS=rs6000-bull-bosx
+       ;;
     DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit ;;
+       GUESS=m68k-bull-sysv3
+       ;;
     9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit ;;
+       GUESS=m68k-hp-bsd
+       ;;
     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit ;;
+       GUESS=m68k-hp-bsd4.4
+       ;;
     9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+       HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
        case $UNAME_MACHINE in
            9000/31?)            HP_ARCH=m68000 ;;
            9000/[34]??)         HP_ARCH=m68k ;;
@@ -743,12 +764,12 @@ EOF
                HP_ARCH=hppa64
            fi
        fi
-       echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
-       exit ;;
+       GUESS=$HP_ARCH-hp-hpux$HPUX_REV
+       ;;
     ia64:HP-UX:*:*)
-       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux"$HPUX_REV"
-       exit ;;
+       HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+       GUESS=ia64-hp-hpux$HPUX_REV
+       ;;
     3050*:HI-UX:*:*)
        set_cc_for_build
        sed 's/^        //' << EOF > "$dummy.c"
@@ -778,36 +799,36 @@ EOF
 EOF
        $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
                { echo "$SYSTEM_NAME"; exit; }
-       echo unknown-hitachi-hiuxwe2
-       exit ;;
+       GUESS=unknown-hitachi-hiuxwe2
+       ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
-       echo hppa1.1-hp-bsd
-       exit ;;
+       GUESS=hppa1.1-hp-bsd
+       ;;
     9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit ;;
+       GUESS=hppa1.0-hp-bsd
+       ;;
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit ;;
+       GUESS=hppa1.0-hp-mpeix
+       ;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
-       echo hppa1.1-hp-osf
-       exit ;;
+       GUESS=hppa1.1-hp-osf
+       ;;
     hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit ;;
+       GUESS=hppa1.0-hp-osf
+       ;;
     i*86:OSF1:*:*)
        if test -x /usr/sbin/sysversion ; then
-           echo "$UNAME_MACHINE"-unknown-osf1mk
+           GUESS=$UNAME_MACHINE-unknown-osf1mk
        else
-           echo "$UNAME_MACHINE"-unknown-osf1
+           GUESS=$UNAME_MACHINE-unknown-osf1
        fi
-       exit ;;
+       ;;
     parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit ;;
+       GUESS=hppa1.1-hp-lites
+       ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-       exit ;;
+       GUESS=c1-convex-bsd
+       ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
        if getsysinfo -f scalar_acc
        then echo c32-convex-bsd
@@ -815,17 +836,18 @@ EOF
        fi
        exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-       exit ;;
+       GUESS=c34-convex-bsd
+       ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-       exit ;;
+       GUESS=c38-convex-bsd
+       ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-       exit ;;
+       GUESS=c4-convex-bsd
+       ;;
     CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=ymp-cray-unicos$CRAY_REL
+       ;;
     CRAY*[A-Z]90:*:*:*)
        echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
@@ -833,48 +855,54 @@ EOF
              -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*TS:*:*:*)
-       echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=t90-cray-unicos$CRAY_REL
+       ;;
     CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=alphaev5-cray-unicosmk$CRAY_REL
+       ;;
     CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=sv1-cray-unicos$CRAY_REL
+       ;;
     *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=craynv-cray-unicosmp$CRAY_REL
+       ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
        FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
        FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
-       echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
+       GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+       ;;
     5000:UNIX_System_V:4.*:*)
        FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
        FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
-       echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
+       GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+       ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
+       ;;
     sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sparc-unknown-bsdi$UNAME_RELEASE
+       ;;
     *:BSD/OS:*:*)
-       echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
+       ;;
     arm:FreeBSD:*:*)
        UNAME_PROCESSOR=`uname -p`
        set_cc_for_build
        if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_PCS_VFP
        then
-           echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
+           FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+           GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
        else
-           echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
+           FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+           GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
        fi
-       exit ;;
+       ;;
     *:FreeBSD:*:*)
        UNAME_PROCESSOR=`/usr/bin/uname -p`
        case $UNAME_PROCESSOR in
@@ -883,62 +911,68 @@ EOF
            i386)
                UNAME_PROCESSOR=i586 ;;
        esac
-       echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
-       exit ;;
+       FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+       GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
+       ;;
     i*:CYGWIN*:*)
-       echo "$UNAME_MACHINE"-pc-cygwin
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-cygwin
+       ;;
     *:MINGW64*:*)
-       echo "$UNAME_MACHINE"-pc-mingw64
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-mingw64
+       ;;
     *:MINGW*:*)
-       echo "$UNAME_MACHINE"-pc-mingw32
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-mingw32
+       ;;
     *:MSYS*:*)
-       echo "$UNAME_MACHINE"-pc-msys
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-msys
+       ;;
     i*:PW*:*)
-       echo "$UNAME_MACHINE"-pc-pw32
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-pw32
+       ;;
     *:Interix*:*)
        case $UNAME_MACHINE in
            x86)
-               echo i586-pc-interix"$UNAME_RELEASE"
-               exit ;;
+               GUESS=i586-pc-interix$UNAME_RELEASE
+               ;;
            authenticamd | genuineintel | EM64T)
-               echo x86_64-unknown-interix"$UNAME_RELEASE"
-               exit ;;
+               GUESS=x86_64-unknown-interix$UNAME_RELEASE
+               ;;
            IA64)
-               echo ia64-unknown-interix"$UNAME_RELEASE"
-               exit ;;
+               GUESS=ia64-unknown-interix$UNAME_RELEASE
+               ;;
        esac ;;
     i*:UWIN*:*)
-       echo "$UNAME_MACHINE"-pc-uwin
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-uwin
+       ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-pc-cygwin
-       exit ;;
+       GUESS=x86_64-pc-cygwin
+       ;;
     prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=powerpcle-unknown-solaris2$SUN_REL
+       ;;
     *:GNU:*:*)
        # the GNU system
-       echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
-       exit ;;
+       GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
+       GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
+       GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
+       ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
-       exit ;;
+       GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
+       GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+       GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
+       ;;
     *:Minix:*:*)
-       echo "$UNAME_MACHINE"-unknown-minix
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-minix
+       ;;
     aarch64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
          EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -951,63 +985,63 @@ EOF
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
        if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
-    arc:Linux:*:* | arceb:Linux:*:* | arc64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
+    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     arm*:Linux:*:*)
        set_cc_for_build
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+           GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
+               GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
            else
-               echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
+               GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
            fi
        fi
-       exit ;;
+       ;;
     avr32*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     cris:Linux:*:*)
-       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+       ;;
     crisv32:Linux:*:*)
-       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+       ;;
     e2k:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     frv:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     hexagon:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     i*86:Linux:*:*)
-       echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-linux-$LIBC
+       ;;
     ia64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     k1om:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     m32r*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     m68*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     mips:Linux:*:* | mips64:Linux:*:*)
        set_cc_for_build
        IS_GLIBC=0
@@ -1052,65 +1086,66 @@ EOF
        #endif
        #endif
 EOF
-       eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
+       cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
+       eval "$cc_set_vars"
        test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
        ;;
     mips64el:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     openrisc*:Linux:*:*)
-       echo or1k-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=or1k-unknown-linux-$LIBC
+       ;;
     or32:Linux:*:* | or1k*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=sparc-unknown-linux-$LIBC
+       ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=hppa64-unknown-linux-$LIBC
+       ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
-         PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
-         *)    echo hppa-unknown-linux-"$LIBC" ;;
+         PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
+         PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
+         *)    GUESS=hppa-unknown-linux-$LIBC ;;
        esac
-       exit ;;
+       ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=powerpc64-unknown-linux-$LIBC
+       ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=powerpc-unknown-linux-$LIBC
+       ;;
     ppc64le:Linux:*:*)
-       echo powerpc64le-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=powerpc64le-unknown-linux-$LIBC
+       ;;
     ppcle:Linux:*:*)
-       echo powerpcle-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=powerpcle-unknown-linux-$LIBC
+       ;;
     riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
+       ;;
     sh64*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     sh*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     tile*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     vax:Linux:*:*)
-       echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-dec-linux-$LIBC
+       ;;
     x86_64:Linux:*:*)
        set_cc_for_build
        LIBCABI=$LIBC
@@ -1119,56 +1154,56 @@ EOF
                (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
                grep IS_X32 >/dev/null
            then
-               LIBCABI="$LIBC"x32
+               LIBCABI=${LIBC}x32
            fi
        fi
-       echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI"
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
+       ;;
     xtensa*:Linux:*:*)
-       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
        # earlier versions are messed up and put the nodename in both
        # sysname and nodename.
-       echo i386-sequent-sysv4
-       exit ;;
+       GUESS=i386-sequent-sysv4
+       ;;
     i*86:UNIX_SV:4.2MP:2.*)
        # Unixware is an offshoot of SVR4, but it has its own version
        # number series starting with 2...
        # I am not positive that other SVR4 systems won't match this,
        # I just have to hope.  -- rms.
        # Use sysv4.2uw... so that sysv4* matches it.
-       echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
+       ;;
     i*86:OS/2:*:*)
        # If we were able to find `uname', then EMX Unix compatibility
        # is probably installed.
-       echo "$UNAME_MACHINE"-pc-os2-emx
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-os2-emx
+       ;;
     i*86:XTS-300:*:STOP)
-       echo "$UNAME_MACHINE"-unknown-stop
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-stop
+       ;;
     i*86:atheos:*:*)
-       echo "$UNAME_MACHINE"-unknown-atheos
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-atheos
+       ;;
     i*86:syllable:*:*)
-       echo "$UNAME_MACHINE"-pc-syllable
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-syllable
+       ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-       echo i386-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=i386-unknown-lynxos$UNAME_RELEASE
+       ;;
     i*86:*DOS:*:*)
-       echo "$UNAME_MACHINE"-pc-msdosdjgpp
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-msdosdjgpp
+       ;;
     i*86:*:4.*:*)
        UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
+               GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
        else
-               echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
+               GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
        fi
-       exit ;;
+       ;;
     i*86:*:5:[678]*)
        # UnixWare 7.x, OpenUNIX and OpenServer 6.
        case `/bin/uname -X | grep "^Machine"` in
@@ -1176,12 +1211,12 @@ EOF
            *Pentium)        UNAME_MACHINE=i586 ;;
            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
        esac
-       echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       ;;
     i*86:*:3.2:*)
        if test -f /usr/options/cb.name; then
                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
+               GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
        elif /bin/uname -X 2>/dev/null >/dev/null ; then
                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1191,11 +1226,11 @@ EOF
                        && UNAME_MACHINE=i686
                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
                        && UNAME_MACHINE=i686
-               echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
+               GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
        else
-               echo "$UNAME_MACHINE"-pc-sysv32
+               GUESS=$UNAME_MACHINE-pc-sysv32
        fi
-       exit ;;
+       ;;
     pc:*:*:*)
        # Left here for compatibility:
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1203,31 +1238,31 @@ EOF
        # Note: whatever this is, it MUST be the same as what config.sub
        # prints for the "djgpp" host, or else GDB configure will decide that
        # this is a cross-build.
-       echo i586-pc-msdosdjgpp
-       exit ;;
+       GUESS=i586-pc-msdosdjgpp
+       ;;
     Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
+       GUESS=i386-pc-mach3
+       ;;
     paragon:*:*:*)
-       echo i860-intel-osf1
-       exit ;;
+       GUESS=i860-intel-osf1
+       ;;
     i860:*:4.*:*) # i860-SVR4
        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
+         GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
        else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
+         GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
        fi
-       exit ;;
+       ;;
     mini*:CTIX:SYS*5:*)
        # "miniframe"
-       echo m68010-convergent-sysv
-       exit ;;
+       GUESS=m68010-convergent-sysv
+       ;;
     mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit ;;
+       GUESS=m68k-convergent-sysv
+       ;;
     M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit ;;
+       GUESS=m68k-diab-dnix
+       ;;
     M68*:*:R3V[5678]*:*)
        test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
     3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
@@ -1252,116 +1287,116 @@ EOF
        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
            && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-unknown-lynxos$UNAME_RELEASE
+       ;;
     mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit ;;
+       GUESS=m68k-atari-sysv4
+       ;;
     TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sparc-unknown-lynxos$UNAME_RELEASE
+       ;;
     rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
+       ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-       echo powerpc-unknown-lynxos"$UNAME_RELEASE"
-       exit ;;
+       GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
+       ;;
     SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv"$UNAME_RELEASE"
-       exit ;;
+       GUESS=mips-dde-sysv$UNAME_RELEASE
+       ;;
     RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
+       GUESS=mips-sni-sysv4
+       ;;
     RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
+       GUESS=mips-sni-sysv4
+       ;;
     *:SINIX-*:*:*)
        if uname -p 2>/dev/null >/dev/null ; then
                UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo "$UNAME_MACHINE"-sni-sysv4
+               GUESS=$UNAME_MACHINE-sni-sysv4
        else
-               echo ns32k-sni-sysv
+               GUESS=ns32k-sni-sysv
        fi
-       exit ;;
+       ;;
     PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                        # says <Richard.M.Bartel@ccMail.Census.GOV>
-       echo i586-unisys-sysv4
-       exit ;;
+       GUESS=i586-unisys-sysv4
+       ;;
     *:UNIX_System_V:4*:FTX*)
        # From Gerald Hewes <hewes@openmarket.com>.
        # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit ;;
+       GUESS=hppa1.1-stratus-sysv4
+       ;;
     *:*:*:FTX*)
        # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit ;;
+       GUESS=i860-stratus-sysv4
+       ;;
     i*86:VOS:*:*)
        # From Paul.Green@stratus.com.
-       echo "$UNAME_MACHINE"-stratus-vos
-       exit ;;
+       GUESS=$UNAME_MACHINE-stratus-vos
+       ;;
     *:VOS:*:*)
        # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit ;;
+       GUESS=hppa1.1-stratus-vos
+       ;;
     mc68*:A/UX:*:*)
-       echo m68k-apple-aux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=m68k-apple-aux$UNAME_RELEASE
+       ;;
     news*:NEWS-OS:6*:*)
-       echo mips-sony-newsos6
-       exit ;;
+       GUESS=mips-sony-newsos6
+       ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
        if test -d /usr/nec; then
-               echo mips-nec-sysv"$UNAME_RELEASE"
+               GUESS=mips-nec-sysv$UNAME_RELEASE
        else
-               echo mips-unknown-sysv"$UNAME_RELEASE"
+               GUESS=mips-unknown-sysv$UNAME_RELEASE
        fi
-       exit ;;
+       ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
+       GUESS=powerpc-be-beos
+       ;;
     BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit ;;
+       GUESS=powerpc-apple-beos
+       ;;
     BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit ;;
+       GUESS=i586-pc-beos
+       ;;
     BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
-       echo i586-pc-haiku
-       exit ;;
+       GUESS=i586-pc-haiku
+       ;;
     x86_64:Haiku:*:*)
-       echo x86_64-unknown-haiku
-       exit ;;
+       GUESS=x86_64-unknown-haiku
+       ;;
     SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sx4-nec-superux$UNAME_RELEASE
+       ;;
     SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sx5-nec-superux$UNAME_RELEASE
+       ;;
     SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sx6-nec-superux$UNAME_RELEASE
+       ;;
     SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sx7-nec-superux$UNAME_RELEASE
+       ;;
     SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sx8-nec-superux$UNAME_RELEASE
+       ;;
     SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sx8r-nec-superux$UNAME_RELEASE
+       ;;
     SX-ACE:SUPER-UX:*:*)
-       echo sxace-nec-superux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=sxace-nec-superux$UNAME_RELEASE
+       ;;
     Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody"$UNAME_RELEASE"
-       exit ;;
+       GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
+       ;;
     *:Rhapsody:*:*)
-       echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
+       ;;
     arm64:Darwin:*:*)
-       echo aarch64-apple-darwin"$UNAME_RELEASE"
-       exit ;;
+       GUESS=aarch64-apple-darwin$UNAME_RELEASE
+       ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p`
        case $UNAME_PROCESSOR in
@@ -1397,43 +1432,43 @@ EOF
            # uname -m returns i386 or x86_64
            UNAME_PROCESSOR=$UNAME_MACHINE
        fi
-       echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
+       ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        UNAME_PROCESSOR=`uname -p`
        if test "$UNAME_PROCESSOR" = x86; then
                UNAME_PROCESSOR=i386
                UNAME_MACHINE=pc
        fi
-       echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
+       ;;
     *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
+       GUESS=i386-pc-qnx
+       ;;
     NEO-*:NONSTOP_KERNEL:*:*)
-       echo neo-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
+       GUESS=neo-tandem-nsk$UNAME_RELEASE
+       ;;
     NSE-*:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
+       GUESS=nse-tandem-nsk$UNAME_RELEASE
+       ;;
     NSR-*:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
+       GUESS=nsr-tandem-nsk$UNAME_RELEASE
+       ;;
     NSV-*:NONSTOP_KERNEL:*:*)
-       echo nsv-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
+       GUESS=nsv-tandem-nsk$UNAME_RELEASE
+       ;;
     NSX-*:NONSTOP_KERNEL:*:*)
-       echo nsx-tandem-nsk"$UNAME_RELEASE"
-       exit ;;
+       GUESS=nsx-tandem-nsk$UNAME_RELEASE
+       ;;
     *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit ;;
+       GUESS=mips-compaq-nonstopux
+       ;;
     BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit ;;
+       GUESS=bs2000-siemens-sysv
+       ;;
     DS/*:UNIX_System_V:*:*)
-       echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
+       ;;
     *:Plan9:*:*)
        # "uname -m" is not consistent, so use $cputype instead. 386
        # is converted to i386 for consistency with other x86
@@ -1441,64 +1476,72 @@ EOF
        if test "${cputype-}" = 386; then
            UNAME_MACHINE=i386
        elif test "x${cputype-}" != x; then
-           UNAME_MACHINE="$cputype"
+           UNAME_MACHINE=$cputype
        fi
-       echo "$UNAME_MACHINE"-unknown-plan9
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-plan9
+       ;;
     *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit ;;
+       GUESS=pdp10-unknown-tops10
+       ;;
     *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit ;;
+       GUESS=pdp10-unknown-tenex
+       ;;
     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit ;;
+       GUESS=pdp10-dec-tops20
+       ;;
     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit ;;
+       GUESS=pdp10-xkl-tops20
+       ;;
     *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit ;;
+       GUESS=pdp10-unknown-tops20
+       ;;
     *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit ;;
+       GUESS=pdp10-unknown-its
+       ;;
     SEI:*:*:SEIUX)
-       echo mips-sei-seiux"$UNAME_RELEASE"
-       exit ;;
+       GUESS=mips-sei-seiux$UNAME_RELEASE
+       ;;
     *:DragonFly:*:*)
-       echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
-       exit ;;
+       DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+       GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
+       ;;
     *:*VMS:*:*)
        UNAME_MACHINE=`(uname -p) 2>/dev/null`
        case $UNAME_MACHINE in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-           V*) echo vax-dec-vms ; exit ;;
+           A*) GUESS=alpha-dec-vms ;;
+           I*) GUESS=ia64-dec-vms ;;
+           V*) GUESS=vax-dec-vms ;;
        esac ;;
     *:XENIX:*:SysV)
-       echo i386-pc-xenix
-       exit ;;
+       GUESS=i386-pc-xenix
+       ;;
     i*86:skyos:*:*)
-       echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
-       exit ;;
+       SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
+       GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
+       ;;
     i*86:rdos:*:*)
-       echo "$UNAME_MACHINE"-pc-rdos
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-rdos
+       ;;
     *:AROS:*:*)
-       echo "$UNAME_MACHINE"-unknown-aros
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-aros
+       ;;
     x86_64:VMkernel:*:*)
-       echo "$UNAME_MACHINE"-unknown-esx
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-esx
+       ;;
     amd64:Isilon\ OneFS:*:*)
-       echo x86_64-unknown-onefs
-       exit ;;
+       GUESS=x86_64-unknown-onefs
+       ;;
     *:Unleashed:*:*)
-       echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
+       ;;
 esac
 
+# Do we have a guess based on uname results?
+if test "x$GUESS" != x; then
+    echo "$GUESS"
+    exit
+fi
+
 # No uname command or uname output not recognized.
 set_cc_for_build
 cat > "$dummy.c" <<EOF
@@ -1630,7 +1673,7 @@ main ()
 }
 EOF
 
-$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
        { echo "$SYSTEM_NAME"; exit; }
 
 # Apollos put the system type in the environment.
@@ -1660,9 +1703,11 @@ and
   https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
 EOF
 
-year=`echo $timestamp | sed 's,-.*,,'`
+our_year=`echo $timestamp | sed 's,-.*,,'`
+thisyear=`date +%Y`
 # shellcheck disable=SC2003
-if test "`expr "\`date +%Y\`" - "$year"`" -lt 3 ; then
+script_age=`expr "$thisyear" - "$our_year"`
+if test "$script_age" -lt 3 ; then
    cat >&2 <<EOF
 
 If $0 has already been updated, send the following data and any
index 3eda71f..d80c5d7 100755 (executable)
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 2021 Thomas E. Dickey
 #   Copyright 1992-2021 Free Software Foundation, Inc.
 
-timestamp='2021-04-30'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2021-07-03'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -51,6 +52,13 @@ timestamp='2021-04-30'
 #      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 # It is wrong to echo any other type of specification.
 
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
@@ -1166,7 +1174,7 @@ case $cpu-$vendor in
                        | alphapca5[67] | alpha64pca5[67] \
                        | am33_2.0 \
                        | amdgcn \
-                       | arc | arceb | arc64 \
+                       | arc | arceb | arc32 | arc64 \
                        | arm | arm[lb]e | arme[lb] | armv* \
                        | avr | avr32 \
                        | asmjs \
@@ -1293,15 +1301,15 @@ then
 case $basic_os in
        gnu/linux*)
                kernel=linux
-               os=`echo $basic_os | sed -e 's|gnu/linux|gnu|'`
+               os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
                ;;
        os2-emx)
                kernel=os2
-               os=`echo $basic_os | sed -e 's|os2-emx|emx|'`
+               os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
                ;;
        nto-qnx*)
                kernel=nto
-               os=`echo $basic_os | sed -e 's|nto-qnx|qnx|'`
+               os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
                ;;
        *-*)
                # shellcheck disable=SC2162
@@ -1312,11 +1320,11 @@ EOF
        # Default OS when just kernel was specified
        nto*)
                kernel=nto
-               os=`echo $basic_os | sed -e 's|nto|qnx|'`
+               os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
                ;;
        linux*)
                kernel=linux
-               os=`echo $basic_os | sed -e 's|linux|gnu|'`
+               os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
                ;;
        *)
                kernel=
@@ -1337,7 +1345,7 @@ case $os in
                os=cnk
                ;;
        solaris1 | solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
                ;;
        solaris)
                os=solaris2
@@ -1366,7 +1374,7 @@ case $os in
                os=sco3.2v4
                ;;
        sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
                ;;
        sco*v* | scout)
                # Don't match below
@@ -1442,7 +1450,7 @@ case $os in
                ;;
        # Preserve the version number of sinix5.
        sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
+               os=`echo "$os" | sed -e 's|sinix|sysv|'`
                ;;
        sinix*)
                os=sysv4
diff --git a/defs.h b/defs.h
index 7084a4f..614478b 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -1,4 +1,4 @@
-/* $Id: defs.h,v 1.69 2021/05/20 23:39:26 tom Exp $ */
+/* $Id: defs.h,v 1.70 2021/08/01 22:21:53 tom Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -358,6 +358,10 @@ extern int ntags;
 extern char unionized;
 extern char line_format[];
 
+#define fprintf_lineno(f, n, s) \
+           if (!lflag) \
+               fprintf(f, line_format, (n), (s))
+
 extern Value_t start_symbol;
 extern char **symbol_name;
 extern char **symbol_pname;
diff --git a/main.c b/main.c
index 4922e2b..8582f20 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/* $Id: main.c,v 1.70 2020/09/10 17:32:55 tom Exp $ */
+/* $Id: main.c,v 1.72 2021/08/03 00:01:28 tom Exp $ */
 
 #include <signal.h>
 #if !defined(_WIN32) || defined(__MINGW32__)
@@ -201,41 +201,90 @@ set_signals(void)
 #endif
 }
 
+#define SIZEOF(v) (sizeof(v) / sizeof((v)[0]))
+
+/*
+ * Long options are provided only as a compatibility aid for scripters.
+ */
+/* *INDENT-OFF* */
+static const struct {
+    const char long_opt[16];
+    const char yacc_arg;
+    const char yacc_opt;
+} long_opts[] = {
+    { "defines",     1, 'H' },
+    { "file-prefix", 1, 'b' },
+    { "graph",       0, 'g' },
+    { "help",        0, 'h' },
+    { "name-prefix", 1, 'p' },
+    { "no-lines",    0, 'l' },
+    { "output",      1, 'o' },
+    { "version",     0, 'V' }
+};
+/* *INDENT-ON* */
+
+/*
+ * Usage-message is designed for 80 columns, with some unknowns.  Account for
+ * those in the maximum width so that the usage message uses no relocatable
+ * pointers.
+ */
+#define USAGE_COLS (80 + sizeof(DEFINES_SUFFIX) + sizeof(OUTPUT_SUFFIX))
+
 static void
 usage(void)
 {
-    static const char *msg[] =
-    {
-       ""
-       ,"Options:"
-       ,"  -b file_prefix        set filename prefix (default \"y.\")"
-       ,"  -B                    create a backtracking parser"
-       ,"  -d                    write definitions (" DEFINES_SUFFIX ")"
-       ,"  -H defines_file       write definitions to defines_file"
-       ,"  -i                    write interface (y.tab.i)"
-       ,"  -g                    write a graphical description"
-       ,"  -l                    suppress #line directives"
-       ,"  -L                    enable position processing, e.g., \"%locations\""
-       ,"  -o output_file        (default \"" OUTPUT_SUFFIX "\")"
-       ,"  -p symbol_prefix      set symbol prefix (default \"yy\")"
-       ,"  -P                    create a reentrant parser, e.g., \"%pure-parser\""
-       ,"  -r                    produce separate code and table files (y.code.c)"
-       ,"  -s                    suppress #define's for quoted names in %token lines"
-       ,"  -t                    add debugging support"
-       ,"  -v                    write description (y.output)"
-       ,"  -V                    show version information and exit"
+    /* *INDENT-OFF* */
+    static const char msg[][USAGE_COLS] =
+    {
+       { "  -b file_prefix        set filename prefix (default \"y.\")" },
+       { "  -B                    create a backtracking parser" },
+       { "  -d                    write definitions (" DEFINES_SUFFIX ")" },
+       { "  -h                    print this help-message" },
+       { "  -H defines_file       write definitions to defines_file" },
+       { "  -i                    write interface (y.tab.i)" },
+       { "  -g                    write a graphical description" },
+       { "  -l                    suppress #line directives" },
+       { "  -L                    enable position processing, e.g., \"%locations\"" },
+       { "  -o output_file        (default \"" OUTPUT_SUFFIX "\")" },
+       { "  -p symbol_prefix      set symbol prefix (default \"yy\")" },
+       { "  -P                    create a reentrant parser, e.g., \"%pure-parser\"" },
+       { "  -r                    produce separate code and table files (y.code.c)" },
+       { "  -s                    suppress #define's for quoted names in %token lines" },
+       { "  -t                    add debugging support" },
+       { "  -v                    write description (y.output)" },
+       { "  -V                    show version information and exit" },
     };
+    /* *INDENT-ON* */
     unsigned n;
 
     fflush(stdout);
     fprintf(stderr, "Usage: %s [options] filename\n", myname);
-    for (n = 0; n < sizeof(msg) / sizeof(msg[0]); ++n)
+
+    fprintf(stderr, "\nOptions:\n");
+    for (n = 0; n < SIZEOF(msg); ++n)
+    {
        fprintf(stderr, "%s\n", msg[n]);
+    }
+
+    fprintf(stderr, "\nLong options:\n");
+    for (n = 0; n < SIZEOF(long_opts); ++n)
+    {
+       fprintf(stderr, "  --%-20s-%c\n",
+               long_opts[n].long_opt,
+               long_opts[n].yacc_opt);
+    }
 
     exit(EXIT_FAILURE);
 }
 
 static void
+invalid_option(const char *option)
+{
+    fprintf(stderr, "invalid option: %s\n", option);
+    usage();
+}
+
+static void
 setflag(int ch)
 {
     switch (ch)
@@ -313,17 +362,66 @@ getargs(int argc, char *argv[])
     int i;
 #ifdef HAVE_GETOPT
     int ch;
+#endif
 
+    /*
+     * Map bison's long-options into yacc short options.
+     */
+    for (i = 1; i < argc; ++i)
+    {
+       char *a = argv[i];
+
+       if (!strncmp(a, "--", 2))
+       {
+           char *eqls;
+           size_t lc;
+           size_t len;
+
+           if ((len = strlen(a)) == 2)
+               break;
+
+           if ((eqls = strchr(a, '=')) != NULL)
+           {
+               len = (size_t)(eqls - a);
+               if (len == 0 || eqls[1] == '\0')
+                   invalid_option(a);
+           }
+
+           for (lc = 0; lc < SIZEOF(long_opts); ++lc)
+           {
+               if (!strncmp(long_opts[lc].long_opt, a + 2, len - 2))
+               {
+                   if (eqls != NULL && !long_opts[lc].yacc_arg)
+                       invalid_option(a);
+                   *a++ = '-';
+                   *a++ = long_opts[lc].yacc_opt;
+                   *a = '\0';
+                   if (eqls)
+                   {
+                       while ((*a++ = *++eqls) != '\0') /* empty */ ;
+                   }
+                   break;
+               }
+           }
+           if (!strncmp(a, "--", 2))
+               invalid_option(a);
+       }
+    }
+
+#ifdef HAVE_GETOPT
     if (argc > 0)
        myname = argv[0];
 
-    while ((ch = getopt(argc, argv, "Bb:dgH:ilLo:Pp:rstVvy")) != -1)
+    while ((ch = getopt(argc, argv, "Bb:dghH:ilLo:Pp:rstVvy")) != -1)
     {
        switch (ch)
        {
        case 'b':
            file_prefix = optarg;
            break;
+       case 'h':
+           usage();
+           break;
        case 'H':
            dflag = dflag2 = 1;
            defines_file_name = optarg;
@@ -509,7 +607,7 @@ create_file_names(void)
 
     if (suffix != NULL)
     {
-       len = (size_t) (suffix - output_file_name);
+       len = (size_t)(suffix - output_file_name);
        file_prefix = TMALLOC(char, len + 1);
        NO_SPACE(file_prefix);
        strncpy(file_prefix, output_file_name, len)[len] = 0;
index b0ebdd9..97e8bee 100644 (file)
--- a/output.c
+++ b/output.c
@@ -1,4 +1,4 @@
-/* $Id: output.c,v 1.96 2021/06/19 19:51:49 tom Exp $ */
+/* $Id: output.c,v 1.99 2021/08/01 23:45:04 tom Exp $ */
 
 #include "defs.h"
 
@@ -96,7 +96,7 @@ write_code_lineno(FILE * fp)
     if (!lflag && (fp == code_file))
     {
        ++outline;
-       fprintf(fp, line_format, outline + 1, code_file_name);
+       fprintf_lineno(fp, outline + 1, code_file_name);
     }
 }
 
@@ -106,7 +106,7 @@ write_input_lineno(void)
     if (!lflag)
     {
        ++outline;
-       fprintf(code_file, line_format, lineno, input_file_name);
+       fprintf_lineno(code_file, lineno, input_file_name);
     }
 }
 
@@ -1688,15 +1688,49 @@ static void
 output_semantic_actions(void)
 {
     int c, last;
+    int state;
+    char line_state[20];
 
     rewind(action_file);
     if ((c = getc(action_file)) == EOF)
        return;
 
+    if (!lflag)
+    {
+       state = -1;
+       sprintf(line_state, line_format, 1, "");
+    }
+
     last = c;
     putc_code(code_file, c);
     while ((c = getc(action_file)) != EOF)
     {
+       /*
+        * When writing the action file, we did not know the line-numbers in
+        * the code-file, but wrote empty #line directives.  Detect those and
+        * replace with proper #line directives.
+        */
+       if (!lflag && (last == '\n' || state >= 0))
+       {
+           if (c == line_state[state + 1])
+           {
+               ++state;
+               if (line_state[state + 1] == '\0')
+               {
+                   write_code_lineno(code_file);
+                   state = -1;
+               }
+               last = c;
+               continue;
+           }
+           else
+           {
+               int n;
+               for (n = 0; n <= state; ++n)
+                   putc_code(code_file, line_state[n]);
+               state = -1;
+           }
+       }
        putc_code(code_file, c);
        last = c;
     }
@@ -1959,8 +1993,8 @@ output_yydestruct_impl(void)
                ++outline;
            puts_code(code_file, destructor_code);
            putc_code(code_file, '\n');
-           putl_code(code_file, "\tbreak;\n");
            write_code_lineno(code_file);
+           putl_code(code_file, "\tbreak;\n");
            FREE(destructor_code);
        }
     }
index d66d334..6fe5ae9 100644 (file)
@@ -1,9 +1,9 @@
 Summary: byacc - public domain Berkeley LALR Yacc parser generator
 %define AppProgram byacc
 %define AltProgram btyacc
-%define AppVersion 20210619
+%define AppVersion 20210802
 %define UseProgram yacc
-# $Id: byacc.spec,v 1.56 2021/06/19 18:06:48 tom Exp $
+# $Id: byacc.spec,v 1.58 2021/08/02 20:50:01 tom Exp $
 Name: %{AppProgram}
 Version: %{AppVersion}
 Release: 1
index 8a7b90a..710f758 100644 (file)
@@ -1,3 +1,15 @@
+byacc (20210802) unstable; urgency=low
+
+  * maintenance updates
+
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Mon, 02 Aug 2021 16:50:01 -0400
+
+byacc (20210801) unstable; urgency=low
+
+  * maintenance updates
+
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 01 Aug 2021 15:30:22 -0400
+
 byacc (20210619) unstable; urgency=low
 
   * maintenance updates
index 656683f..6e2da47 100644 (file)
@@ -1,8 +1,8 @@
 Summary: byacc - public domain Berkeley LALR Yacc parser generator
 %define AppProgram byacc
-%define AppVersion 20210619
+%define AppVersion 20210802
 %define UseProgram yacc
-# $Id: mingw-byacc.spec,v 1.34 2021/06/19 18:06:48 tom Exp $
+# $Id: mingw-byacc.spec,v 1.36 2021/08/02 20:50:01 tom Exp $
 Name: %{AppProgram}
 Version: %{AppVersion}
 Release: 1
index b21bb1b..c686873 100644 (file)
@@ -1,7 +1,7 @@
 # $NetBSD: Makefile,v 1.9 2008/07/24 17:13:00 tonnerre Exp $
 #
 
-DISTNAME=      byacc-20210619
+DISTNAME=      byacc-20210802
 PKGREVISION=   1
 CATEGORIES=    devel
 MASTER_SITES=  ftp://ftp.invisible-island.net/byacc/
index c267cc5..4038530 100644 (file)
--- a/reader.c
+++ b/reader.c
@@ -1,4 +1,4 @@
-/* $Id: reader.c,v 1.88 2021/05/20 23:57:23 tom Exp $ */
+/* $Id: reader.c,v 1.89 2021/08/01 22:36:09 tom Exp $ */
 
 #include "defs.h"
 
 /* this is a hard limit, but seems more than adequate */
 #define MAXARGS        20
 
+#define begin_case(f,n) fprintf(f, "case %d:\n", (int)(n))
+
+#define end_case(f) \
+           fprintf(f, "\n"); \
+           fprintf_lineno(f, 1, ""); \
+           fprintf(f, "break;\n")
+
 static void start_rule(bucket *bp, int s_lineno);
 #if defined(YYBTYACC)
 static void copy_initial_action(void);
@@ -749,7 +756,8 @@ copy_code(void)
        code_mstr = msnew();
     }
     cline++;
-    msprintf(code_mstr, line_format, lineno, input_file_name);
+    if (!lflag)
+       msprintf(code_mstr, line_format, lineno, input_file_name);
     for (;;)
     {
        c = *cptr++;
@@ -808,8 +816,7 @@ copy_text(void)
        if (line == NULL)
            unterminated_text(&a);
     }
-    if (!lflag)
-       fprintf(f, line_format, lineno, input_file_name);
+    fprintf_lineno(f, lineno, input_file_name);
 
   loop:
     c = *cptr++;
@@ -900,8 +907,7 @@ copy_union(void)
     puts_both("#ifndef YYSTYPE_IS_DECLARED\n");
     puts_both("#define YYSTYPE_IS_DECLARED 1\n");
 
-    if (!lflag)
-       fprintf(text_file, line_format, lineno, input_file_name);
+    fprintf_lineno(text_file, lineno, input_file_name);
     puts_both("typedef union YYSTYPE");
 
     depth = 0;
@@ -2547,11 +2553,10 @@ insert_arg_rule(char *arg, char *tag)
        rule = nrules;
        insert_arg_cache(code, rule);
        trialaction = 1;        /* arg rules always run in trial mode */
-       fprintf(f, "case %d:\n", rule - 2);
-       if (!lflag)
-           fprintf(f, line_format, line_number, input_file_name);
-       fprintf(f, "%s;\n", code);
-       fprintf(f, "break;\n");
+       begin_case(f, rule - 2);
+       fprintf_lineno(f, line_number, input_file_name);
+       fprintf(f, "%s;", code);
+       end_case(f);
        insert_empty_rule();
        plhs[rule]->tag = cache_tag(tag, strlen(tag));
        plhs[rule]->class = ARGUMENT;
@@ -2687,7 +2692,7 @@ copy_action(void)
     trialaction = (*cptr == L_BRAC);
 #endif
 
-    fprintf(f, "case %ld:\n", (long)(nrules - 2));
+    begin_case(f, nrules - 2);
 #if defined(YYBTYACC)
     if (backtrack)
     {
@@ -2695,8 +2700,7 @@ copy_action(void)
            fprintf(f, "  if (!yytrial)\n");
     }
 #endif
-    if (!lflag)
-       fprintf(f, line_format, lineno, input_file_name);
+    fprintf_lineno(f, lineno, input_file_name);
     if (*cptr == '=')
        ++cptr;
 
@@ -2940,12 +2944,11 @@ copy_action(void)
            if (c == L_CURL && !haveyyval)
            {
                fprintf(f, "  if (!yytrial)\n");
-               if (!lflag)
-                   fprintf(f, line_format, lineno, input_file_name);
+               fprintf_lineno(f, lineno, input_file_name);
                trialaction = 0;
                goto loop;
            }
-           fprintf(f, "\nbreak;\n");
+           end_case(f);
            FREE(a.a_line);
            if (maxoffset > 0)
                FREE(offsets);
@@ -2965,7 +2968,7 @@ copy_action(void)
     case ';':
        if (depth > 0)
            goto loop;
-       fprintf(f, "\nbreak;\n");
+       end_case(f);
        free(a.a_line);
        if (maxoffset > 0)
            FREE(offsets);
@@ -3002,13 +3005,12 @@ copy_action(void)
            if (c == L_CURL && !haveyyval)
            {
                fprintf(f, "  if (!yytrial)\n");
-               if (!lflag)
-                   fprintf(f, line_format, lineno, input_file_name);
+               fprintf_lineno(f, lineno, input_file_name);
                goto loop;
            }
        }
 #endif
-       fprintf(f, "\nbreak;\n");
+       end_case(f);
        free(a.a_line);
        if (maxoffset > 0)
            FREE(offsets);
@@ -3406,13 +3408,17 @@ read_grammar(void)
            || c == '$'
            || c == '\''
            || c == '"')
+       {
            add_symbol();
+       }
+       else if (c == L_CURL || c == '='
 #if defined(YYBTYACC)
-       else if (c == L_CURL || c == '=' || (backtrack && c == L_BRAC))
-#else
-       else if (c == L_CURL || c == '=')
+                || (backtrack && c == L_BRAC)
 #endif
+           )
+       {
            copy_action();
+       }
        else if (c == '|')
        {
            end_rule();
index 6710162..7f74f49 100644 (file)
@@ -4,6 +4,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -17,3 +18,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index 6710162..7f74f49 100644 (file)
@@ -4,6 +4,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -17,3 +18,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index 1d49396..71d535e 100644 (file)
@@ -1350,6 +1350,7 @@ yyreduce:
 case 2:
 #line 51 "btyacc_calc1.y"
 {YYVALID;}
+#line 1354 "btyacc_calc1.tab.c"
 break;
 case 3:
 #line 52 "btyacc_calc1.y"
@@ -1358,6 +1359,7 @@ case 3:
 {
                yyerrok;
        }
+#line 1363 "btyacc_calc1.tab.c"
 break;
 case 4:
   if (!yytrial)
@@ -1365,6 +1367,7 @@ case 4:
        {
                (void) printf("%15.8f\n", yystack.l_mark[0].dval);
        }
+#line 1371 "btyacc_calc1.tab.c"
 break;
 case 5:
   if (!yytrial)
@@ -1372,6 +1375,7 @@ case 5:
        {
                (void) printf("(%15.8f, %15.8f)\n", yystack.l_mark[0].vval.lo, yystack.l_mark[0].vval.hi);
        }
+#line 1379 "btyacc_calc1.tab.c"
 break;
 case 6:
   if (!yytrial)
@@ -1379,6 +1383,7 @@ case 6:
        {
                dreg[yystack.l_mark[-2].ival] = yystack.l_mark[0].dval;
        }
+#line 1387 "btyacc_calc1.tab.c"
 break;
 case 7:
   if (!yytrial)
@@ -1386,6 +1391,7 @@ case 7:
        {
                vreg[yystack.l_mark[-2].ival] = yystack.l_mark[0].vval;
        }
+#line 1395 "btyacc_calc1.tab.c"
 break;
 case 9:
   if (!yytrial)
@@ -1393,6 +1399,7 @@ case 9:
        {
                yyval.dval = dreg[yystack.l_mark[0].ival];
        }
+#line 1403 "btyacc_calc1.tab.c"
 break;
 case 10:
   if (!yytrial)
@@ -1400,6 +1407,7 @@ case 10:
        {
                yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval;
        }
+#line 1411 "btyacc_calc1.tab.c"
 break;
 case 11:
   if (!yytrial)
@@ -1407,6 +1415,7 @@ case 11:
        {
                yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval;
        }
+#line 1419 "btyacc_calc1.tab.c"
 break;
 case 12:
   if (!yytrial)
@@ -1414,6 +1423,7 @@ case 12:
        {
                yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval;
        }
+#line 1427 "btyacc_calc1.tab.c"
 break;
 case 13:
   if (!yytrial)
@@ -1421,6 +1431,7 @@ case 13:
        {
                yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval;
        }
+#line 1435 "btyacc_calc1.tab.c"
 break;
 case 14:
   if (!yytrial)
@@ -1428,6 +1439,7 @@ case 14:
        {
                yyval.dval = -yystack.l_mark[0].dval;
        }
+#line 1443 "btyacc_calc1.tab.c"
 break;
 case 15:
   if (!yytrial)
@@ -1435,6 +1447,7 @@ case 15:
        {
                yyval.dval = yystack.l_mark[-1].dval;
        }
+#line 1451 "btyacc_calc1.tab.c"
 break;
 case 16:
   if (!yytrial)
@@ -1442,6 +1455,7 @@ case 16:
        {
                yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval;
        }
+#line 1459 "btyacc_calc1.tab.c"
 break;
 case 17:
   if (!yytrial)
@@ -1455,6 +1469,7 @@ case 17:
                        YYERROR;
                }
        }
+#line 1473 "btyacc_calc1.tab.c"
 break;
 case 18:
   if (!yytrial)
@@ -1462,6 +1477,7 @@ case 18:
        {
                yyval.vval = vreg[yystack.l_mark[0].ival];
        }
+#line 1481 "btyacc_calc1.tab.c"
 break;
 case 19:
   if (!yytrial)
@@ -1470,6 +1486,7 @@ case 19:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo + yystack.l_mark[0].vval.lo;
        }
+#line 1490 "btyacc_calc1.tab.c"
 break;
 case 20:
   if (!yytrial)
@@ -1478,6 +1495,7 @@ case 20:
                yyval.vval.hi = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.lo;
        }
+#line 1499 "btyacc_calc1.tab.c"
 break;
 case 21:
   if (!yytrial)
@@ -1486,6 +1504,7 @@ case 21:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo - yystack.l_mark[0].vval.hi;
        }
+#line 1508 "btyacc_calc1.tab.c"
 break;
 case 22:
   if (!yytrial)
@@ -1494,6 +1513,7 @@ case 22:
                yyval.vval.hi = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.hi;
        }
+#line 1517 "btyacc_calc1.tab.c"
 break;
 case 23:
   if (!yytrial)
@@ -1501,6 +1521,7 @@ case 23:
        {
                yyval.vval = vmul( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 1525 "btyacc_calc1.tab.c"
 break;
 case 24:
   if (!yytrial)
@@ -1508,6 +1529,7 @@ case 24:
        {
                yyval.vval = vmul (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 1533 "btyacc_calc1.tab.c"
 break;
 case 25:
   if (!yytrial)
@@ -1516,6 +1538,7 @@ case 25:
                if (dcheck(yystack.l_mark[0].vval)) YYERROR;
                yyval.vval = vdiv ( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 1542 "btyacc_calc1.tab.c"
 break;
 case 26:
   if (!yytrial)
@@ -1524,6 +1547,7 @@ case 26:
                if (dcheck ( yystack.l_mark[0].vval )) YYERROR;
                yyval.vval = vdiv (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 1551 "btyacc_calc1.tab.c"
 break;
 case 27:
   if (!yytrial)
@@ -1532,6 +1556,7 @@ case 27:
                yyval.vval.hi = -yystack.l_mark[0].vval.lo;
                yyval.vval.lo = -yystack.l_mark[0].vval.hi;
        }
+#line 1560 "btyacc_calc1.tab.c"
 break;
 case 28:
   if (!yytrial)
@@ -1539,8 +1564,9 @@ case 28:
        {
                yyval.vval = yystack.l_mark[-1].vval;
        }
+#line 1568 "btyacc_calc1.tab.c"
 break;
-#line 1544 "btyacc_calc1.tab.c"
+#line 1570 "btyacc_calc1.tab.c"
     default:
         break;
     }
index f612ab6..2451c4c 100644 (file)
@@ -679,8 +679,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 683 "btyacc_demo.tab.c"
        break;
-#line 684 "btyacc_demo.tab.c"
        case 45:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -688,8 +688,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 692 "btyacc_demo.tab.c"
        break;
-#line 693 "btyacc_demo.tab.c"
        case 42:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -697,8 +697,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 701 "btyacc_demo.tab.c"
        break;
-#line 702 "btyacc_demo.tab.c"
        case 47:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -706,8 +706,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 710 "btyacc_demo.tab.c"
        break;
-#line 711 "btyacc_demo.tab.c"
        case 37:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -715,8 +715,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 719 "btyacc_demo.tab.c"
        break;
-#line 720 "btyacc_demo.tab.c"
        case 257:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -724,8 +724,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 728 "btyacc_demo.tab.c"
        break;
-#line 729 "btyacc_demo.tab.c"
        case 258:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -733,8 +733,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 737 "btyacc_demo.tab.c"
        break;
-#line 738 "btyacc_demo.tab.c"
        case 40:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -742,8 +742,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 746 "btyacc_demo.tab.c"
        break;
-#line 747 "btyacc_demo.tab.c"
        case 91:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -751,8 +751,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 755 "btyacc_demo.tab.c"
        break;
-#line 756 "btyacc_demo.tab.c"
        case 46:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -760,8 +760,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 764 "btyacc_demo.tab.c"
        break;
-#line 765 "btyacc_demo.tab.c"
        case 259:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -769,8 +769,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).id); }
+#line 773 "btyacc_demo.tab.c"
        break;
-#line 774 "btyacc_demo.tab.c"
        case 260:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -778,8 +778,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).expr); }
+#line 782 "btyacc_demo.tab.c"
        break;
-#line 783 "btyacc_demo.tab.c"
        case 261:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -787,8 +787,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 791 "btyacc_demo.tab.c"
        break;
-#line 792 "btyacc_demo.tab.c"
        case 262:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -796,8 +796,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 800 "btyacc_demo.tab.c"
        break;
-#line 801 "btyacc_demo.tab.c"
        case 263:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -805,8 +805,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 809 "btyacc_demo.tab.c"
        break;
-#line 810 "btyacc_demo.tab.c"
        case 264:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -814,8 +814,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 818 "btyacc_demo.tab.c"
        break;
-#line 819 "btyacc_demo.tab.c"
        case 265:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -823,8 +823,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 827 "btyacc_demo.tab.c"
        break;
-#line 828 "btyacc_demo.tab.c"
        case 266:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -832,8 +832,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 836 "btyacc_demo.tab.c"
        break;
-#line 837 "btyacc_demo.tab.c"
        case 267:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -841,8 +841,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 845 "btyacc_demo.tab.c"
        break;
-#line 846 "btyacc_demo.tab.c"
        case 268:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -850,8 +850,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 854 "btyacc_demo.tab.c"
        break;
-#line 855 "btyacc_demo.tab.c"
        case 269:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -859,8 +859,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 863 "btyacc_demo.tab.c"
        break;
-#line 864 "btyacc_demo.tab.c"
        case 59:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -868,8 +868,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 872 "btyacc_demo.tab.c"
        break;
-#line 873 "btyacc_demo.tab.c"
        case 44:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -877,8 +877,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 881 "btyacc_demo.tab.c"
        break;
-#line 882 "btyacc_demo.tab.c"
        case 41:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -886,8 +886,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 890 "btyacc_demo.tab.c"
        break;
-#line 891 "btyacc_demo.tab.c"
        case 93:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -895,8 +895,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 899 "btyacc_demo.tab.c"
        break;
-#line 900 "btyacc_demo.tab.c"
        case 123:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -904,8 +904,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 908 "btyacc_demo.tab.c"
        break;
-#line 909 "btyacc_demo.tab.c"
        case 125:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -913,8 +913,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 917 "btyacc_demo.tab.c"
        break;
-#line 918 "btyacc_demo.tab.c"
        case 270:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -922,8 +922,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 926 "btyacc_demo.tab.c"
        break;
-#line 927 "btyacc_demo.tab.c"
        case 271:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -931,8 +931,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 935 "btyacc_demo.tab.c"
        break;
-#line 936 "btyacc_demo.tab.c"
        case 272:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -940,8 +940,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).expr); }
+#line 944 "btyacc_demo.tab.c"
        break;
-#line 945 "btyacc_demo.tab.c"
        case 273:
 #line 67 "btyacc_demo.y"
        { /* 'msg' is a 'char *' indicating the context of destructor invocation*/
@@ -950,8 +950,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).decl->scope); free((*val).decl->type); }
+#line 954 "btyacc_demo.tab.c"
        break;
-#line 955 "btyacc_demo.tab.c"
        case 274:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -959,8 +959,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 963 "btyacc_demo.tab.c"
        break;
-#line 964 "btyacc_demo.tab.c"
        case 275:
 #line 83 "btyacc_demo.y"
        { printf("%s accessed by symbol with no type @ position[%d,%d..%d,%d]\n",
@@ -968,8 +968,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  /* in this example, we don't know what to do here */ }
+#line 972 "btyacc_demo.tab.c"
        break;
-#line 973 "btyacc_demo.tab.c"
        case 276:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -977,8 +977,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).code); }
+#line 981 "btyacc_demo.tab.c"
        break;
-#line 982 "btyacc_demo.tab.c"
        case 277:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -986,8 +986,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).code); }
+#line 990 "btyacc_demo.tab.c"
        break;
-#line 991 "btyacc_demo.tab.c"
        case 278:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -995,8 +995,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).code); }
+#line 999 "btyacc_demo.tab.c"
        break;
-#line 1000 "btyacc_demo.tab.c"
        case 279:
 #line 73 "btyacc_demo.y"
        { printf("%s accessed by symbol with type <decl> (case s.b. 279 & 280) @ position[%d,%d..%d,%d]\n",
@@ -1004,8 +1004,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).decl); }
+#line 1008 "btyacc_demo.tab.c"
        break;
-#line 1009 "btyacc_demo.tab.c"
        case 280:
 #line 73 "btyacc_demo.y"
        { printf("%s accessed by symbol with type <decl> (case s.b. 279 & 280) @ position[%d,%d..%d,%d]\n",
@@ -1013,8 +1013,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).decl); }
+#line 1017 "btyacc_demo.tab.c"
        break;
-#line 1018 "btyacc_demo.tab.c"
        case 281:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1022,8 +1022,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).type); }
+#line 1026 "btyacc_demo.tab.c"
        break;
-#line 1027 "btyacc_demo.tab.c"
        case 282:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1031,8 +1031,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).type); }
+#line 1035 "btyacc_demo.tab.c"
        break;
-#line 1036 "btyacc_demo.tab.c"
        case 283:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1040,8 +1040,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).type); }
+#line 1044 "btyacc_demo.tab.c"
        break;
-#line 1045 "btyacc_demo.tab.c"
        case 284:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1049,8 +1049,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).type); }
+#line 1053 "btyacc_demo.tab.c"
        break;
-#line 1054 "btyacc_demo.tab.c"
        case 285:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1058,8 +1058,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).type); }
+#line 1062 "btyacc_demo.tab.c"
        break;
-#line 1063 "btyacc_demo.tab.c"
        case 286:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1067,8 +1067,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1071 "btyacc_demo.tab.c"
        break;
-#line 1072 "btyacc_demo.tab.c"
        case 287:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1076,8 +1076,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).dlist); }
+#line 1080 "btyacc_demo.tab.c"
        break;
-#line 1081 "btyacc_demo.tab.c"
        case 288:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1085,8 +1085,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).dlist); }
+#line 1089 "btyacc_demo.tab.c"
        break;
-#line 1090 "btyacc_demo.tab.c"
        case 289:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1094,8 +1094,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1098 "btyacc_demo.tab.c"
        break;
-#line 1099 "btyacc_demo.tab.c"
        case 290:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1103,8 +1103,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1107 "btyacc_demo.tab.c"
        break;
-#line 1108 "btyacc_demo.tab.c"
        case 291:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1112,8 +1112,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1116 "btyacc_demo.tab.c"
        break;
-#line 1117 "btyacc_demo.tab.c"
        case 292:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1121,8 +1121,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1125 "btyacc_demo.tab.c"
        break;
-#line 1126 "btyacc_demo.tab.c"
        case 293:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1130,8 +1130,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).type); }
+#line 1134 "btyacc_demo.tab.c"
        break;
-#line 1135 "btyacc_demo.tab.c"
        case 294:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1139,8 +1139,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1143 "btyacc_demo.tab.c"
        break;
-#line 1144 "btyacc_demo.tab.c"
        case 295:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1148,8 +1148,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).type); }
+#line 1152 "btyacc_demo.tab.c"
        break;
-#line 1153 "btyacc_demo.tab.c"
        case 296:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1157,8 +1157,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1161 "btyacc_demo.tab.c"
        break;
-#line 1162 "btyacc_demo.tab.c"
        case 297:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1166,8 +1166,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1170 "btyacc_demo.tab.c"
        break;
-#line 1171 "btyacc_demo.tab.c"
        case 298:
 #line 78 "btyacc_demo.y"
        { printf("%s accessed by symbol of any type other than <decl>  @ position[%d,%d..%d,%d]\n",
@@ -1175,8 +1175,8 @@ YYDESTRUCT_DECL()
                         (*loc).first_line, (*loc).first_column,
                         (*loc).last_line, (*loc).last_column);
                  free((*val).scope); }
+#line 1179 "btyacc_demo.tab.c"
        break;
-#line 1180 "btyacc_demo.tab.c"
     }
 }
 #define YYDESTRUCT_IS_DECLARED 1
@@ -1853,38 +1853,46 @@ yyreduce:
 case 1:
 #line 93 "btyacc_demo.y"
 { yyval.scope = yystack.l_mark[0].scope; }
+#line 1857 "btyacc_demo.tab.c"
 break;
 case 2:
 #line 94 "btyacc_demo.y"
 { yyval.scope = global_scope; }
+#line 1862 "btyacc_demo.tab.c"
 break;
 case 3:
 #line 95 "btyacc_demo.y"
 { Decl *d = lookup(yystack.l_mark[-2].scope, yystack.l_mark[-1].id);
                          if (!d || !d->scope) YYERROR;
                          yyval.scope = d->scope; }
+#line 1869 "btyacc_demo.tab.c"
 break;
 case 4:
 #line 101 "btyacc_demo.y"
 { Decl *d = lookup(yystack.l_mark[-1].scope, yystack.l_mark[0].id);
        if (d == NULL || d->istype() == 0) YYERROR;
        yyval.type = d->type; }
+#line 1876 "btyacc_demo.tab.c"
 break;
 case 5:
 #line 106 "btyacc_demo.y"
 yyval.scope = global_scope = new_scope(0);
+#line 1881 "btyacc_demo.tab.c"
 break;
 case 8:
 #line 107 "btyacc_demo.y"
 yyval.scope = yystack.l_mark[-1].scope;
+#line 1886 "btyacc_demo.tab.c"
 break;
 case 10:
 #line 109 "btyacc_demo.y"
 {YYVALID;}
+#line 1891 "btyacc_demo.tab.c"
 break;
 case 11:
 #line 110 "btyacc_demo.y"
 yyval.scope = start_fn_def(yystack.l_mark[-2].scope, yystack.l_mark[0].decl);
+#line 1896 "btyacc_demo.tab.c"
 break;
 case 12:
   if (!yytrial)
@@ -1896,220 +1904,266 @@ case 12:
        yyloc.last_line    = yystack.p_mark[0].last_line;
        yyloc.last_column  = yystack.p_mark[0].last_column;
        finish_fn_def(yystack.l_mark[-2].decl, yystack.l_mark[0].code); }
+#line 1908 "btyacc_demo.tab.c"
 break;
 case 13:
 #line 121 "btyacc_demo.y"
 { yyval.type = yystack.l_mark[0].type; }
+#line 1913 "btyacc_demo.tab.c"
 break;
 case 14:
 #line 122 "btyacc_demo.y"
 { yyval.type = type_combine(yystack.l_mark[-2].type, yystack.l_mark[0].type); }
+#line 1918 "btyacc_demo.tab.c"
 break;
 case 15:
 #line 125 "btyacc_demo.y"
 { yyval.type = 0; }
+#line 1923 "btyacc_demo.tab.c"
 break;
 case 16:
 #line 126 "btyacc_demo.y"
 { yyval.type = type_combine(yystack.l_mark[-1].type, yystack.l_mark[0].type); }
+#line 1928 "btyacc_demo.tab.c"
 break;
 case 17:
 #line 130 "btyacc_demo.y"
 { yyval.type = yystack.l_mark[0].type; }
+#line 1933 "btyacc_demo.tab.c"
 break;
 case 18:
 #line 131 "btyacc_demo.y"
 { yyval.type = yystack.l_mark[0].type; }
+#line 1938 "btyacc_demo.tab.c"
 break;
 case 19:
 #line 132 "btyacc_demo.y"
 { yyval.type = bare_extern(); }
+#line 1943 "btyacc_demo.tab.c"
 break;
 case 20:
 #line 133 "btyacc_demo.y"
 { yyval.type = bare_register(); }
+#line 1948 "btyacc_demo.tab.c"
 break;
 case 21:
 #line 134 "btyacc_demo.y"
 { yyval.type = bare_static(); }
+#line 1953 "btyacc_demo.tab.c"
 break;
 case 22:
 #line 138 "btyacc_demo.y"
 { yyval.type = bare_const(); }
+#line 1958 "btyacc_demo.tab.c"
 break;
 case 23:
 #line 139 "btyacc_demo.y"
 { yyval.type = bare_volatile(); }
+#line 1963 "btyacc_demo.tab.c"
 break;
 case 24:
 #line 143 "btyacc_demo.y"
 yyval.scope = yystack.l_mark[-3].scope;
+#line 1968 "btyacc_demo.tab.c"
 break;
 case 25:
 #line 143 "btyacc_demo.y"
 yyval.type =  yystack.l_mark[-3].type;
+#line 1973 "btyacc_demo.tab.c"
 break;
 case 28:
 #line 148 "btyacc_demo.y"
 { if (!yystack.l_mark[0].type) YYERROR; }  if (!yytrial)
 #line 149 "btyacc_demo.y"
 { yyval.decl = declare(yystack.l_mark[-1].scope, 0, yystack.l_mark[0].type); }
+#line 1980 "btyacc_demo.tab.c"
 break;
 case 29:
   if (!yytrial)
 #line 150 "btyacc_demo.y"
        { yyval.decl = declare(yystack.l_mark[-2].scope, yystack.l_mark[0].id, yystack.l_mark[-1].type); }
+#line 1986 "btyacc_demo.tab.c"
 break;
 case 30:
 #line 151 "btyacc_demo.y"
 yyval.scope = yystack.l_mark[-2].scope;
+#line 1991 "btyacc_demo.tab.c"
 break;
 case 31:
 #line 151 "btyacc_demo.y"
 yyval.type =  yystack.l_mark[-2].type;
+#line 1996 "btyacc_demo.tab.c"
 break;
 case 32:
   if (!yytrial)
 #line 151 "btyacc_demo.y"
        { yyval.decl = yystack.l_mark[-1].decl; }
+#line 2002 "btyacc_demo.tab.c"
 break;
 case 33:
   if (!yytrial)
 #line 153 "btyacc_demo.y"
        { yyval.decl = make_pointer(yystack.l_mark[0].decl, yystack.l_mark[-3].type); }
+#line 2008 "btyacc_demo.tab.c"
 break;
 case 34:
   if (!yytrial)
 #line 155 "btyacc_demo.y"
        { yyval.decl = make_array(yystack.l_mark[-4].decl->type, yystack.l_mark[-1].expr); }
+#line 2014 "btyacc_demo.tab.c"
 break;
 case 35:
   if (!yytrial)
 #line 157 "btyacc_demo.y"
        { yyval.decl = build_function(yystack.l_mark[-5].decl, yystack.l_mark[-2].dlist, yystack.l_mark[0].type); }
+#line 2020 "btyacc_demo.tab.c"
 break;
 case 36:
   if (!yytrial)
 #line 160 "btyacc_demo.y"
        { yyval.dlist = 0; }
+#line 2026 "btyacc_demo.tab.c"
 break;
 case 37:
   if (!yytrial)
 #line 161 "btyacc_demo.y"
        { yyval.dlist = yystack.l_mark[0].dlist; }
+#line 2032 "btyacc_demo.tab.c"
 break;
 case 38:
   if (!yytrial)
 #line 164 "btyacc_demo.y"
        { yyval.dlist = append_dlist(yystack.l_mark[-3].dlist, yystack.l_mark[0].decl); }
+#line 2038 "btyacc_demo.tab.c"
 break;
 case 39:
   if (!yytrial)
 #line 165 "btyacc_demo.y"
        { yyval.dlist = build_dlist(yystack.l_mark[0].decl); }
+#line 2044 "btyacc_demo.tab.c"
 break;
 case 40:
   if (!yytrial)
 #line 168 "btyacc_demo.y"
        { yyval.decl = yystack.l_mark[0].decl; }
+#line 2050 "btyacc_demo.tab.c"
 break;
 case 41:
   if (!yytrial)
 #line 172 "btyacc_demo.y"
        { yyval.expr = build_expr(yystack.l_mark[-3].expr, ADD, yystack.l_mark[0].expr); }
+#line 2056 "btyacc_demo.tab.c"
 break;
 case 42:
   if (!yytrial)
 #line 173 "btyacc_demo.y"
        { yyval.expr = build_expr(yystack.l_mark[-3].expr, SUB, yystack.l_mark[0].expr); }
+#line 2062 "btyacc_demo.tab.c"
 break;
 case 43:
   if (!yytrial)
 #line 174 "btyacc_demo.y"
        { yyval.expr = build_expr(yystack.l_mark[-3].expr, MUL, yystack.l_mark[0].expr); }
+#line 2068 "btyacc_demo.tab.c"
 break;
 case 44:
   if (!yytrial)
 #line 175 "btyacc_demo.y"
        { yyval.expr = build_expr(yystack.l_mark[-3].expr, MOD, yystack.l_mark[0].expr); }
+#line 2074 "btyacc_demo.tab.c"
 break;
 case 45:
   if (!yytrial)
 #line 176 "btyacc_demo.y"
        { yyval.expr = build_expr(yystack.l_mark[-3].expr, DIV, yystack.l_mark[0].expr); }
+#line 2080 "btyacc_demo.tab.c"
 break;
 case 46:
   if (!yytrial)
 #line 177 "btyacc_demo.y"
        { yyval.expr = build_expr(0, DEREF, yystack.l_mark[0].expr); }
+#line 2086 "btyacc_demo.tab.c"
 break;
 case 47:
   if (!yytrial)
 #line 178 "btyacc_demo.y"
        { yyval.expr = var_expr(yystack.l_mark[-1].scope, yystack.l_mark[0].id); }
+#line 2092 "btyacc_demo.tab.c"
 break;
 case 48:
   if (!yytrial)
 #line 179 "btyacc_demo.y"
        { yyval.expr = yystack.l_mark[0].expr; }
+#line 2098 "btyacc_demo.tab.c"
 break;
 case 49:
   if (!yytrial)
 #line 183 "btyacc_demo.y"
        { yyval.code = 0; }
+#line 2104 "btyacc_demo.tab.c"
 break;
 case 50:
 #line 184 "btyacc_demo.y"
 {YYVALID;}  if (!yytrial)
 #line 184 "btyacc_demo.y"
 { yyval.code = build_expr_code(yystack.l_mark[-1].expr); }
+#line 2111 "btyacc_demo.tab.c"
 break;
 case 51:
 #line 185 "btyacc_demo.y"
 yyval.scope = yystack.l_mark[-6].scope;
+#line 2116 "btyacc_demo.tab.c"
 break;
 case 52:
 #line 185 "btyacc_demo.y"
 yyval.scope = yystack.l_mark[-9].scope;
+#line 2121 "btyacc_demo.tab.c"
 break;
 case 53:
 #line 185 "btyacc_demo.y"
 {YYVALID;}  if (!yytrial)
 #line 186 "btyacc_demo.y"
 { yyval.code = build_if(yystack.l_mark[-7].expr, yystack.l_mark[-3].code, yystack.l_mark[0].code); }
+#line 2128 "btyacc_demo.tab.c"
 break;
 case 54:
 #line 187 "btyacc_demo.y"
 {YYVALID;}  if (!yytrial)
 #line 188 "btyacc_demo.y"
 { yyval.code = build_if(yystack.l_mark[-4].expr, yystack.l_mark[0].code, 0); }
+#line 2135 "btyacc_demo.tab.c"
 break;
 case 55:
 #line 189 "btyacc_demo.y"
 yyval.scope = new_scope(yystack.l_mark[0].scope);
+#line 2140 "btyacc_demo.tab.c"
 break;
 case 56:
 #line 189 "btyacc_demo.y"
 {YYVALID;}  if (!yytrial)
 #line 189 "btyacc_demo.y"
 { yyval.code = yystack.l_mark[0].code; }
+#line 2147 "btyacc_demo.tab.c"
 break;
 case 57:
   if (!yytrial)
 #line 192 "btyacc_demo.y"
        { yyval.code = 0; }
+#line 2153 "btyacc_demo.tab.c"
 break;
 case 58:
   if (!yytrial)
 #line 193 "btyacc_demo.y"
        { yyval.code = code_append(yystack.l_mark[-2].code, yystack.l_mark[0].code); }
+#line 2159 "btyacc_demo.tab.c"
 break;
 case 59:
   if (!yytrial)
 #line 197 "btyacc_demo.y"
        { yyval.code = yystack.l_mark[-1].code; }
+#line 2165 "btyacc_demo.tab.c"
 break;
-#line 2113 "btyacc_demo.tab.c"
+#line 2167 "btyacc_demo.tab.c"
     default:
         break;
     }
index e92e8ea..320a903 100644 (file)
@@ -507,8 +507,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 511 "btyacc_destroy1.tab.c"
        break;
-#line 512 "btyacc_destroy1.tab.c"
     }
 }
 #define YYDESTRUCT_IS_DECLARED 1
@@ -1186,31 +1186,37 @@ case 1:
   if (!yytrial)
 #line 62 "btyacc_destroy1.y"
        { yyval.nlist = yystack.l_mark[-5].nlist; }
+#line 1190 "btyacc_destroy1.tab.c"
 break;
 case 2:
   if (!yytrial)
 #line 64 "btyacc_destroy1.y"
        { yyval.nlist = yystack.l_mark[-3].nlist; }
+#line 1196 "btyacc_destroy1.tab.c"
 break;
 case 3:
   if (!yytrial)
 #line 67 "btyacc_destroy1.y"
        { yyval.cval = cGLOBAL; }
+#line 1202 "btyacc_destroy1.tab.c"
 break;
 case 4:
   if (!yytrial)
 #line 68 "btyacc_destroy1.y"
        { yyval.cval = cLOCAL; }
+#line 1208 "btyacc_destroy1.tab.c"
 break;
 case 5:
   if (!yytrial)
 #line 71 "btyacc_destroy1.y"
        { yyval.tval = tREAL; }
+#line 1214 "btyacc_destroy1.tab.c"
 break;
 case 6:
   if (!yytrial)
 #line 72 "btyacc_destroy1.y"
        { yyval.tval = tINTEGER; }
+#line 1220 "btyacc_destroy1.tab.c"
 break;
 case 7:
   if (!yytrial)
@@ -1218,6 +1224,7 @@ case 7:
        { yyval.nlist->s = mksymbol(yystack.l_mark[-2].tval, yystack.l_mark[-2].cval, yystack.l_mark[0].id);
              yyval.nlist->next = yystack.l_mark[-1].nlist;
            }
+#line 1228 "btyacc_destroy1.tab.c"
 break;
 case 8:
   if (!yytrial)
@@ -1225,13 +1232,15 @@ case 8:
        { yyval.nlist->s = mksymbol(0, 0, yystack.l_mark[0].id);
              yyval.nlist->next = NULL;
            }
+#line 1236 "btyacc_destroy1.tab.c"
 break;
 case 9:
   if (!yytrial)
 #line 86 "btyacc_destroy1.y"
        { yyval.nlist = yystack.l_mark[-5].nlist; }
+#line 1242 "btyacc_destroy1.tab.c"
 break;
-#line 1235 "btyacc_destroy1.tab.c"
+#line 1244 "btyacc_destroy1.tab.c"
     default:
         break;
     }
index 6078819..3e505ce 100644 (file)
@@ -507,8 +507,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 511 "btyacc_destroy2.tab.c"
        break;
-#line 512 "btyacc_destroy2.tab.c"
     }
 }
 #define YYDESTRUCT_IS_DECLARED 1
@@ -1186,31 +1186,37 @@ case 1:
   if (!yytrial)
 #line 62 "btyacc_destroy2.y"
        { yyval.nlist = yystack.l_mark[-5].nlist; }
+#line 1190 "btyacc_destroy2.tab.c"
 break;
 case 2:
   if (!yytrial)
 #line 64 "btyacc_destroy2.y"
        { yyval.nlist = yystack.l_mark[-3].nlist; }
+#line 1196 "btyacc_destroy2.tab.c"
 break;
 case 3:
   if (!yytrial)
 #line 67 "btyacc_destroy2.y"
        { yyval.cval = cGLOBAL; }
+#line 1202 "btyacc_destroy2.tab.c"
 break;
 case 4:
   if (!yytrial)
 #line 68 "btyacc_destroy2.y"
        { yyval.cval = cLOCAL; }
+#line 1208 "btyacc_destroy2.tab.c"
 break;
 case 5:
   if (!yytrial)
 #line 71 "btyacc_destroy2.y"
        { yyval.tval = tREAL; }
+#line 1214 "btyacc_destroy2.tab.c"
 break;
 case 6:
   if (!yytrial)
 #line 72 "btyacc_destroy2.y"
        { yyval.tval = tINTEGER; }
+#line 1220 "btyacc_destroy2.tab.c"
 break;
 case 7:
   if (!yytrial)
@@ -1218,6 +1224,7 @@ case 7:
        { yyval.nlist->s = mksymbol(yystack.l_mark[-2].tval, yystack.l_mark[-2].cval, yystack.l_mark[0].id);
              yyval.nlist->next = yystack.l_mark[-1].nlist;
            }
+#line 1228 "btyacc_destroy2.tab.c"
 break;
 case 8:
   if (!yytrial)
@@ -1225,13 +1232,15 @@ case 8:
        { yyval.nlist->s = mksymbol(0, 0, yystack.l_mark[0].id);
              yyval.nlist->next = NULL;
            }
+#line 1236 "btyacc_destroy2.tab.c"
 break;
 case 9:
   if (!yytrial)
 #line 86 "btyacc_destroy2.y"
        { yyval.nlist = yystack.l_mark[-5].nlist; }
+#line 1242 "btyacc_destroy2.tab.c"
 break;
-#line 1235 "btyacc_destroy2.tab.c"
+#line 1244 "btyacc_destroy2.tab.c"
     default:
         break;
     }
index 8e5c771..5c1c6cb 100644 (file)
@@ -507,8 +507,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 511 "btyacc_destroy3.tab.c"
        break;
-#line 512 "btyacc_destroy3.tab.c"
     }
 }
 #define YYDESTRUCT_IS_DECLARED 1
@@ -1186,31 +1186,37 @@ case 1:
   if (!yytrial)
 #line 65 "btyacc_destroy3.y"
        { yyval.nlist = yystack.l_mark[-5].nlist; }
+#line 1190 "btyacc_destroy3.tab.c"
 break;
 case 2:
   if (!yytrial)
 #line 67 "btyacc_destroy3.y"
        { yyval.nlist = yystack.l_mark[-3].nlist; }
+#line 1196 "btyacc_destroy3.tab.c"
 break;
 case 3:
   if (!yytrial)
 #line 70 "btyacc_destroy3.y"
        { yyval.cval = cGLOBAL; }
+#line 1202 "btyacc_destroy3.tab.c"
 break;
 case 4:
   if (!yytrial)
 #line 71 "btyacc_destroy3.y"
        { yyval.cval = cLOCAL; }
+#line 1208 "btyacc_destroy3.tab.c"
 break;
 case 5:
   if (!yytrial)
 #line 74 "btyacc_destroy3.y"
        { yyval.tval = tREAL; }
+#line 1214 "btyacc_destroy3.tab.c"
 break;
 case 6:
   if (!yytrial)
 #line 75 "btyacc_destroy3.y"
        { yyval.tval = tINTEGER; }
+#line 1220 "btyacc_destroy3.tab.c"
 break;
 case 7:
   if (!yytrial)
@@ -1218,6 +1224,7 @@ case 7:
        { yyval.nlist->s = mksymbol(yystack.l_mark[-2].tval, yystack.l_mark[-2].cval, yystack.l_mark[0].id);
              yyval.nlist->next = yystack.l_mark[-1].nlist;
            }
+#line 1228 "btyacc_destroy3.tab.c"
 break;
 case 8:
   if (!yytrial)
@@ -1225,13 +1232,15 @@ case 8:
        { yyval.nlist->s = mksymbol(0, 0, yystack.l_mark[0].id);
              yyval.nlist->next = NULL;
            }
+#line 1236 "btyacc_destroy3.tab.c"
 break;
 case 9:
   if (!yytrial)
 #line 89 "btyacc_destroy3.y"
        { yyval.nlist = yystack.l_mark[-5].nlist; }
+#line 1242 "btyacc_destroy3.tab.c"
 break;
-#line 1235 "btyacc_destroy3.tab.c"
+#line 1244 "btyacc_destroy3.tab.c"
     default:
         break;
     }
index 09b0a20..5c7b82c 100644 (file)
@@ -1180,64 +1180,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 1184 "calc.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1189 "calc.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1194 "calc.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1199 "calc.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1204 "calc.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1209 "calc.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1214 "calc.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1219 "calc.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1224 "calc.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1229 "calc.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1234 "calc.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1239 "calc.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1244 "calc.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1249 "calc.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1254 "calc.tab.c"
 break;
-#line 1241 "calc.tab.c"
+#line 1256 "calc.tab.c"
     default:
         break;
     }
index 691f28e..aeb5966 100644 (file)
@@ -1326,78 +1326,91 @@ case 3:
        {
                (void) printf("%15.8f\n", yystack.l_mark[-1].dval);
        }
+#line 1330 "calc1.tab.c"
 break;
 case 4:
 #line 61 "calc1.y"
        {
                (void) printf("(%15.8f, %15.8f)\n", yystack.l_mark[-1].vval.lo, yystack.l_mark[-1].vval.hi);
        }
+#line 1337 "calc1.tab.c"
 break;
 case 5:
 #line 65 "calc1.y"
        {
                dreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].dval;
        }
+#line 1344 "calc1.tab.c"
 break;
 case 6:
 #line 69 "calc1.y"
        {
                vreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].vval;
        }
+#line 1351 "calc1.tab.c"
 break;
 case 7:
 #line 73 "calc1.y"
        {
                yyerrok;
        }
+#line 1358 "calc1.tab.c"
 break;
 case 9:
 #line 80 "calc1.y"
        {
                yyval.dval = dreg[yystack.l_mark[0].ival];
        }
+#line 1365 "calc1.tab.c"
 break;
 case 10:
 #line 84 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval;
        }
+#line 1372 "calc1.tab.c"
 break;
 case 11:
 #line 88 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval;
        }
+#line 1379 "calc1.tab.c"
 break;
 case 12:
 #line 92 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval;
        }
+#line 1386 "calc1.tab.c"
 break;
 case 13:
 #line 96 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval;
        }
+#line 1393 "calc1.tab.c"
 break;
 case 14:
 #line 100 "calc1.y"
        {
                yyval.dval = -yystack.l_mark[0].dval;
        }
+#line 1400 "calc1.tab.c"
 break;
 case 15:
 #line 104 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-1].dval;
        }
+#line 1407 "calc1.tab.c"
 break;
 case 16:
 #line 110 "calc1.y"
        {
                yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval;
        }
+#line 1414 "calc1.tab.c"
 break;
 case 17:
 #line 114 "calc1.y"
@@ -1410,12 +1423,14 @@ case 17:
                        YYERROR;
                }
        }
+#line 1427 "calc1.tab.c"
 break;
 case 18:
 #line 124 "calc1.y"
        {
                yyval.vval = vreg[yystack.l_mark[0].ival];
        }
+#line 1434 "calc1.tab.c"
 break;
 case 19:
 #line 128 "calc1.y"
@@ -1423,6 +1438,7 @@ case 19:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo + yystack.l_mark[0].vval.lo;
        }
+#line 1442 "calc1.tab.c"
 break;
 case 20:
 #line 133 "calc1.y"
@@ -1430,6 +1446,7 @@ case 20:
                yyval.vval.hi = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.lo;
        }
+#line 1450 "calc1.tab.c"
 break;
 case 21:
 #line 138 "calc1.y"
@@ -1437,6 +1454,7 @@ case 21:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo - yystack.l_mark[0].vval.hi;
        }
+#line 1458 "calc1.tab.c"
 break;
 case 22:
 #line 143 "calc1.y"
@@ -1444,18 +1462,21 @@ case 22:
                yyval.vval.hi = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.hi;
        }
+#line 1466 "calc1.tab.c"
 break;
 case 23:
 #line 148 "calc1.y"
        {
                yyval.vval = vmul( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 1473 "calc1.tab.c"
 break;
 case 24:
 #line 152 "calc1.y"
        {
                yyval.vval = vmul (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 1480 "calc1.tab.c"
 break;
 case 25:
 #line 156 "calc1.y"
@@ -1463,6 +1484,7 @@ case 25:
                if (dcheck(yystack.l_mark[0].vval)) YYERROR;
                yyval.vval = vdiv ( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 1488 "calc1.tab.c"
 break;
 case 26:
 #line 161 "calc1.y"
@@ -1470,6 +1492,7 @@ case 26:
                if (dcheck ( yystack.l_mark[0].vval )) YYERROR;
                yyval.vval = vdiv (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 1496 "calc1.tab.c"
 break;
 case 27:
 #line 166 "calc1.y"
@@ -1477,14 +1500,16 @@ case 27:
                yyval.vval.hi = -yystack.l_mark[0].vval.lo;
                yyval.vval.lo = -yystack.l_mark[0].vval.hi;
        }
+#line 1504 "calc1.tab.c"
 break;
 case 28:
 #line 171 "calc1.y"
        {
                yyval.vval = yystack.l_mark[-1].vval;
        }
+#line 1511 "calc1.tab.c"
 break;
-#line 1488 "calc1.tab.c"
+#line 1513 "calc1.tab.c"
     default:
         break;
     }
index 2ccca8c..eaae1a3 100644 (file)
@@ -1193,64 +1193,79 @@ yyreduce:
 case 3:
 #line 35 "calc2.y"
        {  yyerrok ; }
+#line 1197 "calc2.tab.c"
 break;
 case 4:
 #line 39 "calc2.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1202 "calc2.tab.c"
 break;
 case 5:
 #line 41 "calc2.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1207 "calc2.tab.c"
 break;
 case 6:
 #line 45 "calc2.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1212 "calc2.tab.c"
 break;
 case 7:
 #line 47 "calc2.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1217 "calc2.tab.c"
 break;
 case 8:
 #line 49 "calc2.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1222 "calc2.tab.c"
 break;
 case 9:
 #line 51 "calc2.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1227 "calc2.tab.c"
 break;
 case 10:
 #line 53 "calc2.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1232 "calc2.tab.c"
 break;
 case 11:
 #line 55 "calc2.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1237 "calc2.tab.c"
 break;
 case 12:
 #line 57 "calc2.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1242 "calc2.tab.c"
 break;
 case 13:
 #line 59 "calc2.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1247 "calc2.tab.c"
 break;
 case 14:
 #line 61 "calc2.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1252 "calc2.tab.c"
 break;
 case 15:
 #line 63 "calc2.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1257 "calc2.tab.c"
 break;
 case 17:
 #line 68 "calc2.y"
        {  yyval = yystack.l_mark[0]; (*base) = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1262 "calc2.tab.c"
 break;
 case 18:
 #line 70 "calc2.y"
        {  yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1267 "calc2.tab.c"
 break;
-#line 1254 "calc2.tab.c"
+#line 1269 "calc2.tab.c"
     default:
         break;
     }
index f4e01f6..1093c33 100644 (file)
@@ -1207,64 +1207,79 @@ yyreduce:
 case 3:
 #line 38 "calc3.y"
        {  yyerrok ; }
+#line 1211 "calc3.tab.c"
 break;
 case 4:
 #line 42 "calc3.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1216 "calc3.tab.c"
 break;
 case 5:
 #line 44 "calc3.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1221 "calc3.tab.c"
 break;
 case 6:
 #line 48 "calc3.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1226 "calc3.tab.c"
 break;
 case 7:
 #line 50 "calc3.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1231 "calc3.tab.c"
 break;
 case 8:
 #line 52 "calc3.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1236 "calc3.tab.c"
 break;
 case 9:
 #line 54 "calc3.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1241 "calc3.tab.c"
 break;
 case 10:
 #line 56 "calc3.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1246 "calc3.tab.c"
 break;
 case 11:
 #line 58 "calc3.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1251 "calc3.tab.c"
 break;
 case 12:
 #line 60 "calc3.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1256 "calc3.tab.c"
 break;
 case 13:
 #line 62 "calc3.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1261 "calc3.tab.c"
 break;
 case 14:
 #line 64 "calc3.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1266 "calc3.tab.c"
 break;
 case 15:
 #line 66 "calc3.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1271 "calc3.tab.c"
 break;
 case 17:
 #line 71 "calc3.y"
        {  yyval = yystack.l_mark[0]; (*base) = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1276 "calc3.tab.c"
 break;
 case 18:
 #line 73 "calc3.y"
        {  yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1281 "calc3.tab.c"
 break;
-#line 1268 "calc3.tab.c"
+#line 1283 "calc3.tab.c"
     default:
         break;
     }
index bf316ce..15d55e6 100644 (file)
@@ -1208,64 +1208,79 @@ yyreduce:
 case 3:
 #line 35 "calc_code_all.y"
        {  yyerrok ; }
+#line 1212 "calc_code_all.tab.c"
 break;
 case 4:
 #line 39 "calc_code_all.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1217 "calc_code_all.tab.c"
 break;
 case 5:
 #line 41 "calc_code_all.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1222 "calc_code_all.tab.c"
 break;
 case 6:
 #line 45 "calc_code_all.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1227 "calc_code_all.tab.c"
 break;
 case 7:
 #line 47 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1232 "calc_code_all.tab.c"
 break;
 case 8:
 #line 49 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1237 "calc_code_all.tab.c"
 break;
 case 9:
 #line 51 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1242 "calc_code_all.tab.c"
 break;
 case 10:
 #line 53 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1247 "calc_code_all.tab.c"
 break;
 case 11:
 #line 55 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1252 "calc_code_all.tab.c"
 break;
 case 12:
 #line 57 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1257 "calc_code_all.tab.c"
 break;
 case 13:
 #line 59 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1262 "calc_code_all.tab.c"
 break;
 case 14:
 #line 61 "calc_code_all.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1267 "calc_code_all.tab.c"
 break;
 case 15:
 #line 63 "calc_code_all.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1272 "calc_code_all.tab.c"
 break;
 case 17:
 #line 68 "calc_code_all.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1277 "calc_code_all.tab.c"
 break;
 case 18:
 #line 70 "calc_code_all.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1282 "calc_code_all.tab.c"
 break;
-#line 1269 "calc_code_all.tab.c"
+#line 1284 "calc_code_all.tab.c"
     default:
         break;
     }
index 5d0e27f..a14fa66 100644 (file)
@@ -1188,64 +1188,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_default.y"
        {  yyerrok ; }
+#line 1192 "calc_code_default.tab.c"
 break;
 case 4:
 #line 35 "calc_code_default.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1197 "calc_code_default.tab.c"
 break;
 case 5:
 #line 37 "calc_code_default.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1202 "calc_code_default.tab.c"
 break;
 case 6:
 #line 41 "calc_code_default.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1207 "calc_code_default.tab.c"
 break;
 case 7:
 #line 43 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1212 "calc_code_default.tab.c"
 break;
 case 8:
 #line 45 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1217 "calc_code_default.tab.c"
 break;
 case 9:
 #line 47 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1222 "calc_code_default.tab.c"
 break;
 case 10:
 #line 49 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1227 "calc_code_default.tab.c"
 break;
 case 11:
 #line 51 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1232 "calc_code_default.tab.c"
 break;
 case 12:
 #line 53 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1237 "calc_code_default.tab.c"
 break;
 case 13:
 #line 55 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1242 "calc_code_default.tab.c"
 break;
 case 14:
 #line 57 "calc_code_default.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1247 "calc_code_default.tab.c"
 break;
 case 15:
 #line 59 "calc_code_default.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1252 "calc_code_default.tab.c"
 break;
 case 17:
 #line 64 "calc_code_default.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1257 "calc_code_default.tab.c"
 break;
 case 18:
 #line 66 "calc_code_default.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1262 "calc_code_default.tab.c"
 break;
-#line 1249 "calc_code_default.tab.c"
+#line 1264 "calc_code_default.tab.c"
     default:
         break;
     }
index 66c4066..f51ec1a 100644 (file)
@@ -1180,64 +1180,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_imports.y"
        {  yyerrok ; }
+#line 1184 "calc_code_imports.tab.c"
 break;
 case 4:
 #line 35 "calc_code_imports.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1189 "calc_code_imports.tab.c"
 break;
 case 5:
 #line 37 "calc_code_imports.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1194 "calc_code_imports.tab.c"
 break;
 case 6:
 #line 41 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1199 "calc_code_imports.tab.c"
 break;
 case 7:
 #line 43 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1204 "calc_code_imports.tab.c"
 break;
 case 8:
 #line 45 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1209 "calc_code_imports.tab.c"
 break;
 case 9:
 #line 47 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1214 "calc_code_imports.tab.c"
 break;
 case 10:
 #line 49 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1219 "calc_code_imports.tab.c"
 break;
 case 11:
 #line 51 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1224 "calc_code_imports.tab.c"
 break;
 case 12:
 #line 53 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1229 "calc_code_imports.tab.c"
 break;
 case 13:
 #line 55 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1234 "calc_code_imports.tab.c"
 break;
 case 14:
 #line 57 "calc_code_imports.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1239 "calc_code_imports.tab.c"
 break;
 case 15:
 #line 59 "calc_code_imports.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1244 "calc_code_imports.tab.c"
 break;
 case 17:
 #line 64 "calc_code_imports.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1249 "calc_code_imports.tab.c"
 break;
 case 18:
 #line 66 "calc_code_imports.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1254 "calc_code_imports.tab.c"
 break;
-#line 1241 "calc_code_imports.tab.c"
+#line 1256 "calc_code_imports.tab.c"
     default:
         break;
     }
index 991510e..b5dae4d 100644 (file)
@@ -1188,64 +1188,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_provides.y"
        {  yyerrok ; }
+#line 1192 "calc_code_provides.tab.c"
 break;
 case 4:
 #line 35 "calc_code_provides.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1197 "calc_code_provides.tab.c"
 break;
 case 5:
 #line 37 "calc_code_provides.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1202 "calc_code_provides.tab.c"
 break;
 case 6:
 #line 41 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1207 "calc_code_provides.tab.c"
 break;
 case 7:
 #line 43 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1212 "calc_code_provides.tab.c"
 break;
 case 8:
 #line 45 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1217 "calc_code_provides.tab.c"
 break;
 case 9:
 #line 47 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1222 "calc_code_provides.tab.c"
 break;
 case 10:
 #line 49 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1227 "calc_code_provides.tab.c"
 break;
 case 11:
 #line 51 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1232 "calc_code_provides.tab.c"
 break;
 case 12:
 #line 53 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1237 "calc_code_provides.tab.c"
 break;
 case 13:
 #line 55 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1242 "calc_code_provides.tab.c"
 break;
 case 14:
 #line 57 "calc_code_provides.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1247 "calc_code_provides.tab.c"
 break;
 case 15:
 #line 59 "calc_code_provides.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1252 "calc_code_provides.tab.c"
 break;
 case 17:
 #line 64 "calc_code_provides.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1257 "calc_code_provides.tab.c"
 break;
 case 18:
 #line 66 "calc_code_provides.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1262 "calc_code_provides.tab.c"
 break;
-#line 1249 "calc_code_provides.tab.c"
+#line 1264 "calc_code_provides.tab.c"
     default:
         break;
     }
index 2f69d77..e58d6aa 100644 (file)
@@ -1188,64 +1188,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_requires.y"
        {  yyerrok ; }
+#line 1192 "calc_code_requires.tab.c"
 break;
 case 4:
 #line 35 "calc_code_requires.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1197 "calc_code_requires.tab.c"
 break;
 case 5:
 #line 37 "calc_code_requires.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1202 "calc_code_requires.tab.c"
 break;
 case 6:
 #line 41 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1207 "calc_code_requires.tab.c"
 break;
 case 7:
 #line 43 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1212 "calc_code_requires.tab.c"
 break;
 case 8:
 #line 45 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1217 "calc_code_requires.tab.c"
 break;
 case 9:
 #line 47 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1222 "calc_code_requires.tab.c"
 break;
 case 10:
 #line 49 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1227 "calc_code_requires.tab.c"
 break;
 case 11:
 #line 51 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1232 "calc_code_requires.tab.c"
 break;
 case 12:
 #line 53 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1237 "calc_code_requires.tab.c"
 break;
 case 13:
 #line 55 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1242 "calc_code_requires.tab.c"
 break;
 case 14:
 #line 57 "calc_code_requires.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1247 "calc_code_requires.tab.c"
 break;
 case 15:
 #line 59 "calc_code_requires.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1252 "calc_code_requires.tab.c"
 break;
 case 17:
 #line 64 "calc_code_requires.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1257 "calc_code_requires.tab.c"
 break;
 case 18:
 #line 66 "calc_code_requires.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1262 "calc_code_requires.tab.c"
 break;
-#line 1249 "calc_code_requires.tab.c"
+#line 1264 "calc_code_requires.tab.c"
     default:
         break;
     }
index 9902dcd..0f11f13 100644 (file)
@@ -1188,64 +1188,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_top.y"
        {  yyerrok ; }
+#line 1192 "calc_code_top.tab.c"
 break;
 case 4:
 #line 35 "calc_code_top.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1197 "calc_code_top.tab.c"
 break;
 case 5:
 #line 37 "calc_code_top.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1202 "calc_code_top.tab.c"
 break;
 case 6:
 #line 41 "calc_code_top.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1207 "calc_code_top.tab.c"
 break;
 case 7:
 #line 43 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1212 "calc_code_top.tab.c"
 break;
 case 8:
 #line 45 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1217 "calc_code_top.tab.c"
 break;
 case 9:
 #line 47 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1222 "calc_code_top.tab.c"
 break;
 case 10:
 #line 49 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1227 "calc_code_top.tab.c"
 break;
 case 11:
 #line 51 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1232 "calc_code_top.tab.c"
 break;
 case 12:
 #line 53 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1237 "calc_code_top.tab.c"
 break;
 case 13:
 #line 55 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1242 "calc_code_top.tab.c"
 break;
 case 14:
 #line 57 "calc_code_top.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1247 "calc_code_top.tab.c"
 break;
 case 15:
 #line 59 "calc_code_top.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1252 "calc_code_top.tab.c"
 break;
 case 17:
 #line 64 "calc_code_top.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1257 "calc_code_top.tab.c"
 break;
 case 18:
 #line 66 "calc_code_top.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1262 "calc_code_top.tab.c"
 break;
-#line 1249 "calc_code_top.tab.c"
+#line 1264 "calc_code_top.tab.c"
     default:
         break;
     }
index 2e7c7fa..9d8b302 100644 (file)
@@ -1053,64 +1053,79 @@ yyreduce:
 case 3:
 #line 32 "code_calc.y"
        {  yyerrok ; }
+#line 1057 "code_calc.code.c"
 break;
 case 4:
 #line 36 "code_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1062 "code_calc.code.c"
 break;
 case 5:
 #line 38 "code_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1067 "code_calc.code.c"
 break;
 case 6:
 #line 42 "code_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1072 "code_calc.code.c"
 break;
 case 7:
 #line 44 "code_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1077 "code_calc.code.c"
 break;
 case 8:
 #line 46 "code_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1082 "code_calc.code.c"
 break;
 case 9:
 #line 48 "code_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1087 "code_calc.code.c"
 break;
 case 10:
 #line 50 "code_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1092 "code_calc.code.c"
 break;
 case 11:
 #line 52 "code_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1097 "code_calc.code.c"
 break;
 case 12:
 #line 54 "code_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1102 "code_calc.code.c"
 break;
 case 13:
 #line 56 "code_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1107 "code_calc.code.c"
 break;
 case 14:
 #line 58 "code_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1112 "code_calc.code.c"
 break;
 case 15:
 #line 60 "code_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1117 "code_calc.code.c"
 break;
 case 17:
 #line 65 "code_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1122 "code_calc.code.c"
 break;
 case 18:
 #line 67 "code_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1127 "code_calc.code.c"
 break;
-#line 1114 "code_calc.code.c"
+#line 1129 "code_calc.code.c"
     default:
         break;
     }
index 6d9c6d1..b32d892 100644 (file)
@@ -1087,64 +1087,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 1091 "y.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1096 "y.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1101 "y.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1106 "y.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1111 "y.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1116 "y.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1121 "y.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1126 "y.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1131 "y.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1136 "y.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1141 "y.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1146 "y.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1151 "y.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1156 "y.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1161 "y.tab.c"
 break;
-#line 1148 "y.tab.c"
+#line 1163 "y.tab.c"
     default:
         break;
     }
index 6d9c6d1..b32d892 100644 (file)
@@ -1087,64 +1087,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 1091 "y.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1096 "y.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1101 "y.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1106 "y.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1111 "y.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1116 "y.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1121 "y.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1126 "y.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1131 "y.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1136 "y.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1141 "y.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1146 "y.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1151 "y.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1156 "y.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1161 "y.tab.c"
 break;
-#line 1148 "y.tab.c"
+#line 1163 "y.tab.c"
     default:
         break;
     }
index 699ad7a..857dfee 100644 (file)
@@ -1087,64 +1087,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 1091 "prefix.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1096 "prefix.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1101 "prefix.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1106 "prefix.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1111 "prefix.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1116 "prefix.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1121 "prefix.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1126 "prefix.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1131 "prefix.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1136 "prefix.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1141 "prefix.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1146 "prefix.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1151 "prefix.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1156 "prefix.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1161 "prefix.tab.c"
 break;
-#line 1148 "prefix.tab.c"
+#line 1163 "prefix.tab.c"
     default:
         break;
     }
index acaf447..1bbe5fb 100644 (file)
@@ -440,8 +440,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 444 "err_inherit3.tab.c"
        break;
-#line 445 "err_inherit3.tab.c"
        case 264:
 #line 30 "err_inherit3.y"
        {
@@ -452,8 +452,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 456 "err_inherit3.tab.c"
        break;
-#line 457 "err_inherit3.tab.c"
        case 265:
 #line 30 "err_inherit3.y"
        {
@@ -464,8 +464,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 468 "err_inherit3.tab.c"
        break;
-#line 469 "err_inherit3.tab.c"
     }
 }
 #define YYDESTRUCT_IS_DECLARED 1
@@ -1142,60 +1142,73 @@ yyreduce:
 case 1:
 #line 50 "err_inherit3.y"
 yyval.cval = yystack.l_mark[-1].cval;
+#line 1146 "err_inherit3.tab.c"
 break;
 case 2:
 #line 50 "err_inherit3.y"
 yyval.tval =  yystack.l_mark[-1].tval;
+#line 1151 "err_inherit3.tab.c"
 break;
 case 3:
 #line 51 "err_inherit3.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1156 "err_inherit3.tab.c"
 break;
 case 4:
 #line 53 "err_inherit3.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1161 "err_inherit3.tab.c"
 break;
 case 5:
 #line 56 "err_inherit3.y"
        { yyval.cval = cGLOBAL; }
+#line 1166 "err_inherit3.tab.c"
 break;
 case 6:
 #line 57 "err_inherit3.y"
        { yyval.cval = cLOCAL; }
+#line 1171 "err_inherit3.tab.c"
 break;
 case 7:
 #line 60 "err_inherit3.y"
        { yyval.tval = tREAL; }
+#line 1176 "err_inherit3.tab.c"
 break;
 case 8:
 #line 61 "err_inherit3.y"
        { yyval.tval = tINTEGER; }
+#line 1181 "err_inherit3.tab.c"
 break;
 case 9:
 #line 64 "err_inherit3.y"
 yyval.cval = yystack.l_mark[-2];
+#line 1186 "err_inherit3.tab.c"
 break;
 case 10:
 #line 65 "err_inherit3.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-5].tval, yystack.l_mark[-5].cval, yystack.l_mark[0].id);
              yyval.nlist->next = yystack.l_mark[-1].nlist;
            }
+#line 1193 "err_inherit3.tab.c"
 break;
 case 11:
 #line 69 "err_inherit3.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-3], yystack.l_mark[-3], yystack.l_mark[0].id);
              yyval.nlist->next = NULL;
            }
+#line 1200 "err_inherit3.tab.c"
 break;
 case 12:
 #line 74 "err_inherit3.y"
 yyval.cval = cLOCAL;
+#line 1205 "err_inherit3.tab.c"
 break;
 case 13:
 #line 75 "err_inherit3.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1210 "err_inherit3.tab.c"
 break;
-#line 1199 "err_inherit3.tab.c"
+#line 1212 "err_inherit3.tab.c"
     default:
         break;
     }
index 507d221..e397018 100644 (file)
@@ -452,18 +452,18 @@ YYDESTRUCT_DECL()
        case 263:
 #line 28 "err_inherit4.y"
        { }
+#line 456 "err_inherit4.tab.c"
        break;
-#line 457 "err_inherit4.tab.c"
        case 264:
 #line 28 "err_inherit4.y"
        { }
+#line 461 "err_inherit4.tab.c"
        break;
-#line 462 "err_inherit4.tab.c"
        case 265:
 #line 28 "err_inherit4.y"
        { }
+#line 466 "err_inherit4.tab.c"
        break;
-#line 467 "err_inherit4.tab.c"
     }
 }
 #define YYDESTRUCT_IS_DECLARED 1
@@ -1140,52 +1140,63 @@ yyreduce:
 case 1:
 #line 52 "err_inherit4.y"
 yyval.cval = yystack.l_mark[-1].cval;
+#line 1144 "err_inherit4.tab.c"
 break;
 case 2:
 #line 52 "err_inherit4.y"
 yyval.tval =  yystack.l_mark[-1].tval;
+#line 1149 "err_inherit4.tab.c"
 break;
 case 3:
 #line 53 "err_inherit4.y"
        { yyval.nlist = yystack.l_mark[0].nlist; yyloc = yystack.p_mark[0]; }
+#line 1154 "err_inherit4.tab.c"
 break;
 case 4:
 #line 55 "err_inherit4.y"
        { yyval.nlist = yystack.l_mark[0].nlist; yyloc = yystack.p_mark[-3]; }
+#line 1159 "err_inherit4.tab.c"
 break;
 case 5:
 #line 58 "err_inherit4.y"
        { yyval.cval = cGLOBAL; }
+#line 1164 "err_inherit4.tab.c"
 break;
 case 6:
 #line 59 "err_inherit4.y"
        { yyval.cval = cLOCAL; }
+#line 1169 "err_inherit4.tab.c"
 break;
 case 7:
 #line 62 "err_inherit4.y"
        { yyval.tval = tREAL; }
+#line 1174 "err_inherit4.tab.c"
 break;
 case 8:
 #line 63 "err_inherit4.y"
        { yyval.tval = tINTEGER; }
+#line 1179 "err_inherit4.tab.c"
 break;
 case 9:
 #line 67 "err_inherit4.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-2].tval, yystack.l_mark[-3].cval, yystack.l_mark[0].id);
              yyval.nlist->next = yystack.l_mark[-1].nlist;
            }
+#line 1186 "err_inherit4.tab.c"
 break;
 case 10:
 #line 71 "err_inherit4.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-1].tval, yystack.l_mark[-2].cval, yystack.l_mark[0].id);
              yyval.nlist->next = NULL;
            }
+#line 1193 "err_inherit4.tab.c"
 break;
 case 11:
 #line 77 "err_inherit4.y"
        { yyval.nlist = yystack.l_mark[0].nlist; yyloc = yystack.p_mark[1]; }
+#line 1198 "err_inherit4.tab.c"
 break;
-#line 1189 "err_inherit4.tab.c"
+#line 1200 "err_inherit4.tab.c"
     default:
         break;
     }
index 7c2f247..fd94cb0 100644 (file)
@@ -1050,8 +1050,9 @@ yyreduce:
 case 1:
 #line 9 "err_syntax18.y"
        {  yyval = yystack.l_mark[1]; }
+#line 1054 "err_syntax18.tab.c"
 break;
-#line 1055 "err_syntax18.tab.c"
+#line 1056 "err_syntax18.tab.c"
     default:
         break;
     }
index ebcb4b5..00473a9 100644 (file)
@@ -1045,8 +1045,9 @@ yyreduce:
 case 1:
 #line 12 "err_syntax20.y"
        { yystack.l_mark[-1].rechk = 3; }
+#line 1049 "err_syntax20.tab.c"
 break;
-#line 1050 "err_syntax20.tab.c"
+#line 1051 "err_syntax20.tab.c"
     default:
         break;
     }
index 9b10da7..37b6631 100644 (file)
@@ -2466,62 +2466,72 @@ yyreduce:
 case 1:
 #line 64 "expr.oxout.y"
        {yyyYoxInit();}
+#line 2470 "expr.oxout.tab.c"
 break;
 case 2:
 #line 66 "expr.oxout.y"
        {
                 yyyDecorate(); yyyExecuteRRsection(yystack.l_mark[0].yyyOxAttrbs.yyyOxStackItem->node);
                }
+#line 2477 "expr.oxout.tab.c"
 break;
 case 3:
 #line 73 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(1,1,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(1,1,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2484 "expr.oxout.tab.c"
 break;
 case 4:
 #line 80 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(2,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(2,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2491 "expr.oxout.tab.c"
 break;
 case 5:
 #line 87 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(3,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(3,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2498 "expr.oxout.tab.c"
 break;
 case 6:
 #line 94 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(4,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(4,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2505 "expr.oxout.tab.c"
 break;
 case 7:
 #line 101 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(5,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(5,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2512 "expr.oxout.tab.c"
 break;
 case 8:
 #line 108 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(6,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(6,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2519 "expr.oxout.tab.c"
 break;
 case 9:
 #line 114 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(7,1,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(7,1,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2526 "expr.oxout.tab.c"
 break;
 case 10:
 #line 121 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(8,1,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(8,1,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 2533 "expr.oxout.tab.c"
 break;
-#line 2525 "expr.oxout.tab.c"
+#line 2535 "expr.oxout.tab.c"
     default:
         break;
     }
index 7d81447..618a8aa 100644 (file)
@@ -2022,12 +2022,14 @@ case 10:
        {
            yyerrok;
        }
+#line 2026 "grammar.tab.c"
 break;
 case 11:
 #line 382 "grammar.y"
        {
            yyerrok;
        }
+#line 2033 "grammar.tab.c"
 break;
 case 13:
 #line 393 "grammar.y"
@@ -2037,12 +2039,14 @@ case 13:
             * have generated.
             */
        }
+#line 2043 "grammar.tab.c"
 break;
 case 14:
 #line 400 "grammar.y"
        {
            /* empty */
        }
+#line 2050 "grammar.tab.c"
 break;
 case 15:
 #line 407 "grammar.y"
@@ -2056,6 +2060,7 @@ case 15:
            free_decl_spec(&yystack.l_mark[-1].decl_spec);
            end_typedef();
        }
+#line 2064 "grammar.tab.c"
 break;
 case 16:
 #line 418 "grammar.y"
@@ -2072,6 +2077,7 @@ case 16:
            free_decl_spec(&yystack.l_mark[-2].decl_spec);
            end_typedef();
        }
+#line 2081 "grammar.tab.c"
 break;
 case 17:
 #line 432 "grammar.y"
@@ -2079,24 +2085,28 @@ case 17:
            cur_decl_spec_flags = yystack.l_mark[0].decl_spec.flags;
            free_decl_spec(&yystack.l_mark[0].decl_spec);
        }
+#line 2089 "grammar.tab.c"
 break;
 case 18:
 #line 437 "grammar.y"
        {
            end_typedef();
        }
+#line 2096 "grammar.tab.c"
 break;
 case 19:
 #line 444 "grammar.y"
        {
            begin_typedef();
        }
+#line 2103 "grammar.tab.c"
 break;
 case 20:
 #line 448 "grammar.y"
        {
            begin_typedef();
        }
+#line 2110 "grammar.tab.c"
 break;
 case 23:
 #line 460 "grammar.y"
@@ -2111,6 +2121,7 @@ case 23:
            new_symbol(typedef_names, yystack.l_mark[0].declarator->name, NULL, flags);
            free_declarator(yystack.l_mark[0].declarator);
        }
+#line 2125 "grammar.tab.c"
 break;
 case 24:
 #line 472 "grammar.y"
@@ -2122,6 +2133,7 @@ case 24:
            new_symbol(typedef_names, yystack.l_mark[0].declarator->name, NULL, flags);
            free_declarator(yystack.l_mark[0].declarator);
        }
+#line 2137 "grammar.tab.c"
 break;
 case 25:
 #line 484 "grammar.y"
@@ -2135,6 +2147,7 @@ case 25:
            func_params->begin_comment = cur_file->begin_comment;
            func_params->end_comment = cur_file->end_comment;
        }
+#line 2151 "grammar.tab.c"
 break;
 case 26:
 #line 495 "grammar.y"
@@ -2161,6 +2174,7 @@ case 26:
            free_decl_spec(&yystack.l_mark[-4].decl_spec);
            free_declarator(yystack.l_mark[-3].declarator);
        }
+#line 2178 "grammar.tab.c"
 break;
 case 28:
 #line 520 "grammar.y"
@@ -2173,6 +2187,7 @@ case 28:
            func_params->begin_comment = cur_file->begin_comment;
            func_params->end_comment = cur_file->end_comment;
        }
+#line 2191 "grammar.tab.c"
 break;
 case 29:
 #line 530 "grammar.y"
@@ -2191,6 +2206,7 @@ case 29:
            free_decl_spec(&decl_spec);
            free_declarator(yystack.l_mark[-4].declarator);
        }
+#line 2210 "grammar.tab.c"
 break;
 case 36:
 #line 561 "grammar.y"
@@ -2199,114 +2215,133 @@ case 36:
            free(yystack.l_mark[-1].decl_spec.text);
            free(yystack.l_mark[0].decl_spec.text);
        }
+#line 2219 "grammar.tab.c"
 break;
 case 40:
 #line 576 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2226 "grammar.tab.c"
 break;
 case 41:
 #line 580 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_EXTERN);
        }
+#line 2233 "grammar.tab.c"
 break;
 case 42:
 #line 584 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2240 "grammar.tab.c"
 break;
 case 43:
 #line 588 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_STATIC);
        }
+#line 2247 "grammar.tab.c"
 break;
 case 44:
 #line 592 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_INLINE);
        }
+#line 2254 "grammar.tab.c"
 break;
 case 45:
 #line 596 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_JUNK);
        }
+#line 2261 "grammar.tab.c"
 break;
 case 46:
 #line 603 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_CHAR);
        }
+#line 2268 "grammar.tab.c"
 break;
 case 47:
 #line 607 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2275 "grammar.tab.c"
 break;
 case 48:
 #line 611 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_FLOAT);
        }
+#line 2282 "grammar.tab.c"
 break;
 case 49:
 #line 615 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2289 "grammar.tab.c"
 break;
 case 50:
 #line 619 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2296 "grammar.tab.c"
 break;
 case 51:
 #line 623 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_SHORT);
        }
+#line 2303 "grammar.tab.c"
 break;
 case 52:
 #line 627 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2310 "grammar.tab.c"
 break;
 case 53:
 #line 631 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2317 "grammar.tab.c"
 break;
 case 54:
 #line 635 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2324 "grammar.tab.c"
 break;
 case 55:
 #line 639 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_CHAR);
        }
+#line 2331 "grammar.tab.c"
 break;
 case 56:
 #line 643 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2338 "grammar.tab.c"
 break;
 case 57:
 #line 647 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2345 "grammar.tab.c"
 break;
 case 58:
 #line 651 "grammar.y"
@@ -2316,12 +2351,14 @@ case 58:
            if (s != NULL)
                new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, s->flags);
        }
+#line 2355 "grammar.tab.c"
 break;
 case 61:
 #line 663 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 2362 "grammar.tab.c"
 break;
 case 62:
 #line 667 "grammar.y"
@@ -2334,6 +2371,7 @@ case 62:
            if (s != NULL)
                new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, s->flags);
        }
+#line 2375 "grammar.tab.c"
 break;
 case 63:
 #line 680 "grammar.y"
@@ -2343,6 +2381,7 @@ case 63:
                (void)sprintf(s = buf, "%.*s %.*s", TEXT_LEN, yystack.l_mark[-2].text.text, TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-2].text.begin, DS_NONE);
        }
+#line 2385 "grammar.tab.c"
 break;
 case 64:
 #line 687 "grammar.y"
@@ -2352,6 +2391,7 @@ case 64:
                (void)sprintf(s = buf, "%.*s {}", TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 2395 "grammar.tab.c"
 break;
 case 65:
 #line 694 "grammar.y"
@@ -2359,30 +2399,35 @@ case 65:
            (void)sprintf(buf, "%.*s %.*s", TEXT_LEN, yystack.l_mark[-1].text.text, TEXT_LEN, yystack.l_mark[0].text.text);
            new_decl_spec(&yyval.decl_spec, buf, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 2403 "grammar.tab.c"
 break;
 case 66:
 #line 702 "grammar.y"
        {
            imply_typedef(yyval.text.text);
        }
+#line 2410 "grammar.tab.c"
 break;
 case 67:
 #line 706 "grammar.y"
        {
            imply_typedef(yyval.text.text);
        }
+#line 2417 "grammar.tab.c"
 break;
 case 68:
 #line 713 "grammar.y"
        {
            new_decl_list(&yyval.decl_list, yystack.l_mark[0].declarator);
        }
+#line 2424 "grammar.tab.c"
 break;
 case 69:
 #line 717 "grammar.y"
        {
            add_decl_list(&yyval.decl_list, &yystack.l_mark[-2].decl_list, yystack.l_mark[0].declarator);
        }
+#line 2431 "grammar.tab.c"
 break;
 case 70:
 #line 724 "grammar.y"
@@ -2394,6 +2439,7 @@ case 70:
            }
            cur_declarator = yyval.declarator;
        }
+#line 2443 "grammar.tab.c"
 break;
 case 71:
 #line 733 "grammar.y"
@@ -2404,6 +2450,7 @@ case 71:
                fputs(" =", cur_file->tmp_file);
            }
        }
+#line 2454 "grammar.tab.c"
 break;
 case 73:
 #line 745 "grammar.y"
@@ -2413,6 +2460,7 @@ case 73:
                (void)sprintf(s = buf, "enum %.*s", TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-2].text.begin, DS_NONE);
        }
+#line 2464 "grammar.tab.c"
 break;
 case 74:
 #line 752 "grammar.y"
@@ -2422,6 +2470,7 @@ case 74:
                (void)sprintf(s = buf, "%.*s {}", TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 2474 "grammar.tab.c"
 break;
 case 75:
 #line 759 "grammar.y"
@@ -2429,6 +2478,7 @@ case 75:
            (void)sprintf(buf, "enum %.*s", TEXT_LEN, yystack.l_mark[0].text.text);
            new_decl_spec(&yyval.decl_spec, buf, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 2482 "grammar.tab.c"
 break;
 case 76:
 #line 767 "grammar.y"
@@ -2436,6 +2486,7 @@ case 76:
            imply_typedef("enum");
            yyval.text = yystack.l_mark[0].text;
        }
+#line 2490 "grammar.tab.c"
 break;
 case 79:
 #line 780 "grammar.y"
@@ -2447,12 +2498,14 @@ case 79:
            yyval.declarator->begin = yystack.l_mark[-1].text.begin;
            yyval.declarator->pointer = TRUE;
        }
+#line 2502 "grammar.tab.c"
 break;
 case 81:
 #line 793 "grammar.y"
        {
            yyval.declarator = new_declarator(yystack.l_mark[0].text.text, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin);
        }
+#line 2509 "grammar.tab.c"
 break;
 case 82:
 #line 797 "grammar.y"
@@ -2463,6 +2516,7 @@ case 82:
            yyval.declarator->text = xstrdup(buf);
            yyval.declarator->begin = yystack.l_mark[-2].text.begin;
        }
+#line 2520 "grammar.tab.c"
 break;
 case 83:
 #line 805 "grammar.y"
@@ -2472,6 +2526,7 @@ case 83:
            free(yyval.declarator->text);
            yyval.declarator->text = xstrdup(buf);
        }
+#line 2530 "grammar.tab.c"
 break;
 case 84:
 #line 812 "grammar.y"
@@ -2482,6 +2537,7 @@ case 84:
            yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2541 "grammar.tab.c"
 break;
 case 85:
 #line 820 "grammar.y"
@@ -2492,6 +2548,7 @@ case 85:
            yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
            yyval.declarator->func_def = FUNC_TRADITIONAL;
        }
+#line 2552 "grammar.tab.c"
 break;
 case 86:
 #line 831 "grammar.y"
@@ -2499,6 +2556,7 @@ case 86:
            (void)sprintf(yyval.text.text, "*%.*s", TEXT_LEN, yystack.l_mark[0].text.text);
            yyval.text.begin = yystack.l_mark[-1].text.begin;
        }
+#line 2560 "grammar.tab.c"
 break;
 case 87:
 #line 836 "grammar.y"
@@ -2506,6 +2564,7 @@ case 87:
            (void)sprintf(yyval.text.text, "*%.*s%.*s", TEXT_LEN, yystack.l_mark[-1].text.text, TEXT_LEN, yystack.l_mark[0].text.text);
            yyval.text.begin = yystack.l_mark[-2].text.begin;
        }
+#line 2568 "grammar.tab.c"
 break;
 case 88:
 #line 844 "grammar.y"
@@ -2513,6 +2572,7 @@ case 88:
            strcpy(yyval.text.text, "");
            yyval.text.begin = 0L;
        }
+#line 2576 "grammar.tab.c"
 break;
 case 90:
 #line 853 "grammar.y"
@@ -2521,6 +2581,7 @@ case 90:
            yyval.text.begin = yystack.l_mark[0].decl_spec.begin;
            free(yystack.l_mark[0].decl_spec.text);
        }
+#line 2585 "grammar.tab.c"
 break;
 case 91:
 #line 859 "grammar.y"
@@ -2529,24 +2590,28 @@ case 91:
            yyval.text.begin = yystack.l_mark[-1].text.begin;
            free(yystack.l_mark[0].decl_spec.text);
        }
+#line 2594 "grammar.tab.c"
 break;
 case 93:
 #line 869 "grammar.y"
        {
            add_ident_list(&yyval.param_list, &yystack.l_mark[-2].param_list, "...");
        }
+#line 2601 "grammar.tab.c"
 break;
 case 94:
 #line 876 "grammar.y"
        {
            new_param_list(&yyval.param_list, yystack.l_mark[0].parameter);
        }
+#line 2608 "grammar.tab.c"
 break;
 case 95:
 #line 880 "grammar.y"
        {
            add_param_list(&yyval.param_list, &yystack.l_mark[-2].param_list, yystack.l_mark[0].parameter);
        }
+#line 2615 "grammar.tab.c"
 break;
 case 96:
 #line 887 "grammar.y"
@@ -2554,6 +2619,7 @@ case 96:
            check_untagged(&yystack.l_mark[-1].decl_spec);
            yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator);
        }
+#line 2623 "grammar.tab.c"
 break;
 case 97:
 #line 892 "grammar.y"
@@ -2561,6 +2627,7 @@ case 97:
            check_untagged(&yystack.l_mark[-1].decl_spec);
            yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator);
        }
+#line 2631 "grammar.tab.c"
 break;
 case 98:
 #line 897 "grammar.y"
@@ -2568,12 +2635,14 @@ case 98:
            check_untagged(&yystack.l_mark[0].decl_spec);
            yyval.parameter = new_parameter(&yystack.l_mark[0].decl_spec, (Declarator *)0);
        }
+#line 2639 "grammar.tab.c"
 break;
 case 99:
 #line 905 "grammar.y"
        {
            new_ident_list(&yyval.param_list);
        }
+#line 2646 "grammar.tab.c"
 break;
 case 101:
 #line 913 "grammar.y"
@@ -2581,18 +2650,21 @@ case 101:
            new_ident_list(&yyval.param_list);
            add_ident_list(&yyval.param_list, &yyval.param_list, yystack.l_mark[0].text.text);
        }
+#line 2654 "grammar.tab.c"
 break;
 case 102:
 #line 918 "grammar.y"
        {
            add_ident_list(&yyval.param_list, &yystack.l_mark[-2].param_list, yystack.l_mark[0].text.text);
        }
+#line 2661 "grammar.tab.c"
 break;
 case 103:
 #line 925 "grammar.y"
        {
            yyval.text = yystack.l_mark[0].text;
        }
+#line 2668 "grammar.tab.c"
 break;
 case 104:
 #line 929 "grammar.y"
@@ -2605,12 +2677,14 @@ case 104:
                (void)sprintf(yyval.text.text, "&%.*s", TEXT_LEN, yystack.l_mark[0].text.text);
            yyval.text.begin = yystack.l_mark[-1].text.begin;
        }
+#line 2681 "grammar.tab.c"
 break;
 case 105:
 #line 942 "grammar.y"
        {
            yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin);
        }
+#line 2688 "grammar.tab.c"
 break;
 case 106:
 #line 946 "grammar.y"
@@ -2621,6 +2695,7 @@ case 106:
            yyval.declarator->text = xstrdup(buf);
            yyval.declarator->begin = yystack.l_mark[-1].text.begin;
        }
+#line 2699 "grammar.tab.c"
 break;
 case 108:
 #line 958 "grammar.y"
@@ -2631,6 +2706,7 @@ case 108:
            yyval.declarator->text = xstrdup(buf);
            yyval.declarator->begin = yystack.l_mark[-2].text.begin;
        }
+#line 2710 "grammar.tab.c"
 break;
 case 109:
 #line 966 "grammar.y"
@@ -2640,12 +2716,14 @@ case 109:
            free(yyval.declarator->text);
            yyval.declarator->text = xstrdup(buf);
        }
+#line 2720 "grammar.tab.c"
 break;
 case 110:
 #line 973 "grammar.y"
        {
            yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin);
        }
+#line 2727 "grammar.tab.c"
 break;
 case 111:
 #line 977 "grammar.y"
@@ -2656,6 +2734,7 @@ case 111:
            yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2738 "grammar.tab.c"
 break;
 case 112:
 #line 985 "grammar.y"
@@ -2665,6 +2744,7 @@ case 112:
            yyval.declarator->head = (yystack.l_mark[-2].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-2].declarator->head;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2748 "grammar.tab.c"
 break;
 case 113:
 #line 992 "grammar.y"
@@ -2678,6 +2758,7 @@ case 113:
            yyval.declarator->head = yyval.declarator;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2762 "grammar.tab.c"
 break;
 case 114:
 #line 1003 "grammar.y"
@@ -2690,8 +2771,9 @@ case 114:
            yyval.declarator->head = yyval.declarator;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2775 "grammar.tab.c"
 break;
-#line 2695 "grammar.tab.c"
+#line 2777 "grammar.tab.c"
     default:
         break;
     }
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index 3d88303..9fb554f 100644 (file)
@@ -1065,48 +1065,59 @@ yyreduce:
 case 1:
 #line 20 "inherit0.y"
        { yyval = yystack.l_mark[0]; }
+#line 1069 "inherit0.tab.c"
 break;
 case 2:
 #line 22 "inherit0.y"
        { yyval = yystack.l_mark[0]; }
+#line 1074 "inherit0.tab.c"
 break;
 case 3:
 #line 25 "inherit0.y"
        { yyval = 1; }
+#line 1079 "inherit0.tab.c"
 break;
 case 4:
 #line 26 "inherit0.y"
        { yyval = 2; }
+#line 1084 "inherit0.tab.c"
 break;
 case 5:
 #line 29 "inherit0.y"
        { yyval = 1; }
+#line 1089 "inherit0.tab.c"
 break;
 case 6:
 #line 30 "inherit0.y"
        { yyval = 2; }
+#line 1094 "inherit0.tab.c"
 break;
 case 7:
 #line 34 "inherit0.y"
        { mksymbol(yystack.l_mark[-2], yystack.l_mark[-3], yystack.l_mark[0]); }
+#line 1099 "inherit0.tab.c"
 break;
 case 8:
 #line 36 "inherit0.y"
        { mksymbol(yystack.l_mark[-1], yystack.l_mark[-2], yystack.l_mark[0]); }
+#line 1104 "inherit0.tab.c"
 break;
 case 9:
 #line 40 "inherit0.y"
        { yyval = 2; }
+#line 1109 "inherit0.tab.c"
 break;
 case 10:
 #line 41 "inherit0.y"
        { yyval = yystack.l_mark[-2]; }
+#line 1114 "inherit0.tab.c"
 break;
 case 11:
 #line 43 "inherit0.y"
        { yyval = yystack.l_mark[0]; }
+#line 1119 "inherit0.tab.c"
 break;
-#line 1110 "inherit0.tab.c"
+#line 1121 "inherit0.tab.c"
     default:
         break;
     }
index 10a5b42..bd3e4d4 100644 (file)
@@ -1086,52 +1086,63 @@ yyreduce:
 case 1:
 #line 44 "inherit1.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1090 "inherit1.tab.c"
 break;
 case 2:
 #line 46 "inherit1.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1095 "inherit1.tab.c"
 break;
 case 3:
 #line 49 "inherit1.y"
        { yyval.cval = cGLOBAL; }
+#line 1100 "inherit1.tab.c"
 break;
 case 4:
 #line 50 "inherit1.y"
        { yyval.cval = cLOCAL; }
+#line 1105 "inherit1.tab.c"
 break;
 case 5:
 #line 53 "inherit1.y"
        { yyval.tval = tREAL; }
+#line 1110 "inherit1.tab.c"
 break;
 case 6:
 #line 54 "inherit1.y"
        { yyval.tval = tINTEGER; }
+#line 1115 "inherit1.tab.c"
 break;
 case 7:
 #line 58 "inherit1.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-2].tval, yystack.l_mark[-3].cval, yystack.l_mark[0].id);
              yyval.nlist->next = yystack.l_mark[-1].nlist;
            }
+#line 1122 "inherit1.tab.c"
 break;
 case 8:
 #line 62 "inherit1.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-1].tval, yystack.l_mark[-2].cval, yystack.l_mark[0].id);
              yyval.nlist->next = NULL;
            }
+#line 1129 "inherit1.tab.c"
 break;
 case 9:
 #line 68 "inherit1.y"
        { yyval.cval = cLOCAL; }
+#line 1134 "inherit1.tab.c"
 break;
 case 10:
 #line 69 "inherit1.y"
        { yyval.tval = yystack.l_mark[-2].tval; }
+#line 1139 "inherit1.tab.c"
 break;
 case 11:
 #line 71 "inherit1.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1144 "inherit1.tab.c"
 break;
-#line 1135 "inherit1.tab.c"
+#line 1146 "inherit1.tab.c"
     default:
         break;
     }
index b2ad5ca..17ebad8 100644 (file)
@@ -439,8 +439,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 443 "inherit2.tab.c"
        break;
-#line 444 "inherit2.tab.c"
        case 264:
 #line 30 "inherit2.y"
        {
@@ -451,8 +451,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 455 "inherit2.tab.c"
        break;
-#line 456 "inherit2.tab.c"
        case 265:
 #line 30 "inherit2.y"
        {
@@ -463,8 +463,8 @@ YYDESTRUCT_DECL()
                    free(pp->s); free(pp);
                  }
                }
+#line 467 "inherit2.tab.c"
        break;
-#line 468 "inherit2.tab.c"
     }
 }
 #define YYDESTRUCT_IS_DECLARED 1
@@ -1141,56 +1141,68 @@ yyreduce:
 case 1:
 #line 50 "inherit2.y"
 yyval.cval = yystack.l_mark[-1].cval;
+#line 1145 "inherit2.tab.c"
 break;
 case 2:
 #line 50 "inherit2.y"
 yyval.tval =  yystack.l_mark[-1].tval;
+#line 1150 "inherit2.tab.c"
 break;
 case 3:
 #line 51 "inherit2.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1155 "inherit2.tab.c"
 break;
 case 4:
 #line 53 "inherit2.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1160 "inherit2.tab.c"
 break;
 case 5:
 #line 56 "inherit2.y"
        { yyval.cval = cGLOBAL; }
+#line 1165 "inherit2.tab.c"
 break;
 case 6:
 #line 57 "inherit2.y"
        { yyval.cval = cLOCAL; }
+#line 1170 "inherit2.tab.c"
 break;
 case 7:
 #line 60 "inherit2.y"
        { yyval.tval = tREAL; }
+#line 1175 "inherit2.tab.c"
 break;
 case 8:
 #line 61 "inherit2.y"
        { yyval.tval = tINTEGER; }
+#line 1180 "inherit2.tab.c"
 break;
 case 9:
 #line 65 "inherit2.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-2].tval, yystack.l_mark[-3].cval, yystack.l_mark[0].id);
              yyval.nlist->next = yystack.l_mark[-1].nlist;
            }
+#line 1187 "inherit2.tab.c"
 break;
 case 10:
 #line 69 "inherit2.y"
        { yyval.nlist->s = mksymbol(yystack.l_mark[-1].tval, yystack.l_mark[-2].cval, yystack.l_mark[0].id);
              yyval.nlist->next = NULL;
            }
+#line 1194 "inherit2.tab.c"
 break;
 case 11:
 #line 74 "inherit2.y"
 yyval.cval = cLOCAL;
+#line 1199 "inherit2.tab.c"
 break;
 case 12:
 #line 75 "inherit2.y"
        { yyval.nlist = yystack.l_mark[0].nlist; }
+#line 1204 "inherit2.tab.c"
 break;
-#line 1194 "inherit2.tab.c"
+#line 1206 "inherit2.tab.c"
     default:
         break;
     }
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index 6710162..7f74f49 100644 (file)
@@ -4,6 +4,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -17,3 +18,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index 37a5db0..511b22e 100644 (file)
@@ -1230,64 +1230,79 @@ yyreduce:
 case 3:
 #line 66 "ok_syntax1.y"
        {  yyerrok ; }
+#line 1234 "ok_syntax1.tab.c"
 break;
 case 4:
 #line 70 "ok_syntax1.y"
        {  printf("%d\n",yystack.l_mark[0].ival);}
+#line 1239 "ok_syntax1.tab.c"
 break;
 case 5:
 #line 72 "ok_syntax1.y"
        {  regs[yystack.l_mark[-2].ival] = yystack.l_mark[0].ival; }
+#line 1244 "ok_syntax1.tab.c"
 break;
 case 6:
 #line 76 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-1].ival; }
+#line 1249 "ok_syntax1.tab.c"
 break;
 case 7:
 #line 78 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival + yystack.l_mark[0].ival; }
+#line 1254 "ok_syntax1.tab.c"
 break;
 case 8:
 #line 80 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival - yystack.l_mark[0].ival; }
+#line 1259 "ok_syntax1.tab.c"
 break;
 case 9:
 #line 82 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival * yystack.l_mark[0].ival; }
+#line 1264 "ok_syntax1.tab.c"
 break;
 case 10:
 #line 84 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival / yystack.l_mark[0].ival; }
+#line 1269 "ok_syntax1.tab.c"
 break;
 case 11:
 #line 86 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival % yystack.l_mark[0].ival; }
+#line 1274 "ok_syntax1.tab.c"
 break;
 case 12:
 #line 88 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival & yystack.l_mark[0].ival; }
+#line 1279 "ok_syntax1.tab.c"
 break;
 case 13:
 #line 90 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival | yystack.l_mark[0].ival; }
+#line 1284 "ok_syntax1.tab.c"
 break;
 case 14:
 #line 92 "ok_syntax1.y"
        {  yyval.ival = - yystack.l_mark[0].ival; }
+#line 1289 "ok_syntax1.tab.c"
 break;
 case 15:
 #line 94 "ok_syntax1.y"
        {  yyval.ival = regs[yystack.l_mark[0].ival]; }
+#line 1294 "ok_syntax1.tab.c"
 break;
 case 17:
 #line 99 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[0].ival; (*base) = (yystack.l_mark[0].ival==0) ? 8 : 10; }
+#line 1299 "ok_syntax1.tab.c"
 break;
 case 18:
 #line 101 "ok_syntax1.y"
        {  yyval.ival = (*base) * yystack.l_mark[-1].ival + yystack.l_mark[0].ival; }
+#line 1304 "ok_syntax1.tab.c"
 break;
-#line 1291 "ok_syntax1.tab.c"
+#line 1306 "ok_syntax1.tab.c"
     default:
         break;
     }
index ceb11a3..cebcc61 100644 (file)
@@ -1203,64 +1203,79 @@ yyreduce:
 case 3:
 #line 34 "pure_calc.y"
        {  yyerrok ; }
+#line 1207 "pure_calc.tab.c"
 break;
 case 4:
 #line 38 "pure_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1212 "pure_calc.tab.c"
 break;
 case 5:
 #line 40 "pure_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1217 "pure_calc.tab.c"
 break;
 case 6:
 #line 44 "pure_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1222 "pure_calc.tab.c"
 break;
 case 7:
 #line 46 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1227 "pure_calc.tab.c"
 break;
 case 8:
 #line 48 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1232 "pure_calc.tab.c"
 break;
 case 9:
 #line 50 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1237 "pure_calc.tab.c"
 break;
 case 10:
 #line 52 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1242 "pure_calc.tab.c"
 break;
 case 11:
 #line 54 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1247 "pure_calc.tab.c"
 break;
 case 12:
 #line 56 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1252 "pure_calc.tab.c"
 break;
 case 13:
 #line 58 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1257 "pure_calc.tab.c"
 break;
 case 14:
 #line 60 "pure_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1262 "pure_calc.tab.c"
 break;
 case 15:
 #line 62 "pure_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1267 "pure_calc.tab.c"
 break;
 case 17:
 #line 67 "pure_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1272 "pure_calc.tab.c"
 break;
 case 18:
 #line 69 "pure_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1277 "pure_calc.tab.c"
 break;
-#line 1264 "pure_calc.tab.c"
+#line 1279 "pure_calc.tab.c"
     default:
         break;
     }
index cbf43e6..d4085dc 100644 (file)
@@ -1198,64 +1198,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc.y"
        {  yyerrok ; }
+#line 1202 "quote_calc-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1207 "quote_calc-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1212 "quote_calc-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1217 "quote_calc-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1222 "quote_calc-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1227 "quote_calc-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1232 "quote_calc-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1237 "quote_calc-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1242 "quote_calc-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1247 "quote_calc-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1252 "quote_calc-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1257 "quote_calc-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1262 "quote_calc-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1267 "quote_calc-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1272 "quote_calc-s.tab.c"
 break;
-#line 1259 "quote_calc-s.tab.c"
+#line 1274 "quote_calc-s.tab.c"
     default:
         break;
     }
index 05b9743..b6c9f43 100644 (file)
@@ -1204,64 +1204,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc.y"
        {  yyerrok ; }
+#line 1208 "quote_calc.tab.c"
 break;
 case 4:
 #line 39 "quote_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1213 "quote_calc.tab.c"
 break;
 case 5:
 #line 41 "quote_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1218 "quote_calc.tab.c"
 break;
 case 6:
 #line 45 "quote_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1223 "quote_calc.tab.c"
 break;
 case 7:
 #line 47 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1228 "quote_calc.tab.c"
 break;
 case 8:
 #line 49 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1233 "quote_calc.tab.c"
 break;
 case 9:
 #line 51 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1238 "quote_calc.tab.c"
 break;
 case 10:
 #line 53 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1243 "quote_calc.tab.c"
 break;
 case 11:
 #line 55 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1248 "quote_calc.tab.c"
 break;
 case 12:
 #line 57 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1253 "quote_calc.tab.c"
 break;
 case 13:
 #line 59 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1258 "quote_calc.tab.c"
 break;
 case 14:
 #line 61 "quote_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1263 "quote_calc.tab.c"
 break;
 case 15:
 #line 63 "quote_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1268 "quote_calc.tab.c"
 break;
 case 17:
 #line 68 "quote_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1273 "quote_calc.tab.c"
 break;
 case 18:
 #line 70 "quote_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1278 "quote_calc.tab.c"
 break;
-#line 1265 "quote_calc.tab.c"
+#line 1280 "quote_calc.tab.c"
     default:
         break;
     }
index f584af8..03cfcc6 100644 (file)
@@ -1198,64 +1198,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc2.y"
        {  yyerrok ; }
+#line 1202 "quote_calc2-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc2.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1207 "quote_calc2-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc2.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1212 "quote_calc2-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc2.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1217 "quote_calc2-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1222 "quote_calc2-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1227 "quote_calc2-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1232 "quote_calc2-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1237 "quote_calc2-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1242 "quote_calc2-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1247 "quote_calc2-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1252 "quote_calc2-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc2.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1257 "quote_calc2-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc2.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1262 "quote_calc2-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc2.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1267 "quote_calc2-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc2.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1272 "quote_calc2-s.tab.c"
 break;
-#line 1259 "quote_calc2-s.tab.c"
+#line 1274 "quote_calc2-s.tab.c"
     default:
         break;
     }
index 5cc845e..7f659fa 100644 (file)
@@ -1204,64 +1204,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc2.y"
        {  yyerrok ; }
+#line 1208 "quote_calc2.tab.c"
 break;
 case 4:
 #line 39 "quote_calc2.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1213 "quote_calc2.tab.c"
 break;
 case 5:
 #line 41 "quote_calc2.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1218 "quote_calc2.tab.c"
 break;
 case 6:
 #line 45 "quote_calc2.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1223 "quote_calc2.tab.c"
 break;
 case 7:
 #line 47 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1228 "quote_calc2.tab.c"
 break;
 case 8:
 #line 49 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1233 "quote_calc2.tab.c"
 break;
 case 9:
 #line 51 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1238 "quote_calc2.tab.c"
 break;
 case 10:
 #line 53 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1243 "quote_calc2.tab.c"
 break;
 case 11:
 #line 55 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1248 "quote_calc2.tab.c"
 break;
 case 12:
 #line 57 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1253 "quote_calc2.tab.c"
 break;
 case 13:
 #line 59 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1258 "quote_calc2.tab.c"
 break;
 case 14:
 #line 61 "quote_calc2.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1263 "quote_calc2.tab.c"
 break;
 case 15:
 #line 63 "quote_calc2.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1268 "quote_calc2.tab.c"
 break;
 case 17:
 #line 68 "quote_calc2.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1273 "quote_calc2.tab.c"
 break;
 case 18:
 #line 70 "quote_calc2.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1278 "quote_calc2.tab.c"
 break;
-#line 1265 "quote_calc2.tab.c"
+#line 1280 "quote_calc2.tab.c"
     default:
         break;
     }
index ca39161..ac39928 100644 (file)
@@ -1199,64 +1199,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc3.y"
        {  yyerrok ; }
+#line 1203 "quote_calc3-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc3.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1208 "quote_calc3-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc3.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1213 "quote_calc3-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc3.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1218 "quote_calc3-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1223 "quote_calc3-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1228 "quote_calc3-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1233 "quote_calc3-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1238 "quote_calc3-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1243 "quote_calc3-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1248 "quote_calc3-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1253 "quote_calc3-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc3.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1258 "quote_calc3-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc3.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1263 "quote_calc3-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc3.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1268 "quote_calc3-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc3.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1273 "quote_calc3-s.tab.c"
 break;
-#line 1260 "quote_calc3-s.tab.c"
+#line 1275 "quote_calc3-s.tab.c"
     default:
         break;
     }
index 76b7036..b3985f6 100644 (file)
@@ -1199,64 +1199,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc3.y"
        {  yyerrok ; }
+#line 1203 "quote_calc3.tab.c"
 break;
 case 4:
 #line 39 "quote_calc3.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1208 "quote_calc3.tab.c"
 break;
 case 5:
 #line 41 "quote_calc3.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1213 "quote_calc3.tab.c"
 break;
 case 6:
 #line 45 "quote_calc3.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1218 "quote_calc3.tab.c"
 break;
 case 7:
 #line 47 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1223 "quote_calc3.tab.c"
 break;
 case 8:
 #line 49 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1228 "quote_calc3.tab.c"
 break;
 case 9:
 #line 51 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1233 "quote_calc3.tab.c"
 break;
 case 10:
 #line 53 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1238 "quote_calc3.tab.c"
 break;
 case 11:
 #line 55 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1243 "quote_calc3.tab.c"
 break;
 case 12:
 #line 57 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1248 "quote_calc3.tab.c"
 break;
 case 13:
 #line 59 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1253 "quote_calc3.tab.c"
 break;
 case 14:
 #line 61 "quote_calc3.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1258 "quote_calc3.tab.c"
 break;
 case 15:
 #line 63 "quote_calc3.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1263 "quote_calc3.tab.c"
 break;
 case 17:
 #line 68 "quote_calc3.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1268 "quote_calc3.tab.c"
 break;
 case 18:
 #line 70 "quote_calc3.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1273 "quote_calc3.tab.c"
 break;
-#line 1260 "quote_calc3.tab.c"
+#line 1275 "quote_calc3.tab.c"
     default:
         break;
     }
index 507571d..c9bcf12 100644 (file)
@@ -1199,64 +1199,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc4.y"
        {  yyerrok ; }
+#line 1203 "quote_calc4-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc4.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1208 "quote_calc4-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc4.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1213 "quote_calc4-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc4.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1218 "quote_calc4-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1223 "quote_calc4-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1228 "quote_calc4-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1233 "quote_calc4-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1238 "quote_calc4-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1243 "quote_calc4-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1248 "quote_calc4-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1253 "quote_calc4-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc4.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1258 "quote_calc4-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc4.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1263 "quote_calc4-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc4.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1268 "quote_calc4-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc4.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1273 "quote_calc4-s.tab.c"
 break;
-#line 1260 "quote_calc4-s.tab.c"
+#line 1275 "quote_calc4-s.tab.c"
     default:
         break;
     }
index 4999164..718c0e4 100644 (file)
@@ -1199,64 +1199,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc4.y"
        {  yyerrok ; }
+#line 1203 "quote_calc4.tab.c"
 break;
 case 4:
 #line 39 "quote_calc4.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1208 "quote_calc4.tab.c"
 break;
 case 5:
 #line 41 "quote_calc4.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1213 "quote_calc4.tab.c"
 break;
 case 6:
 #line 45 "quote_calc4.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1218 "quote_calc4.tab.c"
 break;
 case 7:
 #line 47 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1223 "quote_calc4.tab.c"
 break;
 case 8:
 #line 49 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1228 "quote_calc4.tab.c"
 break;
 case 9:
 #line 51 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1233 "quote_calc4.tab.c"
 break;
 case 10:
 #line 53 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1238 "quote_calc4.tab.c"
 break;
 case 11:
 #line 55 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1243 "quote_calc4.tab.c"
 break;
 case 12:
 #line 57 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1248 "quote_calc4.tab.c"
 break;
 case 13:
 #line 59 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1253 "quote_calc4.tab.c"
 break;
 case 14:
 #line 61 "quote_calc4.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1258 "quote_calc4.tab.c"
 break;
 case 15:
 #line 63 "quote_calc4.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1263 "quote_calc4.tab.c"
 break;
 case 17:
 #line 68 "quote_calc4.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1268 "quote_calc4.tab.c"
 break;
 case 18:
 #line 70 "quote_calc4.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1273 "quote_calc4.tab.c"
 break;
-#line 1260 "quote_calc4.tab.c"
+#line 1275 "quote_calc4.tab.c"
     default:
         break;
     }
index 0423c0d..9cb9438 100644 (file)
@@ -1087,64 +1087,79 @@ yyreduce:
 case 3:
 #line 28 "(null)"
        {  yyerrok ; }
+#line 1091 "stdin1.calc.c"
 break;
 case 4:
 #line 32 "(null)"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1096 "stdin1.calc.c"
 break;
 case 5:
 #line 34 "(null)"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1101 "stdin1.calc.c"
 break;
 case 6:
 #line 38 "(null)"
        {  yyval = yystack.l_mark[-1]; }
+#line 1106 "stdin1.calc.c"
 break;
 case 7:
 #line 40 "(null)"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1111 "stdin1.calc.c"
 break;
 case 8:
 #line 42 "(null)"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1116 "stdin1.calc.c"
 break;
 case 9:
 #line 44 "(null)"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1121 "stdin1.calc.c"
 break;
 case 10:
 #line 46 "(null)"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1126 "stdin1.calc.c"
 break;
 case 11:
 #line 48 "(null)"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1131 "stdin1.calc.c"
 break;
 case 12:
 #line 50 "(null)"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1136 "stdin1.calc.c"
 break;
 case 13:
 #line 52 "(null)"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1141 "stdin1.calc.c"
 break;
 case 14:
 #line 54 "(null)"
        {  yyval = - yystack.l_mark[0]; }
+#line 1146 "stdin1.calc.c"
 break;
 case 15:
 #line 56 "(null)"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1151 "stdin1.calc.c"
 break;
 case 17:
 #line 61 "(null)"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1156 "stdin1.calc.c"
 break;
 case 18:
 #line 63 "(null)"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1161 "stdin1.calc.c"
 break;
-#line 1148 "stdin1.calc.c"
+#line 1163 "stdin1.calc.c"
     default:
         break;
     }
index 893ded5..4f25934 100644 (file)
@@ -1087,64 +1087,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 1091 "stdin2.calc.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 1096 "stdin2.calc.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 1101 "stdin2.calc.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 1106 "stdin2.calc.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 1111 "stdin2.calc.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 1116 "stdin2.calc.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 1121 "stdin2.calc.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 1126 "stdin2.calc.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 1131 "stdin2.calc.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 1136 "stdin2.calc.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 1141 "stdin2.calc.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 1146 "stdin2.calc.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 1151 "stdin2.calc.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 1156 "stdin2.calc.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 1161 "stdin2.calc.c"
 break;
-#line 1148 "stdin2.calc.c"
+#line 1163 "stdin2.calc.c"
     default:
         break;
     }
index 00e91cf..17fcb2a 100644 (file)
@@ -1327,78 +1327,91 @@ case 3:
        {
                (void) printf("%15.8f\n", yystack.l_mark[-1].dval);
        }
+#line 1331 "varsyntax_calc1.tab.c"
 break;
 case 4:
 #line 63 "varsyntax_calc1.y"
        {
                (void) printf("(%15.8f, %15.8f)\n", yystack.l_mark[-1].vval.lo, yystack.l_mark[-1].vval.hi);
        }
+#line 1338 "varsyntax_calc1.tab.c"
 break;
 case 5:
 #line 67 "varsyntax_calc1.y"
        {
                dreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].dval;
        }
+#line 1345 "varsyntax_calc1.tab.c"
 break;
 case 6:
 #line 71 "varsyntax_calc1.y"
        {
                vreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].vval;
        }
+#line 1352 "varsyntax_calc1.tab.c"
 break;
 case 7:
 #line 75 "varsyntax_calc1.y"
        {
                yyerrok;
        }
+#line 1359 "varsyntax_calc1.tab.c"
 break;
 case 9:
 #line 82 "varsyntax_calc1.y"
        {
                yyval.dval = dreg[yystack.l_mark[0].ival]; /* $$ & $1 are sufficient here*/
        }
+#line 1366 "varsyntax_calc1.tab.c"
 break;
 case 10:
 #line 86 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval;
        }
+#line 1373 "varsyntax_calc1.tab.c"
 break;
 case 11:
 #line 90 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval;
        }
+#line 1380 "varsyntax_calc1.tab.c"
 break;
 case 12:
 #line 94 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval;
        }
+#line 1387 "varsyntax_calc1.tab.c"
 break;
 case 13:
 #line 98 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval;
        }
+#line 1394 "varsyntax_calc1.tab.c"
 break;
 case 14:
 #line 102 "varsyntax_calc1.y"
        {
                yyval.dval = -yystack.l_mark[0].dval;
        }
+#line 1401 "varsyntax_calc1.tab.c"
 break;
 case 15:
 #line 106 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-1].dval;
        }
+#line 1408 "varsyntax_calc1.tab.c"
 break;
 case 16:
 #line 112 "varsyntax_calc1.y"
        {
                yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval;
        }
+#line 1415 "varsyntax_calc1.tab.c"
 break;
 case 17:
 #line 116 "varsyntax_calc1.y"
@@ -1411,12 +1424,14 @@ case 17:
                        YYERROR;
                }
        }
+#line 1428 "varsyntax_calc1.tab.c"
 break;
 case 18:
 #line 126 "varsyntax_calc1.y"
        {
                yyval.vval = vreg[yystack.l_mark[0].ival];
        }
+#line 1435 "varsyntax_calc1.tab.c"
 break;
 case 19:
 #line 130 "varsyntax_calc1.y"
@@ -1424,6 +1439,7 @@ case 19:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo + yystack.l_mark[0].vval.lo;
        }
+#line 1443 "varsyntax_calc1.tab.c"
 break;
 case 20:
 #line 135 "varsyntax_calc1.y"
@@ -1431,6 +1447,7 @@ case 20:
                yyval.vval.hi = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.lo;
        }
+#line 1451 "varsyntax_calc1.tab.c"
 break;
 case 21:
 #line 140 "varsyntax_calc1.y"
@@ -1438,6 +1455,7 @@ case 21:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo - yystack.l_mark[0].vval.hi;
        }
+#line 1459 "varsyntax_calc1.tab.c"
 break;
 case 22:
 #line 145 "varsyntax_calc1.y"
@@ -1445,18 +1463,21 @@ case 22:
                yyval.vval.hi = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.hi;
        }
+#line 1467 "varsyntax_calc1.tab.c"
 break;
 case 23:
 #line 150 "varsyntax_calc1.y"
        {
                yyval.vval = vmul( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 1474 "varsyntax_calc1.tab.c"
 break;
 case 24:
 #line 154 "varsyntax_calc1.y"
        {
                yyval.vval = vmul (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 1481 "varsyntax_calc1.tab.c"
 break;
 case 25:
 #line 158 "varsyntax_calc1.y"
@@ -1464,6 +1485,7 @@ case 25:
                if (dcheck(yystack.l_mark[0].vval)) YYERROR;
                yyval.vval = vdiv ( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 1489 "varsyntax_calc1.tab.c"
 break;
 case 26:
 #line 163 "varsyntax_calc1.y"
@@ -1471,6 +1493,7 @@ case 26:
                if (dcheck ( yystack.l_mark[0].vval )) YYERROR;
                yyval.vval = vdiv (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 1497 "varsyntax_calc1.tab.c"
 break;
 case 27:
 #line 168 "varsyntax_calc1.y"
@@ -1478,14 +1501,16 @@ case 27:
                yyval.vval.hi = -yystack.l_mark[0].vval.lo;
                yyval.vval.lo = -yystack.l_mark[0].vval.hi;
        }
+#line 1505 "varsyntax_calc1.tab.c"
 break;
 case 28:
 #line 173 "varsyntax_calc1.y"
        {
                yyval.vval = yystack.l_mark[-1].vval;
        }
+#line 1512 "varsyntax_calc1.tab.c"
 break;
-#line 1489 "varsyntax_calc1.tab.c"
+#line 1514 "varsyntax_calc1.tab.c"
     default:
         break;
     }
index 7019fde..6c3442b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index be9f02a..8ca4221 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index 2e0afee..c59e101 100644 (file)
@@ -554,64 +554,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 558 "calc.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 563 "calc.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 568 "calc.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 573 "calc.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 578 "calc.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 583 "calc.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 588 "calc.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 593 "calc.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 598 "calc.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 603 "calc.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 608 "calc.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 613 "calc.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 618 "calc.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 623 "calc.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 628 "calc.tab.c"
 break;
-#line 615 "calc.tab.c"
+#line 630 "calc.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 07d4d90..76afdc2 100644 (file)
@@ -693,78 +693,91 @@ case 3:
        {
                (void) printf("%15.8f\n", yystack.l_mark[-1].dval);
        }
+#line 697 "calc1.tab.c"
 break;
 case 4:
 #line 61 "calc1.y"
        {
                (void) printf("(%15.8f, %15.8f)\n", yystack.l_mark[-1].vval.lo, yystack.l_mark[-1].vval.hi);
        }
+#line 704 "calc1.tab.c"
 break;
 case 5:
 #line 65 "calc1.y"
        {
                dreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].dval;
        }
+#line 711 "calc1.tab.c"
 break;
 case 6:
 #line 69 "calc1.y"
        {
                vreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].vval;
        }
+#line 718 "calc1.tab.c"
 break;
 case 7:
 #line 73 "calc1.y"
        {
                yyerrok;
        }
+#line 725 "calc1.tab.c"
 break;
 case 9:
 #line 80 "calc1.y"
        {
                yyval.dval = dreg[yystack.l_mark[0].ival];
        }
+#line 732 "calc1.tab.c"
 break;
 case 10:
 #line 84 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval;
        }
+#line 739 "calc1.tab.c"
 break;
 case 11:
 #line 88 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval;
        }
+#line 746 "calc1.tab.c"
 break;
 case 12:
 #line 92 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval;
        }
+#line 753 "calc1.tab.c"
 break;
 case 13:
 #line 96 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval;
        }
+#line 760 "calc1.tab.c"
 break;
 case 14:
 #line 100 "calc1.y"
        {
                yyval.dval = -yystack.l_mark[0].dval;
        }
+#line 767 "calc1.tab.c"
 break;
 case 15:
 #line 104 "calc1.y"
        {
                yyval.dval = yystack.l_mark[-1].dval;
        }
+#line 774 "calc1.tab.c"
 break;
 case 16:
 #line 110 "calc1.y"
        {
                yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval;
        }
+#line 781 "calc1.tab.c"
 break;
 case 17:
 #line 114 "calc1.y"
@@ -777,12 +790,14 @@ case 17:
                        YYERROR;
                }
        }
+#line 794 "calc1.tab.c"
 break;
 case 18:
 #line 124 "calc1.y"
        {
                yyval.vval = vreg[yystack.l_mark[0].ival];
        }
+#line 801 "calc1.tab.c"
 break;
 case 19:
 #line 128 "calc1.y"
@@ -790,6 +805,7 @@ case 19:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo + yystack.l_mark[0].vval.lo;
        }
+#line 809 "calc1.tab.c"
 break;
 case 20:
 #line 133 "calc1.y"
@@ -797,6 +813,7 @@ case 20:
                yyval.vval.hi = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.lo;
        }
+#line 817 "calc1.tab.c"
 break;
 case 21:
 #line 138 "calc1.y"
@@ -804,6 +821,7 @@ case 21:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo - yystack.l_mark[0].vval.hi;
        }
+#line 825 "calc1.tab.c"
 break;
 case 22:
 #line 143 "calc1.y"
@@ -811,18 +829,21 @@ case 22:
                yyval.vval.hi = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.hi;
        }
+#line 833 "calc1.tab.c"
 break;
 case 23:
 #line 148 "calc1.y"
        {
                yyval.vval = vmul( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 840 "calc1.tab.c"
 break;
 case 24:
 #line 152 "calc1.y"
        {
                yyval.vval = vmul (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 847 "calc1.tab.c"
 break;
 case 25:
 #line 156 "calc1.y"
@@ -830,6 +851,7 @@ case 25:
                if (dcheck(yystack.l_mark[0].vval)) YYERROR;
                yyval.vval = vdiv ( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 855 "calc1.tab.c"
 break;
 case 26:
 #line 161 "calc1.y"
@@ -837,6 +859,7 @@ case 26:
                if (dcheck ( yystack.l_mark[0].vval )) YYERROR;
                yyval.vval = vdiv (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 863 "calc1.tab.c"
 break;
 case 27:
 #line 166 "calc1.y"
@@ -844,14 +867,16 @@ case 27:
                yyval.vval.hi = -yystack.l_mark[0].vval.lo;
                yyval.vval.lo = -yystack.l_mark[0].vval.hi;
        }
+#line 871 "calc1.tab.c"
 break;
 case 28:
 #line 171 "calc1.y"
        {
                yyval.vval = yystack.l_mark[-1].vval;
        }
+#line 878 "calc1.tab.c"
 break;
-#line 855 "calc1.tab.c"
+#line 880 "calc1.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 1f9e908..d2f2565 100644 (file)
@@ -567,64 +567,79 @@ yyreduce:
 case 3:
 #line 35 "calc2.y"
        {  yyerrok ; }
+#line 571 "calc2.tab.c"
 break;
 case 4:
 #line 39 "calc2.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 576 "calc2.tab.c"
 break;
 case 5:
 #line 41 "calc2.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 581 "calc2.tab.c"
 break;
 case 6:
 #line 45 "calc2.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 586 "calc2.tab.c"
 break;
 case 7:
 #line 47 "calc2.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 591 "calc2.tab.c"
 break;
 case 8:
 #line 49 "calc2.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 596 "calc2.tab.c"
 break;
 case 9:
 #line 51 "calc2.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 601 "calc2.tab.c"
 break;
 case 10:
 #line 53 "calc2.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 606 "calc2.tab.c"
 break;
 case 11:
 #line 55 "calc2.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 611 "calc2.tab.c"
 break;
 case 12:
 #line 57 "calc2.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 616 "calc2.tab.c"
 break;
 case 13:
 #line 59 "calc2.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 621 "calc2.tab.c"
 break;
 case 14:
 #line 61 "calc2.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 626 "calc2.tab.c"
 break;
 case 15:
 #line 63 "calc2.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 631 "calc2.tab.c"
 break;
 case 17:
 #line 68 "calc2.y"
        {  yyval = yystack.l_mark[0]; (*base) = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 636 "calc2.tab.c"
 break;
 case 18:
 #line 70 "calc2.y"
        {  yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 641 "calc2.tab.c"
 break;
-#line 628 "calc2.tab.c"
+#line 643 "calc2.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 5a206ca..a2c12d1 100644 (file)
@@ -575,64 +575,79 @@ yyreduce:
 case 3:
 #line 38 "calc3.y"
        {  yyerrok ; }
+#line 579 "calc3.tab.c"
 break;
 case 4:
 #line 42 "calc3.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 584 "calc3.tab.c"
 break;
 case 5:
 #line 44 "calc3.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 589 "calc3.tab.c"
 break;
 case 6:
 #line 48 "calc3.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 594 "calc3.tab.c"
 break;
 case 7:
 #line 50 "calc3.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 599 "calc3.tab.c"
 break;
 case 8:
 #line 52 "calc3.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 604 "calc3.tab.c"
 break;
 case 9:
 #line 54 "calc3.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 609 "calc3.tab.c"
 break;
 case 10:
 #line 56 "calc3.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 614 "calc3.tab.c"
 break;
 case 11:
 #line 58 "calc3.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 619 "calc3.tab.c"
 break;
 case 12:
 #line 60 "calc3.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 624 "calc3.tab.c"
 break;
 case 13:
 #line 62 "calc3.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 629 "calc3.tab.c"
 break;
 case 14:
 #line 64 "calc3.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 634 "calc3.tab.c"
 break;
 case 15:
 #line 66 "calc3.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 639 "calc3.tab.c"
 break;
 case 17:
 #line 71 "calc3.y"
        {  yyval = yystack.l_mark[0]; (*base) = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 644 "calc3.tab.c"
 break;
 case 18:
 #line 73 "calc3.y"
        {  yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 649 "calc3.tab.c"
 break;
-#line 636 "calc3.tab.c"
+#line 651 "calc3.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 3d80873..b5a53d8 100644 (file)
@@ -582,64 +582,79 @@ yyreduce:
 case 3:
 #line 35 "calc_code_all.y"
        {  yyerrok ; }
+#line 586 "calc_code_all.tab.c"
 break;
 case 4:
 #line 39 "calc_code_all.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 591 "calc_code_all.tab.c"
 break;
 case 5:
 #line 41 "calc_code_all.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 596 "calc_code_all.tab.c"
 break;
 case 6:
 #line 45 "calc_code_all.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 601 "calc_code_all.tab.c"
 break;
 case 7:
 #line 47 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 606 "calc_code_all.tab.c"
 break;
 case 8:
 #line 49 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 611 "calc_code_all.tab.c"
 break;
 case 9:
 #line 51 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 616 "calc_code_all.tab.c"
 break;
 case 10:
 #line 53 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 621 "calc_code_all.tab.c"
 break;
 case 11:
 #line 55 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 626 "calc_code_all.tab.c"
 break;
 case 12:
 #line 57 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 631 "calc_code_all.tab.c"
 break;
 case 13:
 #line 59 "calc_code_all.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 636 "calc_code_all.tab.c"
 break;
 case 14:
 #line 61 "calc_code_all.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 641 "calc_code_all.tab.c"
 break;
 case 15:
 #line 63 "calc_code_all.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 646 "calc_code_all.tab.c"
 break;
 case 17:
 #line 68 "calc_code_all.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 651 "calc_code_all.tab.c"
 break;
 case 18:
 #line 70 "calc_code_all.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 656 "calc_code_all.tab.c"
 break;
-#line 643 "calc_code_all.tab.c"
+#line 658 "calc_code_all.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index e86fefc..28323c5 100644 (file)
@@ -562,64 +562,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_default.y"
        {  yyerrok ; }
+#line 566 "calc_code_default.tab.c"
 break;
 case 4:
 #line 35 "calc_code_default.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 571 "calc_code_default.tab.c"
 break;
 case 5:
 #line 37 "calc_code_default.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 576 "calc_code_default.tab.c"
 break;
 case 6:
 #line 41 "calc_code_default.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 581 "calc_code_default.tab.c"
 break;
 case 7:
 #line 43 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 586 "calc_code_default.tab.c"
 break;
 case 8:
 #line 45 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 591 "calc_code_default.tab.c"
 break;
 case 9:
 #line 47 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 596 "calc_code_default.tab.c"
 break;
 case 10:
 #line 49 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 601 "calc_code_default.tab.c"
 break;
 case 11:
 #line 51 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 606 "calc_code_default.tab.c"
 break;
 case 12:
 #line 53 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 611 "calc_code_default.tab.c"
 break;
 case 13:
 #line 55 "calc_code_default.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 616 "calc_code_default.tab.c"
 break;
 case 14:
 #line 57 "calc_code_default.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 621 "calc_code_default.tab.c"
 break;
 case 15:
 #line 59 "calc_code_default.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 626 "calc_code_default.tab.c"
 break;
 case 17:
 #line 64 "calc_code_default.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 631 "calc_code_default.tab.c"
 break;
 case 18:
 #line 66 "calc_code_default.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 636 "calc_code_default.tab.c"
 break;
-#line 623 "calc_code_default.tab.c"
+#line 638 "calc_code_default.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 546dc71..0e302b2 100644 (file)
@@ -554,64 +554,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_imports.y"
        {  yyerrok ; }
+#line 558 "calc_code_imports.tab.c"
 break;
 case 4:
 #line 35 "calc_code_imports.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 563 "calc_code_imports.tab.c"
 break;
 case 5:
 #line 37 "calc_code_imports.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 568 "calc_code_imports.tab.c"
 break;
 case 6:
 #line 41 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 573 "calc_code_imports.tab.c"
 break;
 case 7:
 #line 43 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 578 "calc_code_imports.tab.c"
 break;
 case 8:
 #line 45 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 583 "calc_code_imports.tab.c"
 break;
 case 9:
 #line 47 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 588 "calc_code_imports.tab.c"
 break;
 case 10:
 #line 49 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 593 "calc_code_imports.tab.c"
 break;
 case 11:
 #line 51 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 598 "calc_code_imports.tab.c"
 break;
 case 12:
 #line 53 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 603 "calc_code_imports.tab.c"
 break;
 case 13:
 #line 55 "calc_code_imports.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 608 "calc_code_imports.tab.c"
 break;
 case 14:
 #line 57 "calc_code_imports.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 613 "calc_code_imports.tab.c"
 break;
 case 15:
 #line 59 "calc_code_imports.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 618 "calc_code_imports.tab.c"
 break;
 case 17:
 #line 64 "calc_code_imports.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 623 "calc_code_imports.tab.c"
 break;
 case 18:
 #line 66 "calc_code_imports.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 628 "calc_code_imports.tab.c"
 break;
-#line 615 "calc_code_imports.tab.c"
+#line 630 "calc_code_imports.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 00dc9cb..2fead9d 100644 (file)
@@ -562,64 +562,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_provides.y"
        {  yyerrok ; }
+#line 566 "calc_code_provides.tab.c"
 break;
 case 4:
 #line 35 "calc_code_provides.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 571 "calc_code_provides.tab.c"
 break;
 case 5:
 #line 37 "calc_code_provides.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 576 "calc_code_provides.tab.c"
 break;
 case 6:
 #line 41 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 581 "calc_code_provides.tab.c"
 break;
 case 7:
 #line 43 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 586 "calc_code_provides.tab.c"
 break;
 case 8:
 #line 45 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 591 "calc_code_provides.tab.c"
 break;
 case 9:
 #line 47 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 596 "calc_code_provides.tab.c"
 break;
 case 10:
 #line 49 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 601 "calc_code_provides.tab.c"
 break;
 case 11:
 #line 51 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 606 "calc_code_provides.tab.c"
 break;
 case 12:
 #line 53 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 611 "calc_code_provides.tab.c"
 break;
 case 13:
 #line 55 "calc_code_provides.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 616 "calc_code_provides.tab.c"
 break;
 case 14:
 #line 57 "calc_code_provides.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 621 "calc_code_provides.tab.c"
 break;
 case 15:
 #line 59 "calc_code_provides.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 626 "calc_code_provides.tab.c"
 break;
 case 17:
 #line 64 "calc_code_provides.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 631 "calc_code_provides.tab.c"
 break;
 case 18:
 #line 66 "calc_code_provides.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 636 "calc_code_provides.tab.c"
 break;
-#line 623 "calc_code_provides.tab.c"
+#line 638 "calc_code_provides.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index a8ae025..175c9e1 100644 (file)
@@ -562,64 +562,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_requires.y"
        {  yyerrok ; }
+#line 566 "calc_code_requires.tab.c"
 break;
 case 4:
 #line 35 "calc_code_requires.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 571 "calc_code_requires.tab.c"
 break;
 case 5:
 #line 37 "calc_code_requires.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 576 "calc_code_requires.tab.c"
 break;
 case 6:
 #line 41 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 581 "calc_code_requires.tab.c"
 break;
 case 7:
 #line 43 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 586 "calc_code_requires.tab.c"
 break;
 case 8:
 #line 45 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 591 "calc_code_requires.tab.c"
 break;
 case 9:
 #line 47 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 596 "calc_code_requires.tab.c"
 break;
 case 10:
 #line 49 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 601 "calc_code_requires.tab.c"
 break;
 case 11:
 #line 51 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 606 "calc_code_requires.tab.c"
 break;
 case 12:
 #line 53 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 611 "calc_code_requires.tab.c"
 break;
 case 13:
 #line 55 "calc_code_requires.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 616 "calc_code_requires.tab.c"
 break;
 case 14:
 #line 57 "calc_code_requires.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 621 "calc_code_requires.tab.c"
 break;
 case 15:
 #line 59 "calc_code_requires.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 626 "calc_code_requires.tab.c"
 break;
 case 17:
 #line 64 "calc_code_requires.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 631 "calc_code_requires.tab.c"
 break;
 case 18:
 #line 66 "calc_code_requires.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 636 "calc_code_requires.tab.c"
 break;
-#line 623 "calc_code_requires.tab.c"
+#line 638 "calc_code_requires.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 18c4456..c03c21b 100644 (file)
@@ -562,64 +562,79 @@ yyreduce:
 case 3:
 #line 31 "calc_code_top.y"
        {  yyerrok ; }
+#line 566 "calc_code_top.tab.c"
 break;
 case 4:
 #line 35 "calc_code_top.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 571 "calc_code_top.tab.c"
 break;
 case 5:
 #line 37 "calc_code_top.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 576 "calc_code_top.tab.c"
 break;
 case 6:
 #line 41 "calc_code_top.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 581 "calc_code_top.tab.c"
 break;
 case 7:
 #line 43 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 586 "calc_code_top.tab.c"
 break;
 case 8:
 #line 45 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 591 "calc_code_top.tab.c"
 break;
 case 9:
 #line 47 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 596 "calc_code_top.tab.c"
 break;
 case 10:
 #line 49 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 601 "calc_code_top.tab.c"
 break;
 case 11:
 #line 51 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 606 "calc_code_top.tab.c"
 break;
 case 12:
 #line 53 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 611 "calc_code_top.tab.c"
 break;
 case 13:
 #line 55 "calc_code_top.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 616 "calc_code_top.tab.c"
 break;
 case 14:
 #line 57 "calc_code_top.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 621 "calc_code_top.tab.c"
 break;
 case 15:
 #line 59 "calc_code_top.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 626 "calc_code_top.tab.c"
 break;
 case 17:
 #line 64 "calc_code_top.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 631 "calc_code_top.tab.c"
 break;
 case 18:
 #line 66 "calc_code_top.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 636 "calc_code_top.tab.c"
 break;
-#line 623 "calc_code_top.tab.c"
+#line 638 "calc_code_top.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index ebc66a8..15faaf8 100644 (file)
@@ -463,64 +463,79 @@ yyreduce:
 case 3:
 #line 32 "code_calc.y"
        {  yyerrok ; }
+#line 467 "code_calc.code.c"
 break;
 case 4:
 #line 36 "code_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 472 "code_calc.code.c"
 break;
 case 5:
 #line 38 "code_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 477 "code_calc.code.c"
 break;
 case 6:
 #line 42 "code_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 482 "code_calc.code.c"
 break;
 case 7:
 #line 44 "code_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 487 "code_calc.code.c"
 break;
 case 8:
 #line 46 "code_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 492 "code_calc.code.c"
 break;
 case 9:
 #line 48 "code_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 497 "code_calc.code.c"
 break;
 case 10:
 #line 50 "code_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 502 "code_calc.code.c"
 break;
 case 11:
 #line 52 "code_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 507 "code_calc.code.c"
 break;
 case 12:
 #line 54 "code_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 512 "code_calc.code.c"
 break;
 case 13:
 #line 56 "code_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 517 "code_calc.code.c"
 break;
 case 14:
 #line 58 "code_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 522 "code_calc.code.c"
 break;
 case 15:
 #line 60 "code_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 527 "code_calc.code.c"
 break;
 case 17:
 #line 65 "code_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 532 "code_calc.code.c"
 break;
 case 18:
 #line 67 "code_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 537 "code_calc.code.c"
 break;
-#line 524 "code_calc.code.c"
+#line 539 "code_calc.code.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 833145f..cd2abde 100644 (file)
@@ -478,64 +478,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 482 "y.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 487 "y.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 492 "y.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 497 "y.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 502 "y.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 507 "y.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 512 "y.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 517 "y.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 522 "y.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 527 "y.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 532 "y.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 537 "y.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 542 "y.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 547 "y.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 552 "y.tab.c"
 break;
-#line 539 "y.tab.c"
+#line 554 "y.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 833145f..cd2abde 100644 (file)
@@ -478,64 +478,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 482 "y.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 487 "y.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 492 "y.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 497 "y.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 502 "y.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 507 "y.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 512 "y.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 517 "y.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 522 "y.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 527 "y.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 532 "y.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 537 "y.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 542 "y.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 547 "y.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 552 "y.tab.c"
 break;
-#line 539 "y.tab.c"
+#line 554 "y.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index daa290a..f657dc7 100644 (file)
@@ -478,64 +478,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 482 "prefix.tab.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 487 "prefix.tab.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 492 "prefix.tab.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 497 "prefix.tab.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 502 "prefix.tab.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 507 "prefix.tab.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 512 "prefix.tab.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 517 "prefix.tab.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 522 "prefix.tab.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 527 "prefix.tab.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 532 "prefix.tab.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 537 "prefix.tab.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 542 "prefix.tab.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 547 "prefix.tab.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 552 "prefix.tab.c"
 break;
-#line 539 "prefix.tab.c"
+#line 554 "prefix.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index fab30df..266a449 100644 (file)
@@ -451,8 +451,9 @@ yyreduce:
 case 1:
 #line 9 "err_syntax18.y"
        {  yyval = yystack.l_mark[1]; }
+#line 455 "err_syntax18.tab.c"
 break;
-#line 456 "err_syntax18.tab.c"
+#line 457 "err_syntax18.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 7f08c32..2a173e0 100644 (file)
@@ -447,8 +447,9 @@ yyreduce:
 case 1:
 #line 12 "err_syntax20.y"
        { yystack.l_mark[-1].rechk = 3; }
+#line 451 "err_syntax20.tab.c"
 break;
-#line 452 "err_syntax20.tab.c"
+#line 453 "err_syntax20.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 143c1f7..ce5e6fe 100644 (file)
@@ -1845,62 +1845,72 @@ yyreduce:
 case 1:
 #line 64 "expr.oxout.y"
        {yyyYoxInit();}
+#line 1849 "expr.oxout.tab.c"
 break;
 case 2:
 #line 66 "expr.oxout.y"
        {
                 yyyDecorate(); yyyExecuteRRsection(yystack.l_mark[0].yyyOxAttrbs.yyyOxStackItem->node);
                }
+#line 1856 "expr.oxout.tab.c"
 break;
 case 3:
 #line 73 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(1,1,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(1,1,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1863 "expr.oxout.tab.c"
 break;
 case 4:
 #line 80 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(2,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(2,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1870 "expr.oxout.tab.c"
 break;
 case 5:
 #line 87 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(3,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(3,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1877 "expr.oxout.tab.c"
 break;
 case 6:
 #line 94 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(4,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(4,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1884 "expr.oxout.tab.c"
 break;
 case 7:
 #line 101 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(5,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(5,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1891 "expr.oxout.tab.c"
 break;
 case 8:
 #line 108 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(6,3,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(6,3,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[-2].yyyOxAttrbs,&yystack.l_mark[-1].yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1898 "expr.oxout.tab.c"
 break;
 case 9:
 #line 114 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(7,1,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(7,1,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1905 "expr.oxout.tab.c"
 break;
 case 10:
 #line 121 "expr.oxout.y"
        {if(yyyYok){
 yyyGenIntNode(8,1,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);
 yyyAdjustINRC(8,1,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}}
+#line 1912 "expr.oxout.tab.c"
 break;
-#line 1904 "expr.oxout.tab.c"
+#line 1914 "expr.oxout.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 91a6789..4c8a2a6 100644 (file)
@@ -1295,12 +1295,14 @@ case 10:
        {
            yyerrok;
        }
+#line 1299 "grammar.tab.c"
 break;
 case 11:
 #line 382 "grammar.y"
        {
            yyerrok;
        }
+#line 1306 "grammar.tab.c"
 break;
 case 13:
 #line 393 "grammar.y"
@@ -1310,12 +1312,14 @@ case 13:
             * have generated.
             */
        }
+#line 1316 "grammar.tab.c"
 break;
 case 14:
 #line 400 "grammar.y"
        {
            /* empty */
        }
+#line 1323 "grammar.tab.c"
 break;
 case 15:
 #line 407 "grammar.y"
@@ -1329,6 +1333,7 @@ case 15:
            free_decl_spec(&yystack.l_mark[-1].decl_spec);
            end_typedef();
        }
+#line 1337 "grammar.tab.c"
 break;
 case 16:
 #line 418 "grammar.y"
@@ -1345,6 +1350,7 @@ case 16:
            free_decl_spec(&yystack.l_mark[-2].decl_spec);
            end_typedef();
        }
+#line 1354 "grammar.tab.c"
 break;
 case 17:
 #line 432 "grammar.y"
@@ -1352,24 +1358,28 @@ case 17:
            cur_decl_spec_flags = yystack.l_mark[0].decl_spec.flags;
            free_decl_spec(&yystack.l_mark[0].decl_spec);
        }
+#line 1362 "grammar.tab.c"
 break;
 case 18:
 #line 437 "grammar.y"
        {
            end_typedef();
        }
+#line 1369 "grammar.tab.c"
 break;
 case 19:
 #line 444 "grammar.y"
        {
            begin_typedef();
        }
+#line 1376 "grammar.tab.c"
 break;
 case 20:
 #line 448 "grammar.y"
        {
            begin_typedef();
        }
+#line 1383 "grammar.tab.c"
 break;
 case 23:
 #line 460 "grammar.y"
@@ -1384,6 +1394,7 @@ case 23:
            new_symbol(typedef_names, yystack.l_mark[0].declarator->name, NULL, flags);
            free_declarator(yystack.l_mark[0].declarator);
        }
+#line 1398 "grammar.tab.c"
 break;
 case 24:
 #line 472 "grammar.y"
@@ -1395,6 +1406,7 @@ case 24:
            new_symbol(typedef_names, yystack.l_mark[0].declarator->name, NULL, flags);
            free_declarator(yystack.l_mark[0].declarator);
        }
+#line 1410 "grammar.tab.c"
 break;
 case 25:
 #line 484 "grammar.y"
@@ -1408,6 +1420,7 @@ case 25:
            func_params->begin_comment = cur_file->begin_comment;
            func_params->end_comment = cur_file->end_comment;
        }
+#line 1424 "grammar.tab.c"
 break;
 case 26:
 #line 495 "grammar.y"
@@ -1434,6 +1447,7 @@ case 26:
            free_decl_spec(&yystack.l_mark[-4].decl_spec);
            free_declarator(yystack.l_mark[-3].declarator);
        }
+#line 1451 "grammar.tab.c"
 break;
 case 28:
 #line 520 "grammar.y"
@@ -1446,6 +1460,7 @@ case 28:
            func_params->begin_comment = cur_file->begin_comment;
            func_params->end_comment = cur_file->end_comment;
        }
+#line 1464 "grammar.tab.c"
 break;
 case 29:
 #line 530 "grammar.y"
@@ -1464,6 +1479,7 @@ case 29:
            free_decl_spec(&decl_spec);
            free_declarator(yystack.l_mark[-4].declarator);
        }
+#line 1483 "grammar.tab.c"
 break;
 case 36:
 #line 561 "grammar.y"
@@ -1472,114 +1488,133 @@ case 36:
            free(yystack.l_mark[-1].decl_spec.text);
            free(yystack.l_mark[0].decl_spec.text);
        }
+#line 1492 "grammar.tab.c"
 break;
 case 40:
 #line 576 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1499 "grammar.tab.c"
 break;
 case 41:
 #line 580 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_EXTERN);
        }
+#line 1506 "grammar.tab.c"
 break;
 case 42:
 #line 584 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1513 "grammar.tab.c"
 break;
 case 43:
 #line 588 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_STATIC);
        }
+#line 1520 "grammar.tab.c"
 break;
 case 44:
 #line 592 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_INLINE);
        }
+#line 1527 "grammar.tab.c"
 break;
 case 45:
 #line 596 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_JUNK);
        }
+#line 1534 "grammar.tab.c"
 break;
 case 46:
 #line 603 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_CHAR);
        }
+#line 1541 "grammar.tab.c"
 break;
 case 47:
 #line 607 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1548 "grammar.tab.c"
 break;
 case 48:
 #line 611 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_FLOAT);
        }
+#line 1555 "grammar.tab.c"
 break;
 case 49:
 #line 615 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1562 "grammar.tab.c"
 break;
 case 50:
 #line 619 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1569 "grammar.tab.c"
 break;
 case 51:
 #line 623 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_SHORT);
        }
+#line 1576 "grammar.tab.c"
 break;
 case 52:
 #line 627 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1583 "grammar.tab.c"
 break;
 case 53:
 #line 631 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1590 "grammar.tab.c"
 break;
 case 54:
 #line 635 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1597 "grammar.tab.c"
 break;
 case 55:
 #line 639 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_CHAR);
        }
+#line 1604 "grammar.tab.c"
 break;
 case 56:
 #line 643 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1611 "grammar.tab.c"
 break;
 case 57:
 #line 647 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1618 "grammar.tab.c"
 break;
 case 58:
 #line 651 "grammar.y"
@@ -1589,12 +1624,14 @@ case 58:
            if (s != NULL)
                new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, s->flags);
        }
+#line 1628 "grammar.tab.c"
 break;
 case 61:
 #line 663 "grammar.y"
        {
            new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE);
        }
+#line 1635 "grammar.tab.c"
 break;
 case 62:
 #line 667 "grammar.y"
@@ -1607,6 +1644,7 @@ case 62:
            if (s != NULL)
                new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, s->flags);
        }
+#line 1648 "grammar.tab.c"
 break;
 case 63:
 #line 680 "grammar.y"
@@ -1616,6 +1654,7 @@ case 63:
                (void)sprintf(s = buf, "%.*s %.*s", TEXT_LEN, yystack.l_mark[-2].text.text, TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-2].text.begin, DS_NONE);
        }
+#line 1658 "grammar.tab.c"
 break;
 case 64:
 #line 687 "grammar.y"
@@ -1625,6 +1664,7 @@ case 64:
                (void)sprintf(s = buf, "%.*s {}", TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 1668 "grammar.tab.c"
 break;
 case 65:
 #line 694 "grammar.y"
@@ -1632,30 +1672,35 @@ case 65:
            (void)sprintf(buf, "%.*s %.*s", TEXT_LEN, yystack.l_mark[-1].text.text, TEXT_LEN, yystack.l_mark[0].text.text);
            new_decl_spec(&yyval.decl_spec, buf, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 1676 "grammar.tab.c"
 break;
 case 66:
 #line 702 "grammar.y"
        {
            imply_typedef(yyval.text.text);
        }
+#line 1683 "grammar.tab.c"
 break;
 case 67:
 #line 706 "grammar.y"
        {
            imply_typedef(yyval.text.text);
        }
+#line 1690 "grammar.tab.c"
 break;
 case 68:
 #line 713 "grammar.y"
        {
            new_decl_list(&yyval.decl_list, yystack.l_mark[0].declarator);
        }
+#line 1697 "grammar.tab.c"
 break;
 case 69:
 #line 717 "grammar.y"
        {
            add_decl_list(&yyval.decl_list, &yystack.l_mark[-2].decl_list, yystack.l_mark[0].declarator);
        }
+#line 1704 "grammar.tab.c"
 break;
 case 70:
 #line 724 "grammar.y"
@@ -1667,6 +1712,7 @@ case 70:
            }
            cur_declarator = yyval.declarator;
        }
+#line 1716 "grammar.tab.c"
 break;
 case 71:
 #line 733 "grammar.y"
@@ -1677,6 +1723,7 @@ case 71:
                fputs(" =", cur_file->tmp_file);
            }
        }
+#line 1727 "grammar.tab.c"
 break;
 case 73:
 #line 745 "grammar.y"
@@ -1686,6 +1733,7 @@ case 73:
                (void)sprintf(s = buf, "enum %.*s", TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-2].text.begin, DS_NONE);
        }
+#line 1737 "grammar.tab.c"
 break;
 case 74:
 #line 752 "grammar.y"
@@ -1695,6 +1743,7 @@ case 74:
                (void)sprintf(s = buf, "%.*s {}", TEXT_LEN, yystack.l_mark[-1].text.text);
            new_decl_spec(&yyval.decl_spec, s, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 1747 "grammar.tab.c"
 break;
 case 75:
 #line 759 "grammar.y"
@@ -1702,6 +1751,7 @@ case 75:
            (void)sprintf(buf, "enum %.*s", TEXT_LEN, yystack.l_mark[0].text.text);
            new_decl_spec(&yyval.decl_spec, buf, yystack.l_mark[-1].text.begin, DS_NONE);
        }
+#line 1755 "grammar.tab.c"
 break;
 case 76:
 #line 767 "grammar.y"
@@ -1709,6 +1759,7 @@ case 76:
            imply_typedef("enum");
            yyval.text = yystack.l_mark[0].text;
        }
+#line 1763 "grammar.tab.c"
 break;
 case 79:
 #line 780 "grammar.y"
@@ -1720,12 +1771,14 @@ case 79:
            yyval.declarator->begin = yystack.l_mark[-1].text.begin;
            yyval.declarator->pointer = TRUE;
        }
+#line 1775 "grammar.tab.c"
 break;
 case 81:
 #line 793 "grammar.y"
        {
            yyval.declarator = new_declarator(yystack.l_mark[0].text.text, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin);
        }
+#line 1782 "grammar.tab.c"
 break;
 case 82:
 #line 797 "grammar.y"
@@ -1736,6 +1789,7 @@ case 82:
            yyval.declarator->text = xstrdup(buf);
            yyval.declarator->begin = yystack.l_mark[-2].text.begin;
        }
+#line 1793 "grammar.tab.c"
 break;
 case 83:
 #line 805 "grammar.y"
@@ -1745,6 +1799,7 @@ case 83:
            free(yyval.declarator->text);
            yyval.declarator->text = xstrdup(buf);
        }
+#line 1803 "grammar.tab.c"
 break;
 case 84:
 #line 812 "grammar.y"
@@ -1755,6 +1810,7 @@ case 84:
            yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 1814 "grammar.tab.c"
 break;
 case 85:
 #line 820 "grammar.y"
@@ -1765,6 +1821,7 @@ case 85:
            yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
            yyval.declarator->func_def = FUNC_TRADITIONAL;
        }
+#line 1825 "grammar.tab.c"
 break;
 case 86:
 #line 831 "grammar.y"
@@ -1772,6 +1829,7 @@ case 86:
            (void)sprintf(yyval.text.text, "*%.*s", TEXT_LEN, yystack.l_mark[0].text.text);
            yyval.text.begin = yystack.l_mark[-1].text.begin;
        }
+#line 1833 "grammar.tab.c"
 break;
 case 87:
 #line 836 "grammar.y"
@@ -1779,6 +1837,7 @@ case 87:
            (void)sprintf(yyval.text.text, "*%.*s%.*s", TEXT_LEN, yystack.l_mark[-1].text.text, TEXT_LEN, yystack.l_mark[0].text.text);
            yyval.text.begin = yystack.l_mark[-2].text.begin;
        }
+#line 1841 "grammar.tab.c"
 break;
 case 88:
 #line 844 "grammar.y"
@@ -1786,6 +1845,7 @@ case 88:
            strcpy(yyval.text.text, "");
            yyval.text.begin = 0L;
        }
+#line 1849 "grammar.tab.c"
 break;
 case 90:
 #line 853 "grammar.y"
@@ -1794,6 +1854,7 @@ case 90:
            yyval.text.begin = yystack.l_mark[0].decl_spec.begin;
            free(yystack.l_mark[0].decl_spec.text);
        }
+#line 1858 "grammar.tab.c"
 break;
 case 91:
 #line 859 "grammar.y"
@@ -1802,24 +1863,28 @@ case 91:
            yyval.text.begin = yystack.l_mark[-1].text.begin;
            free(yystack.l_mark[0].decl_spec.text);
        }
+#line 1867 "grammar.tab.c"
 break;
 case 93:
 #line 869 "grammar.y"
        {
            add_ident_list(&yyval.param_list, &yystack.l_mark[-2].param_list, "...");
        }
+#line 1874 "grammar.tab.c"
 break;
 case 94:
 #line 876 "grammar.y"
        {
            new_param_list(&yyval.param_list, yystack.l_mark[0].parameter);
        }
+#line 1881 "grammar.tab.c"
 break;
 case 95:
 #line 880 "grammar.y"
        {
            add_param_list(&yyval.param_list, &yystack.l_mark[-2].param_list, yystack.l_mark[0].parameter);
        }
+#line 1888 "grammar.tab.c"
 break;
 case 96:
 #line 887 "grammar.y"
@@ -1827,6 +1892,7 @@ case 96:
            check_untagged(&yystack.l_mark[-1].decl_spec);
            yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator);
        }
+#line 1896 "grammar.tab.c"
 break;
 case 97:
 #line 892 "grammar.y"
@@ -1834,6 +1900,7 @@ case 97:
            check_untagged(&yystack.l_mark[-1].decl_spec);
            yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator);
        }
+#line 1904 "grammar.tab.c"
 break;
 case 98:
 #line 897 "grammar.y"
@@ -1841,12 +1908,14 @@ case 98:
            check_untagged(&yystack.l_mark[0].decl_spec);
            yyval.parameter = new_parameter(&yystack.l_mark[0].decl_spec, (Declarator *)0);
        }
+#line 1912 "grammar.tab.c"
 break;
 case 99:
 #line 905 "grammar.y"
        {
            new_ident_list(&yyval.param_list);
        }
+#line 1919 "grammar.tab.c"
 break;
 case 101:
 #line 913 "grammar.y"
@@ -1854,18 +1923,21 @@ case 101:
            new_ident_list(&yyval.param_list);
            add_ident_list(&yyval.param_list, &yyval.param_list, yystack.l_mark[0].text.text);
        }
+#line 1927 "grammar.tab.c"
 break;
 case 102:
 #line 918 "grammar.y"
        {
            add_ident_list(&yyval.param_list, &yystack.l_mark[-2].param_list, yystack.l_mark[0].text.text);
        }
+#line 1934 "grammar.tab.c"
 break;
 case 103:
 #line 925 "grammar.y"
        {
            yyval.text = yystack.l_mark[0].text;
        }
+#line 1941 "grammar.tab.c"
 break;
 case 104:
 #line 929 "grammar.y"
@@ -1878,12 +1950,14 @@ case 104:
                (void)sprintf(yyval.text.text, "&%.*s", TEXT_LEN, yystack.l_mark[0].text.text);
            yyval.text.begin = yystack.l_mark[-1].text.begin;
        }
+#line 1954 "grammar.tab.c"
 break;
 case 105:
 #line 942 "grammar.y"
        {
            yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin);
        }
+#line 1961 "grammar.tab.c"
 break;
 case 106:
 #line 946 "grammar.y"
@@ -1894,6 +1968,7 @@ case 106:
            yyval.declarator->text = xstrdup(buf);
            yyval.declarator->begin = yystack.l_mark[-1].text.begin;
        }
+#line 1972 "grammar.tab.c"
 break;
 case 108:
 #line 958 "grammar.y"
@@ -1904,6 +1979,7 @@ case 108:
            yyval.declarator->text = xstrdup(buf);
            yyval.declarator->begin = yystack.l_mark[-2].text.begin;
        }
+#line 1983 "grammar.tab.c"
 break;
 case 109:
 #line 966 "grammar.y"
@@ -1913,12 +1989,14 @@ case 109:
            free(yyval.declarator->text);
            yyval.declarator->text = xstrdup(buf);
        }
+#line 1993 "grammar.tab.c"
 break;
 case 110:
 #line 973 "grammar.y"
        {
            yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin);
        }
+#line 2000 "grammar.tab.c"
 break;
 case 111:
 #line 977 "grammar.y"
@@ -1929,6 +2007,7 @@ case 111:
            yyval.declarator->head = (yystack.l_mark[-3].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-3].declarator->head;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2011 "grammar.tab.c"
 break;
 case 112:
 #line 985 "grammar.y"
@@ -1938,6 +2017,7 @@ case 112:
            yyval.declarator->head = (yystack.l_mark[-2].declarator->func_stack == NULL) ? yyval.declarator : yystack.l_mark[-2].declarator->head;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2021 "grammar.tab.c"
 break;
 case 113:
 #line 992 "grammar.y"
@@ -1951,6 +2031,7 @@ case 113:
            yyval.declarator->head = yyval.declarator;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2035 "grammar.tab.c"
 break;
 case 114:
 #line 1003 "grammar.y"
@@ -1963,8 +2044,9 @@ case 114:
            yyval.declarator->head = yyval.declarator;
            yyval.declarator->func_def = FUNC_ANSI;
        }
+#line 2048 "grammar.tab.c"
 break;
-#line 1968 "grammar.tab.c"
+#line 2050 "grammar.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index f69a74a..c4d890b 100644 (file)
@@ -5,6 +5,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -18,3 +19,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index 6710162..7f74f49 100644 (file)
@@ -4,6 +4,7 @@ Options:
   -b file_prefix        set filename prefix (default "y.")
   -B                    create a backtracking parser
   -d                    write definitions (.tab.h)
+  -h                    print this help-message
   -H defines_file       write definitions to defines_file
   -i                    write interface (y.tab.i)
   -g                    write a graphical description
@@ -17,3 +18,13 @@ Options:
   -t                    add debugging support
   -v                    write description (y.output)
   -V                    show version information and exit
+
+Long options:
+  --defines             -H
+  --file-prefix         -b
+  --graph               -g
+  --help                -h
+  --name-prefix         -p
+  --no-lines            -l
+  --output              -o
+  --version             -V
index ba107d0..7eeadf6 100644 (file)
@@ -599,64 +599,79 @@ yyreduce:
 case 3:
 #line 66 "ok_syntax1.y"
        {  yyerrok ; }
+#line 603 "ok_syntax1.tab.c"
 break;
 case 4:
 #line 70 "ok_syntax1.y"
        {  printf("%d\n",yystack.l_mark[0].ival);}
+#line 608 "ok_syntax1.tab.c"
 break;
 case 5:
 #line 72 "ok_syntax1.y"
        {  regs[yystack.l_mark[-2].ival] = yystack.l_mark[0].ival; }
+#line 613 "ok_syntax1.tab.c"
 break;
 case 6:
 #line 76 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-1].ival; }
+#line 618 "ok_syntax1.tab.c"
 break;
 case 7:
 #line 78 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival + yystack.l_mark[0].ival; }
+#line 623 "ok_syntax1.tab.c"
 break;
 case 8:
 #line 80 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival - yystack.l_mark[0].ival; }
+#line 628 "ok_syntax1.tab.c"
 break;
 case 9:
 #line 82 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival * yystack.l_mark[0].ival; }
+#line 633 "ok_syntax1.tab.c"
 break;
 case 10:
 #line 84 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival / yystack.l_mark[0].ival; }
+#line 638 "ok_syntax1.tab.c"
 break;
 case 11:
 #line 86 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival % yystack.l_mark[0].ival; }
+#line 643 "ok_syntax1.tab.c"
 break;
 case 12:
 #line 88 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival & yystack.l_mark[0].ival; }
+#line 648 "ok_syntax1.tab.c"
 break;
 case 13:
 #line 90 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[-2].ival | yystack.l_mark[0].ival; }
+#line 653 "ok_syntax1.tab.c"
 break;
 case 14:
 #line 92 "ok_syntax1.y"
        {  yyval.ival = - yystack.l_mark[0].ival; }
+#line 658 "ok_syntax1.tab.c"
 break;
 case 15:
 #line 94 "ok_syntax1.y"
        {  yyval.ival = regs[yystack.l_mark[0].ival]; }
+#line 663 "ok_syntax1.tab.c"
 break;
 case 17:
 #line 99 "ok_syntax1.y"
        {  yyval.ival = yystack.l_mark[0].ival; (*base) = (yystack.l_mark[0].ival==0) ? 8 : 10; }
+#line 668 "ok_syntax1.tab.c"
 break;
 case 18:
 #line 101 "ok_syntax1.y"
        {  yyval.ival = (*base) * yystack.l_mark[-1].ival + yystack.l_mark[0].ival; }
+#line 673 "ok_syntax1.tab.c"
 break;
-#line 660 "ok_syntax1.tab.c"
+#line 675 "ok_syntax1.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 935d43d..f5f53f2 100644 (file)
@@ -571,64 +571,79 @@ yyreduce:
 case 3:
 #line 34 "pure_calc.y"
        {  yyerrok ; }
+#line 575 "pure_calc.tab.c"
 break;
 case 4:
 #line 38 "pure_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 580 "pure_calc.tab.c"
 break;
 case 5:
 #line 40 "pure_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 585 "pure_calc.tab.c"
 break;
 case 6:
 #line 44 "pure_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 590 "pure_calc.tab.c"
 break;
 case 7:
 #line 46 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 595 "pure_calc.tab.c"
 break;
 case 8:
 #line 48 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 600 "pure_calc.tab.c"
 break;
 case 9:
 #line 50 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 605 "pure_calc.tab.c"
 break;
 case 10:
 #line 52 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 610 "pure_calc.tab.c"
 break;
 case 11:
 #line 54 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 615 "pure_calc.tab.c"
 break;
 case 12:
 #line 56 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 620 "pure_calc.tab.c"
 break;
 case 13:
 #line 58 "pure_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 625 "pure_calc.tab.c"
 break;
 case 14:
 #line 60 "pure_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 630 "pure_calc.tab.c"
 break;
 case 15:
 #line 62 "pure_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 635 "pure_calc.tab.c"
 break;
 case 17:
 #line 67 "pure_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 640 "pure_calc.tab.c"
 break;
 case 18:
 #line 69 "pure_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 645 "pure_calc.tab.c"
 break;
-#line 632 "pure_calc.tab.c"
+#line 647 "pure_calc.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 1ba9601..4247180 100644 (file)
@@ -569,64 +569,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc.y"
        {  yyerrok ; }
+#line 573 "quote_calc-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 578 "quote_calc-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 583 "quote_calc-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 588 "quote_calc-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 593 "quote_calc-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 598 "quote_calc-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 603 "quote_calc-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 608 "quote_calc-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 613 "quote_calc-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 618 "quote_calc-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 623 "quote_calc-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 628 "quote_calc-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 633 "quote_calc-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 638 "quote_calc-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 643 "quote_calc-s.tab.c"
 break;
-#line 630 "quote_calc-s.tab.c"
+#line 645 "quote_calc-s.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 2159ff8..87c82ea 100644 (file)
@@ -575,64 +575,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc.y"
        {  yyerrok ; }
+#line 579 "quote_calc.tab.c"
 break;
 case 4:
 #line 39 "quote_calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 584 "quote_calc.tab.c"
 break;
 case 5:
 #line 41 "quote_calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 589 "quote_calc.tab.c"
 break;
 case 6:
 #line 45 "quote_calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 594 "quote_calc.tab.c"
 break;
 case 7:
 #line 47 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 599 "quote_calc.tab.c"
 break;
 case 8:
 #line 49 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 604 "quote_calc.tab.c"
 break;
 case 9:
 #line 51 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 609 "quote_calc.tab.c"
 break;
 case 10:
 #line 53 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 614 "quote_calc.tab.c"
 break;
 case 11:
 #line 55 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 619 "quote_calc.tab.c"
 break;
 case 12:
 #line 57 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 624 "quote_calc.tab.c"
 break;
 case 13:
 #line 59 "quote_calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 629 "quote_calc.tab.c"
 break;
 case 14:
 #line 61 "quote_calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 634 "quote_calc.tab.c"
 break;
 case 15:
 #line 63 "quote_calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 639 "quote_calc.tab.c"
 break;
 case 17:
 #line 68 "quote_calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 644 "quote_calc.tab.c"
 break;
 case 18:
 #line 70 "quote_calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 649 "quote_calc.tab.c"
 break;
-#line 636 "quote_calc.tab.c"
+#line 651 "quote_calc.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 9a07950..8f30093 100644 (file)
@@ -569,64 +569,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc2.y"
        {  yyerrok ; }
+#line 573 "quote_calc2-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc2.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 578 "quote_calc2-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc2.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 583 "quote_calc2-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc2.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 588 "quote_calc2-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 593 "quote_calc2-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 598 "quote_calc2-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 603 "quote_calc2-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 608 "quote_calc2-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 613 "quote_calc2-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 618 "quote_calc2-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 623 "quote_calc2-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc2.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 628 "quote_calc2-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc2.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 633 "quote_calc2-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc2.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 638 "quote_calc2-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc2.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 643 "quote_calc2-s.tab.c"
 break;
-#line 630 "quote_calc2-s.tab.c"
+#line 645 "quote_calc2-s.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 2768685..1ccd3fc 100644 (file)
@@ -575,64 +575,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc2.y"
        {  yyerrok ; }
+#line 579 "quote_calc2.tab.c"
 break;
 case 4:
 #line 39 "quote_calc2.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 584 "quote_calc2.tab.c"
 break;
 case 5:
 #line 41 "quote_calc2.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 589 "quote_calc2.tab.c"
 break;
 case 6:
 #line 45 "quote_calc2.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 594 "quote_calc2.tab.c"
 break;
 case 7:
 #line 47 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 599 "quote_calc2.tab.c"
 break;
 case 8:
 #line 49 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 604 "quote_calc2.tab.c"
 break;
 case 9:
 #line 51 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 609 "quote_calc2.tab.c"
 break;
 case 10:
 #line 53 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 614 "quote_calc2.tab.c"
 break;
 case 11:
 #line 55 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 619 "quote_calc2.tab.c"
 break;
 case 12:
 #line 57 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 624 "quote_calc2.tab.c"
 break;
 case 13:
 #line 59 "quote_calc2.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 629 "quote_calc2.tab.c"
 break;
 case 14:
 #line 61 "quote_calc2.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 634 "quote_calc2.tab.c"
 break;
 case 15:
 #line 63 "quote_calc2.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 639 "quote_calc2.tab.c"
 break;
 case 17:
 #line 68 "quote_calc2.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 644 "quote_calc2.tab.c"
 break;
 case 18:
 #line 70 "quote_calc2.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 649 "quote_calc2.tab.c"
 break;
-#line 636 "quote_calc2.tab.c"
+#line 651 "quote_calc2.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index e088c9e..351b524 100644 (file)
@@ -570,64 +570,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc3.y"
        {  yyerrok ; }
+#line 574 "quote_calc3-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc3.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 579 "quote_calc3-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc3.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 584 "quote_calc3-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc3.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 589 "quote_calc3-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 594 "quote_calc3-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 599 "quote_calc3-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 604 "quote_calc3-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 609 "quote_calc3-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 614 "quote_calc3-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 619 "quote_calc3-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 624 "quote_calc3-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc3.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 629 "quote_calc3-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc3.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 634 "quote_calc3-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc3.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 639 "quote_calc3-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc3.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 644 "quote_calc3-s.tab.c"
 break;
-#line 631 "quote_calc3-s.tab.c"
+#line 646 "quote_calc3-s.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 653a471..0afa5f2 100644 (file)
@@ -570,64 +570,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc3.y"
        {  yyerrok ; }
+#line 574 "quote_calc3.tab.c"
 break;
 case 4:
 #line 39 "quote_calc3.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 579 "quote_calc3.tab.c"
 break;
 case 5:
 #line 41 "quote_calc3.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 584 "quote_calc3.tab.c"
 break;
 case 6:
 #line 45 "quote_calc3.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 589 "quote_calc3.tab.c"
 break;
 case 7:
 #line 47 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 594 "quote_calc3.tab.c"
 break;
 case 8:
 #line 49 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 599 "quote_calc3.tab.c"
 break;
 case 9:
 #line 51 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 604 "quote_calc3.tab.c"
 break;
 case 10:
 #line 53 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 609 "quote_calc3.tab.c"
 break;
 case 11:
 #line 55 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 614 "quote_calc3.tab.c"
 break;
 case 12:
 #line 57 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 619 "quote_calc3.tab.c"
 break;
 case 13:
 #line 59 "quote_calc3.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 624 "quote_calc3.tab.c"
 break;
 case 14:
 #line 61 "quote_calc3.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 629 "quote_calc3.tab.c"
 break;
 case 15:
 #line 63 "quote_calc3.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 634 "quote_calc3.tab.c"
 break;
 case 17:
 #line 68 "quote_calc3.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 639 "quote_calc3.tab.c"
 break;
 case 18:
 #line 70 "quote_calc3.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 644 "quote_calc3.tab.c"
 break;
-#line 631 "quote_calc3.tab.c"
+#line 646 "quote_calc3.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index cc6fcc1..4008e31 100644 (file)
@@ -570,64 +570,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc4.y"
        {  yyerrok ; }
+#line 574 "quote_calc4-s.tab.c"
 break;
 case 4:
 #line 39 "quote_calc4.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 579 "quote_calc4-s.tab.c"
 break;
 case 5:
 #line 41 "quote_calc4.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 584 "quote_calc4-s.tab.c"
 break;
 case 6:
 #line 45 "quote_calc4.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 589 "quote_calc4-s.tab.c"
 break;
 case 7:
 #line 47 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 594 "quote_calc4-s.tab.c"
 break;
 case 8:
 #line 49 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 599 "quote_calc4-s.tab.c"
 break;
 case 9:
 #line 51 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 604 "quote_calc4-s.tab.c"
 break;
 case 10:
 #line 53 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 609 "quote_calc4-s.tab.c"
 break;
 case 11:
 #line 55 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 614 "quote_calc4-s.tab.c"
 break;
 case 12:
 #line 57 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 619 "quote_calc4-s.tab.c"
 break;
 case 13:
 #line 59 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 624 "quote_calc4-s.tab.c"
 break;
 case 14:
 #line 61 "quote_calc4.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 629 "quote_calc4-s.tab.c"
 break;
 case 15:
 #line 63 "quote_calc4.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 634 "quote_calc4-s.tab.c"
 break;
 case 17:
 #line 68 "quote_calc4.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 639 "quote_calc4-s.tab.c"
 break;
 case 18:
 #line 70 "quote_calc4.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 644 "quote_calc4-s.tab.c"
 break;
-#line 631 "quote_calc4-s.tab.c"
+#line 646 "quote_calc4-s.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 0ef7817..e97c0ed 100644 (file)
@@ -570,64 +570,79 @@ yyreduce:
 case 3:
 #line 35 "quote_calc4.y"
        {  yyerrok ; }
+#line 574 "quote_calc4.tab.c"
 break;
 case 4:
 #line 39 "quote_calc4.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 579 "quote_calc4.tab.c"
 break;
 case 5:
 #line 41 "quote_calc4.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 584 "quote_calc4.tab.c"
 break;
 case 6:
 #line 45 "quote_calc4.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 589 "quote_calc4.tab.c"
 break;
 case 7:
 #line 47 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 594 "quote_calc4.tab.c"
 break;
 case 8:
 #line 49 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 599 "quote_calc4.tab.c"
 break;
 case 9:
 #line 51 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 604 "quote_calc4.tab.c"
 break;
 case 10:
 #line 53 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 609 "quote_calc4.tab.c"
 break;
 case 11:
 #line 55 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 614 "quote_calc4.tab.c"
 break;
 case 12:
 #line 57 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 619 "quote_calc4.tab.c"
 break;
 case 13:
 #line 59 "quote_calc4.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 624 "quote_calc4.tab.c"
 break;
 case 14:
 #line 61 "quote_calc4.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 629 "quote_calc4.tab.c"
 break;
 case 15:
 #line 63 "quote_calc4.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 634 "quote_calc4.tab.c"
 break;
 case 17:
 #line 68 "quote_calc4.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 639 "quote_calc4.tab.c"
 break;
 case 18:
 #line 70 "quote_calc4.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 644 "quote_calc4.tab.c"
 break;
-#line 631 "quote_calc4.tab.c"
+#line 646 "quote_calc4.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 78ee918..e85ce88 100644 (file)
@@ -478,64 +478,79 @@ yyreduce:
 case 3:
 #line 28 "(null)"
        {  yyerrok ; }
+#line 482 "stdin1.calc.c"
 break;
 case 4:
 #line 32 "(null)"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 487 "stdin1.calc.c"
 break;
 case 5:
 #line 34 "(null)"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 492 "stdin1.calc.c"
 break;
 case 6:
 #line 38 "(null)"
        {  yyval = yystack.l_mark[-1]; }
+#line 497 "stdin1.calc.c"
 break;
 case 7:
 #line 40 "(null)"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 502 "stdin1.calc.c"
 break;
 case 8:
 #line 42 "(null)"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 507 "stdin1.calc.c"
 break;
 case 9:
 #line 44 "(null)"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 512 "stdin1.calc.c"
 break;
 case 10:
 #line 46 "(null)"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 517 "stdin1.calc.c"
 break;
 case 11:
 #line 48 "(null)"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 522 "stdin1.calc.c"
 break;
 case 12:
 #line 50 "(null)"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 527 "stdin1.calc.c"
 break;
 case 13:
 #line 52 "(null)"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 532 "stdin1.calc.c"
 break;
 case 14:
 #line 54 "(null)"
        {  yyval = - yystack.l_mark[0]; }
+#line 537 "stdin1.calc.c"
 break;
 case 15:
 #line 56 "(null)"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 542 "stdin1.calc.c"
 break;
 case 17:
 #line 61 "(null)"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 547 "stdin1.calc.c"
 break;
 case 18:
 #line 63 "(null)"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 552 "stdin1.calc.c"
 break;
-#line 539 "stdin1.calc.c"
+#line 554 "stdin1.calc.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 18bfcd3..a707cc6 100644 (file)
@@ -478,64 +478,79 @@ yyreduce:
 case 3:
 #line 28 "calc.y"
        {  yyerrok ; }
+#line 482 "stdin2.calc.c"
 break;
 case 4:
 #line 32 "calc.y"
        {  printf("%d\n",yystack.l_mark[0]);}
+#line 487 "stdin2.calc.c"
 break;
 case 5:
 #line 34 "calc.y"
        {  regs[yystack.l_mark[-2]] = yystack.l_mark[0]; }
+#line 492 "stdin2.calc.c"
 break;
 case 6:
 #line 38 "calc.y"
        {  yyval = yystack.l_mark[-1]; }
+#line 497 "stdin2.calc.c"
 break;
 case 7:
 #line 40 "calc.y"
        {  yyval = yystack.l_mark[-2] + yystack.l_mark[0]; }
+#line 502 "stdin2.calc.c"
 break;
 case 8:
 #line 42 "calc.y"
        {  yyval = yystack.l_mark[-2] - yystack.l_mark[0]; }
+#line 507 "stdin2.calc.c"
 break;
 case 9:
 #line 44 "calc.y"
        {  yyval = yystack.l_mark[-2] * yystack.l_mark[0]; }
+#line 512 "stdin2.calc.c"
 break;
 case 10:
 #line 46 "calc.y"
        {  yyval = yystack.l_mark[-2] / yystack.l_mark[0]; }
+#line 517 "stdin2.calc.c"
 break;
 case 11:
 #line 48 "calc.y"
        {  yyval = yystack.l_mark[-2] % yystack.l_mark[0]; }
+#line 522 "stdin2.calc.c"
 break;
 case 12:
 #line 50 "calc.y"
        {  yyval = yystack.l_mark[-2] & yystack.l_mark[0]; }
+#line 527 "stdin2.calc.c"
 break;
 case 13:
 #line 52 "calc.y"
        {  yyval = yystack.l_mark[-2] | yystack.l_mark[0]; }
+#line 532 "stdin2.calc.c"
 break;
 case 14:
 #line 54 "calc.y"
        {  yyval = - yystack.l_mark[0]; }
+#line 537 "stdin2.calc.c"
 break;
 case 15:
 #line 56 "calc.y"
        {  yyval = regs[yystack.l_mark[0]]; }
+#line 542 "stdin2.calc.c"
 break;
 case 17:
 #line 61 "calc.y"
        {  yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; }
+#line 547 "stdin2.calc.c"
 break;
 case 18:
 #line 63 "calc.y"
        {  yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; }
+#line 552 "stdin2.calc.c"
 break;
-#line 539 "stdin2.calc.c"
+#line 554 "stdin2.calc.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
index 21f961e..a5f4d3f 100644 (file)
@@ -694,78 +694,91 @@ case 3:
        {
                (void) printf("%15.8f\n", yystack.l_mark[-1].dval);
        }
+#line 698 "varsyntax_calc1.tab.c"
 break;
 case 4:
 #line 63 "varsyntax_calc1.y"
        {
                (void) printf("(%15.8f, %15.8f)\n", yystack.l_mark[-1].vval.lo, yystack.l_mark[-1].vval.hi);
        }
+#line 705 "varsyntax_calc1.tab.c"
 break;
 case 5:
 #line 67 "varsyntax_calc1.y"
        {
                dreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].dval;
        }
+#line 712 "varsyntax_calc1.tab.c"
 break;
 case 6:
 #line 71 "varsyntax_calc1.y"
        {
                vreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].vval;
        }
+#line 719 "varsyntax_calc1.tab.c"
 break;
 case 7:
 #line 75 "varsyntax_calc1.y"
        {
                yyerrok;
        }
+#line 726 "varsyntax_calc1.tab.c"
 break;
 case 9:
 #line 82 "varsyntax_calc1.y"
        {
                yyval.dval = dreg[yystack.l_mark[0].ival]; /* $$ & $1 are sufficient here*/
        }
+#line 733 "varsyntax_calc1.tab.c"
 break;
 case 10:
 #line 86 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval;
        }
+#line 740 "varsyntax_calc1.tab.c"
 break;
 case 11:
 #line 90 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval;
        }
+#line 747 "varsyntax_calc1.tab.c"
 break;
 case 12:
 #line 94 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval;
        }
+#line 754 "varsyntax_calc1.tab.c"
 break;
 case 13:
 #line 98 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval;
        }
+#line 761 "varsyntax_calc1.tab.c"
 break;
 case 14:
 #line 102 "varsyntax_calc1.y"
        {
                yyval.dval = -yystack.l_mark[0].dval;
        }
+#line 768 "varsyntax_calc1.tab.c"
 break;
 case 15:
 #line 106 "varsyntax_calc1.y"
        {
                yyval.dval = yystack.l_mark[-1].dval;
        }
+#line 775 "varsyntax_calc1.tab.c"
 break;
 case 16:
 #line 112 "varsyntax_calc1.y"
        {
                yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval;
        }
+#line 782 "varsyntax_calc1.tab.c"
 break;
 case 17:
 #line 116 "varsyntax_calc1.y"
@@ -778,12 +791,14 @@ case 17:
                        YYERROR;
                }
        }
+#line 795 "varsyntax_calc1.tab.c"
 break;
 case 18:
 #line 126 "varsyntax_calc1.y"
        {
                yyval.vval = vreg[yystack.l_mark[0].ival];
        }
+#line 802 "varsyntax_calc1.tab.c"
 break;
 case 19:
 #line 130 "varsyntax_calc1.y"
@@ -791,6 +806,7 @@ case 19:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo + yystack.l_mark[0].vval.lo;
        }
+#line 810 "varsyntax_calc1.tab.c"
 break;
 case 20:
 #line 135 "varsyntax_calc1.y"
@@ -798,6 +814,7 @@ case 20:
                yyval.vval.hi = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.hi;
                yyval.vval.lo = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.lo;
        }
+#line 818 "varsyntax_calc1.tab.c"
 break;
 case 21:
 #line 140 "varsyntax_calc1.y"
@@ -805,6 +822,7 @@ case 21:
                yyval.vval.hi = yystack.l_mark[-2].vval.hi - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].vval.lo - yystack.l_mark[0].vval.hi;
        }
+#line 826 "varsyntax_calc1.tab.c"
 break;
 case 22:
 #line 145 "varsyntax_calc1.y"
@@ -812,18 +830,21 @@ case 22:
                yyval.vval.hi = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.lo;
                yyval.vval.lo = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.hi;
        }
+#line 834 "varsyntax_calc1.tab.c"
 break;
 case 23:
 #line 150 "varsyntax_calc1.y"
        {
                yyval.vval = vmul( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 841 "varsyntax_calc1.tab.c"
 break;
 case 24:
 #line 154 "varsyntax_calc1.y"
        {
                yyval.vval = vmul (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 848 "varsyntax_calc1.tab.c"
 break;
 case 25:
 #line 158 "varsyntax_calc1.y"
@@ -831,6 +852,7 @@ case 25:
                if (dcheck(yystack.l_mark[0].vval)) YYERROR;
                yyval.vval = vdiv ( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval );
        }
+#line 856 "varsyntax_calc1.tab.c"
 break;
 case 26:
 #line 163 "varsyntax_calc1.y"
@@ -838,6 +860,7 @@ case 26:
                if (dcheck ( yystack.l_mark[0].vval )) YYERROR;
                yyval.vval = vdiv (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval );
        }
+#line 864 "varsyntax_calc1.tab.c"
 break;
 case 27:
 #line 168 "varsyntax_calc1.y"
@@ -845,14 +868,16 @@ case 27:
                yyval.vval.hi = -yystack.l_mark[0].vval.lo;
                yyval.vval.lo = -yystack.l_mark[0].vval.hi;
        }
+#line 872 "varsyntax_calc1.tab.c"
 break;
 case 28:
 #line 173 "varsyntax_calc1.y"
        {
                yyval.vval = yystack.l_mark[-1].vval;
        }
+#line 879 "varsyntax_calc1.tab.c"
 break;
-#line 856 "varsyntax_calc1.tab.c"
+#line 881 "varsyntax_calc1.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;
diff --git a/yacc.1 b/yacc.1
index 8fab760..9173d20 100644 (file)
--- a/yacc.1
+++ b/yacc.1
@@ -1,4 +1,4 @@
-.\" $Id: yacc.1,v 1.36 2021/03/28 16:39:46 tom Exp $
+.\" $Id: yacc.1,v 1.37 2021/08/02 23:55:03 tom Exp $
 .\"
 .\" .TH YACC 1 "July\ 15,\ 1990"
 .\" .UC 6
@@ -31,7 +31,7 @@
 .SH NAME
 \*N \- an LALR(1) parser generator
 .SH SYNOPSIS
-.B \*n [ \-BdgilLPrtvVy ] [ \-b
+.B \*n [ \-BdghilLPrtvVy ] [ \-b
 .I file_prefix
 .B ] [ \-H
 .I defines_file
@@ -72,6 +72,9 @@ causes the header file
 to be written.
 It contains #define's for the token identifiers.
 .TP
+.B \-h
+print a usage message.
+.TP
 \fB\-H \fP\fIdefines_file\fR
 causes #define's for the token identifiers
 to be written to the given \fIdefines_file\fP rather
@@ -204,6 +207,7 @@ A single \fIfilename\fP parameter is expected after a \*(``\-\-\*('' marker.
 .B \*N
 provides some extensions for
 compatibility with bison and other implementations of yacc.
+It accepts several \fIlong options\fP which have equivalents in \*n.
 The \fB%destructor\fP and \fB%locations\fP features are available
 only if \fB\*n\fP has been configured and compiled to support the
 back-tracking (\fBbtyacc\fP) functionality.