+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)
-MANIFEST for byacc-20210619, version t20210619
+MANIFEST for byacc-20210802, version t20210802
--------------------------------------------------------------------------------
MANIFEST this file
ACKNOWLEDGEMENTS original version of byacc - 1993
#! /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
# 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="\
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
# 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 ; } ||
,,) 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
#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 ] &&
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.
# 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
# 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
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*)
;;
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
# 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"
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`
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
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
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 ;;
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"
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
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/' \
-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
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 ;;
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
#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
(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
*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
&& 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
# 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)
/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
# 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
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
}
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.
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
#! /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
# 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="\
| 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 \
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
# 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=
os=cnk
;;
solaris1 | solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
;;
solaris)
os=solaris2
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
;;
# 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
-/* $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>
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;
-/* $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__)
#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)
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;
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;
-/* $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"
if (!lflag && (fp == code_file))
{
++outline;
- fprintf(fp, line_format, outline + 1, code_file_name);
+ fprintf_lineno(fp, outline + 1, code_file_name);
}
}
if (!lflag)
{
++outline;
- fprintf(code_file, line_format, lineno, input_file_name);
+ fprintf_lineno(code_file, lineno, input_file_name);
}
}
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;
}
++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);
}
}
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
+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
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
# $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/
-/* $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);
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++;
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++;
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;
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;
trialaction = (*cptr == L_BRAC);
#endif
- fprintf(f, "case %ld:\n", (long)(nrules - 2));
+ begin_case(f, nrules - 2);
#if defined(YYBTYACC)
if (backtrack)
{
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;
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);
case ';':
if (depth > 0)
goto loop;
- fprintf(f, "\nbreak;\n");
+ end_case(f);
free(a.a_line);
if (maxoffset > 0)
FREE(offsets);
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);
|| 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();
-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
-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
-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
-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
case 2:
#line 51 "btyacc_calc1.y"
{YYVALID;}
+#line 1354 "btyacc_calc1.tab.c"
break;
case 3:
#line 52 "btyacc_calc1.y"
{
yyerrok;
}
+#line 1363 "btyacc_calc1.tab.c"
break;
case 4:
if (!yytrial)
{
(void) printf("%15.8f\n", yystack.l_mark[0].dval);
}
+#line 1371 "btyacc_calc1.tab.c"
break;
case 5:
if (!yytrial)
{
(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)
{
dreg[yystack.l_mark[-2].ival] = yystack.l_mark[0].dval;
}
+#line 1387 "btyacc_calc1.tab.c"
break;
case 7:
if (!yytrial)
{
vreg[yystack.l_mark[-2].ival] = yystack.l_mark[0].vval;
}
+#line 1395 "btyacc_calc1.tab.c"
break;
case 9:
if (!yytrial)
{
yyval.dval = dreg[yystack.l_mark[0].ival];
}
+#line 1403 "btyacc_calc1.tab.c"
break;
case 10:
if (!yytrial)
{
yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval;
}
+#line 1411 "btyacc_calc1.tab.c"
break;
case 11:
if (!yytrial)
{
yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval;
}
+#line 1419 "btyacc_calc1.tab.c"
break;
case 12:
if (!yytrial)
{
yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval;
}
+#line 1427 "btyacc_calc1.tab.c"
break;
case 13:
if (!yytrial)
{
yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval;
}
+#line 1435 "btyacc_calc1.tab.c"
break;
case 14:
if (!yytrial)
{
yyval.dval = -yystack.l_mark[0].dval;
}
+#line 1443 "btyacc_calc1.tab.c"
break;
case 15:
if (!yytrial)
{
yyval.dval = yystack.l_mark[-1].dval;
}
+#line 1451 "btyacc_calc1.tab.c"
break;
case 16:
if (!yytrial)
{
yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval;
}
+#line 1459 "btyacc_calc1.tab.c"
break;
case 17:
if (!yytrial)
YYERROR;
}
}
+#line 1473 "btyacc_calc1.tab.c"
break;
case 18:
if (!yytrial)
{
yyval.vval = vreg[yystack.l_mark[0].ival];
}
+#line 1481 "btyacc_calc1.tab.c"
break;
case 19:
if (!yytrial)
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)
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)
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)
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)
{
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)
{
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)
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)
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)
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)
{
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;
}
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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*/
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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",
(*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
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)
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;
}
free(pp->s); free(pp);
}
}
+#line 511 "btyacc_destroy1.tab.c"
break;
-#line 512 "btyacc_destroy1.tab.c"
}
}
#define YYDESTRUCT_IS_DECLARED 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)
{ 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)
{ 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;
}
free(pp->s); free(pp);
}
}
+#line 511 "btyacc_destroy2.tab.c"
break;
-#line 512 "btyacc_destroy2.tab.c"
}
}
#define YYDESTRUCT_IS_DECLARED 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)
{ 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)
{ 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;
}
free(pp->s); free(pp);
}
}
+#line 511 "btyacc_destroy3.tab.c"
break;
-#line 512 "btyacc_destroy3.tab.c"
}
}
#define YYDESTRUCT_IS_DECLARED 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)
{ 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)
{ 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;
}
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;
}
{
(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"
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"
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"
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"
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"
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"
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"
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"
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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"
{
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"
{
free(pp->s); free(pp);
}
}
+#line 468 "err_inherit3.tab.c"
break;
-#line 469 "err_inherit3.tab.c"
}
}
#define YYDESTRUCT_IS_DECLARED 1
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;
}
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
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;
}
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;
}
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;
}
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;
}
{
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"
* 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"
free_decl_spec(&yystack.l_mark[-1].decl_spec);
end_typedef();
}
+#line 2064 "grammar.tab.c"
break;
case 16:
#line 418 "grammar.y"
free_decl_spec(&yystack.l_mark[-2].decl_spec);
end_typedef();
}
+#line 2081 "grammar.tab.c"
break;
case 17:
#line 432 "grammar.y"
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"
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"
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"
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"
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"
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"
free_decl_spec(&decl_spec);
free_declarator(yystack.l_mark[-4].declarator);
}
+#line 2210 "grammar.tab.c"
break;
case 36:
#line 561 "grammar.y"
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"
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"
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"
(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"
(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"
(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"
}
cur_declarator = yyval.declarator;
}
+#line 2443 "grammar.tab.c"
break;
case 71:
#line 733 "grammar.y"
fputs(" =", cur_file->tmp_file);
}
}
+#line 2454 "grammar.tab.c"
break;
case 73:
#line 745 "grammar.y"
(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"
(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"
(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"
imply_typedef("enum");
yyval.text = yystack.l_mark[0].text;
}
+#line 2490 "grammar.tab.c"
break;
case 79:
#line 780 "grammar.y"
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"
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"
free(yyval.declarator->text);
yyval.declarator->text = xstrdup(buf);
}
+#line 2530 "grammar.tab.c"
break;
case 84:
#line 812 "grammar.y"
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"
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"
(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"
(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"
strcpy(yyval.text.text, "");
yyval.text.begin = 0L;
}
+#line 2576 "grammar.tab.c"
break;
case 90:
#line 853 "grammar.y"
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"
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"
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"
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"
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"
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"
(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"
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"
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"
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"
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"
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"
yyval.declarator->head = yyval.declarator;
yyval.declarator->func_def = FUNC_ANSI;
}
+#line 2762 "grammar.tab.c"
break;
case 114:
#line 1003 "grammar.y"
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;
}
-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
-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
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;
}
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;
}
free(pp->s); free(pp);
}
}
+#line 443 "inherit2.tab.c"
break;
-#line 444 "inherit2.tab.c"
case 264:
#line 30 "inherit2.y"
{
free(pp->s); free(pp);
}
}
+#line 455 "inherit2.tab.c"
break;
-#line 456 "inherit2.tab.c"
case 265:
#line 30 "inherit2.y"
{
free(pp->s); free(pp);
}
}
+#line 467 "inherit2.tab.c"
break;
-#line 468 "inherit2.tab.c"
}
}
#define YYDESTRUCT_IS_DECLARED 1
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;
}
-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
-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
-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
-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
-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
-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
-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
-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
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
{
(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"
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"
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"
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"
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"
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"
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"
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"
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;
}
-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
-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
-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
-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
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;
{
(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"
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"
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"
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"
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"
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"
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"
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"
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
{
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"
* 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"
free_decl_spec(&yystack.l_mark[-1].decl_spec);
end_typedef();
}
+#line 1337 "grammar.tab.c"
break;
case 16:
#line 418 "grammar.y"
free_decl_spec(&yystack.l_mark[-2].decl_spec);
end_typedef();
}
+#line 1354 "grammar.tab.c"
break;
case 17:
#line 432 "grammar.y"
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"
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"
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"
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"
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"
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"
free_decl_spec(&decl_spec);
free_declarator(yystack.l_mark[-4].declarator);
}
+#line 1483 "grammar.tab.c"
break;
case 36:
#line 561 "grammar.y"
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"
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"
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"
(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"
(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"
(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"
}
cur_declarator = yyval.declarator;
}
+#line 1716 "grammar.tab.c"
break;
case 71:
#line 733 "grammar.y"
fputs(" =", cur_file->tmp_file);
}
}
+#line 1727 "grammar.tab.c"
break;
case 73:
#line 745 "grammar.y"
(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"
(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"
(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"
imply_typedef("enum");
yyval.text = yystack.l_mark[0].text;
}
+#line 1763 "grammar.tab.c"
break;
case 79:
#line 780 "grammar.y"
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"
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"
free(yyval.declarator->text);
yyval.declarator->text = xstrdup(buf);
}
+#line 1803 "grammar.tab.c"
break;
case 84:
#line 812 "grammar.y"
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"
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"
(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"
(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"
strcpy(yyval.text.text, "");
yyval.text.begin = 0L;
}
+#line 1849 "grammar.tab.c"
break;
case 90:
#line 853 "grammar.y"
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"
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"
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"
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"
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"
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"
(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"
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"
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"
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"
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"
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"
yyval.declarator->head = yyval.declarator;
yyval.declarator->func_def = FUNC_ANSI;
}
+#line 2035 "grammar.tab.c"
break;
case 114:
#line 1003 "grammar.y"
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;
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
{
(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"
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"
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"
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"
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"
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"
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"
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"
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;
-.\" $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
.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
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
.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.