summaryrefslogtreecommitdiffstats
path: root/usr.bin/yacc/tests/regress.02.out
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/yacc/tests/regress.02.out')
-rw-r--r--usr.bin/yacc/tests/regress.02.out831
1 files changed, 0 insertions, 831 deletions
diff --git a/usr.bin/yacc/tests/regress.02.out b/usr.bin/yacc/tests/regress.02.out
deleted file mode 100644
index 30de536..0000000
--- a/usr.bin/yacc/tests/regress.02.out
+++ /dev/null
@@ -1,831 +0,0 @@
-#ifndef lint
-static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
-#endif
-
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define YYPATCH 20140101
-
-#define YYEMPTY (-1)
-#define yyclearin (yychar = YYEMPTY)
-#define yyerrok (yyerrflag = 0)
-#define YYRECOVERING() (yyerrflag != 0)
-
-#define YYPREFIX "yy"
-
-#define YYPURE 0
-
-#line 2 "calc1.y"
-
-/* http://dinosaur.compilertools.net/yacc/index.html */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <math.h>
-
-typedef struct interval
-{
- double lo, hi;
-}
-INTERVAL;
-
-INTERVAL vmul(double, double, INTERVAL);
-INTERVAL vdiv(double, double, INTERVAL);
-
-extern int yylex(void);
-static void yyerror(const char *s);
-
-int dcheck(INTERVAL);
-
-double dreg[26];
-INTERVAL vreg[26];
-
-#line 31 "calc1.y"
-#ifdef YYSTYPE
-#undef YYSTYPE_IS_DECLARED
-#define YYSTYPE_IS_DECLARED 1
-#endif
-#ifndef YYSTYPE_IS_DECLARED
-#define YYSTYPE_IS_DECLARED 1
-typedef union
-{
- int ival;
- double dval;
- INTERVAL vval;
-} YYSTYPE;
-#endif /* !YYSTYPE_IS_DECLARED */
-#line 59 "/dev/stdout"
-
-/* compatibility with bison */
-#ifdef YYPARSE_PARAM
-/* compatibility with FreeBSD */
-# ifdef YYPARSE_PARAM_TYPE
-# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
-# else
-# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
-# endif
-#else
-# define YYPARSE_DECL() yyparse(void)
-#endif
-
-/* Parameters sent to lex. */
-#ifdef YYLEX_PARAM
-# define YYLEX_DECL() yylex(void *YYLEX_PARAM)
-# define YYLEX yylex(YYLEX_PARAM)
-#else
-# define YYLEX_DECL() yylex(void)
-# define YYLEX yylex()
-#endif
-
-/* Parameters sent to yyerror. */
-#ifndef YYERROR_DECL
-#define YYERROR_DECL() yyerror(const char *s)
-#endif
-#ifndef YYERROR_CALL
-#define YYERROR_CALL(msg) yyerror(msg)
-#endif
-
-extern int YYPARSE_DECL();
-
-#define DREG 257
-#define VREG 258
-#define CONST 259
-#define UMINUS 260
-#define YYERRCODE 256
-static const short yylhs[] = { -1,
- 3, 3, 0, 0, 0, 0, 0, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
-};
-static const short yylen[] = { 2,
- 0, 2, 2, 2, 4, 4, 2, 1, 1, 3,
- 3, 3, 3, 2, 3, 1, 5, 1, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 3,
-};
-static const short yydefred[] = { 0,
- 0, 0, 0, 8, 0, 0, 0, 0, 0, 7,
- 0, 0, 9, 18, 14, 27, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0, 0, 4, 0, 0,
- 0, 0, 0, 15, 0, 28, 0, 0, 0, 0,
- 12, 24, 13, 26, 0, 0, 23, 25, 14, 0,
- 0, 0, 0, 0, 5, 6, 0, 0, 0, 12,
- 13, 17,
-};
-static const short yydgoto[] = { 7,
- 32, 9, 0,
-};
-static const short yysindex[] = { -40,
- -8, -48, -47, 0, -37, -37, 0, 2, 17, 0,
- -34, -37, 0, 0, 0, 0, -25, 90, -37, -37,
- -37, -37, 0, -37, -37, -37, -37, 0, -34, -34,
- 25, 125, 31, 0, -34, 0, -11, 37, -11, 37,
- 0, 0, 0, 0, 37, 37, 0, 0, 0, 111,
- -34, -34, -34, -34, 0, 0, 118, 69, 69, 0,
- 0, 0,
-};
-static const short yyrindex[] = { 0,
- 0, 38, 44, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -9, 0, 0, 0, 0, 51, -3, 56, 61,
- 0, 0, 0, 0, 67, 72, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 78, 83, 0,
- 0, 0,
-};
-static const short yygindex[] = { 0,
- 4, 124, 0,
-};
-#define YYTABLESIZE 225
-static const short yytable[] = { 6,
- 16, 10, 6, 8, 5, 30, 20, 5, 15, 17,
- 29, 23, 11, 12, 31, 34, 21, 19, 35, 20,
- 0, 22, 37, 39, 41, 43, 28, 0, 0, 0,
- 21, 16, 49, 50, 55, 22, 0, 20, 57, 20,
- 56, 20, 0, 21, 19, 0, 20, 9, 22, 0,
- 0, 0, 0, 18, 58, 59, 60, 61, 26, 24,
- 10, 25, 0, 27, 0, 11, 53, 51, 0, 52,
- 22, 54, 26, 24, 0, 25, 19, 27, 26, 9,
- 9, 21, 9, 27, 9, 18, 18, 10, 18, 0,
- 18, 10, 11, 10, 10, 10, 11, 0, 11, 11,
- 11, 22, 0, 22, 0, 22, 0, 19, 0, 19,
- 53, 19, 21, 0, 21, 54, 21, 0, 10, 0,
- 10, 0, 10, 11, 0, 11, 0, 11, 16, 18,
- 36, 26, 24, 0, 25, 33, 27, 0, 0, 0,
- 0, 0, 38, 40, 42, 44, 0, 45, 46, 47,
- 48, 34, 53, 51, 0, 52, 0, 54, 62, 53,
- 51, 0, 52, 0, 54, 0, 21, 19, 0, 20,
- 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 2, 3, 4, 13,
- 14, 4, 13, 0, 4,
-};
-static const short yycheck[] = { 40,
- 10, 10, 40, 0, 45, 40, 10, 45, 5, 6,
- 45, 10, 61, 61, 11, 41, 42, 43, 44, 45,
- -1, 47, 19, 20, 21, 22, 10, -1, -1, -1,
- 42, 41, 29, 30, 10, 47, -1, 41, 35, 43,
- 10, 45, -1, 42, 43, -1, 45, 10, 47, -1,
- -1, -1, -1, 10, 51, 52, 53, 54, 42, 43,
- 10, 45, -1, 47, -1, 10, 42, 43, -1, 45,
- 10, 47, 42, 43, -1, 45, 10, 47, 42, 42,
- 43, 10, 45, 47, 47, 42, 43, 10, 45, -1,
- 47, 41, 10, 43, 44, 45, 41, -1, 43, 44,
- 45, 41, -1, 43, -1, 45, -1, 41, -1, 43,
- 42, 45, 41, -1, 43, 47, 45, -1, 41, -1,
- 43, -1, 45, 41, -1, 43, -1, 45, 5, 6,
- 41, 42, 43, -1, 45, 12, 47, -1, -1, -1,
- -1, -1, 19, 20, 21, 22, -1, 24, 25, 26,
- 27, 41, 42, 43, -1, 45, -1, 47, 41, 42,
- 43, -1, 45, -1, 47, -1, 42, 43, -1, 45,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 256, 257, 258, 259, 257,
- 258, 259, 257, -1, 259,
-};
-#define YYFINAL 7
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 260
-#define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? (YYMAXTOKEN + 1) : (a))
-#if YYDEBUG
-static const char *yyname[] = {
-
-"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,
-0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,"DREG","VREG","CONST","UMINUS","illegal-symbol",
-};
-static const char *yyrule[] = {
-"$accept : line",
-"lines :",
-"lines : lines line",
-"line : dexp '\\n'",
-"line : vexp '\\n'",
-"line : DREG '=' dexp '\\n'",
-"line : VREG '=' vexp '\\n'",
-"line : error '\\n'",
-"dexp : CONST",
-"dexp : DREG",
-"dexp : dexp '+' dexp",
-"dexp : dexp '-' dexp",
-"dexp : dexp '*' dexp",
-"dexp : dexp '/' dexp",
-"dexp : '-' dexp",
-"dexp : '(' dexp ')'",
-"vexp : dexp",
-"vexp : '(' dexp ',' dexp ')'",
-"vexp : VREG",
-"vexp : vexp '+' vexp",
-"vexp : dexp '+' vexp",
-"vexp : vexp '-' vexp",
-"vexp : dexp '-' vexp",
-"vexp : vexp '*' vexp",
-"vexp : dexp '*' vexp",
-"vexp : vexp '/' vexp",
-"vexp : dexp '/' vexp",
-"vexp : '-' vexp",
-"vexp : '(' vexp ')'",
-
-};
-#endif
-
-int yydebug;
-int yynerrs;
-
-int yyerrflag;
-int yychar;
-YYSTYPE yyval;
-YYSTYPE yylval;
-
-/* define the initial stack-sizes */
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 10000
-#define YYMAXDEPTH 10000
-#endif
-#endif
-
-#define YYINITSTACKSIZE 200
-
-typedef struct {
- unsigned stacksize;
- short *s_base;
- short *s_mark;
- short *s_last;
- YYSTYPE *l_base;
- YYSTYPE *l_mark;
-} YYSTACKDATA;
-/* variables for the parser stack */
-static YYSTACKDATA yystack;
-#line 176 "calc1.y"
- /* beginning of subroutines section */
-
-#define BSZ 50 /* buffer size for floating point numbers */
-
- /* lexical analysis */
-
-static void
-yyerror(const char *s)
-{
- fprintf(stderr, "%s\n", s);
-}
-
-int
-yylex(void)
-{
- int c;
-
- while ((c = getchar()) == ' ')
- { /* skip over blanks */
- }
-
- if (isupper(c))
- {
- yylval.ival = c - 'A';
- return (VREG);
- }
- if (islower(c))
- {
- yylval.ival = c - 'a';
- return (DREG);
- }
-
- if (isdigit(c) || c == '.')
- {
- /* gobble up digits, points, exponents */
- char buf[BSZ + 1], *cp = buf;
- int dot = 0, expr = 0;
-
- for (; (cp - buf) < BSZ; ++cp, c = getchar())
- {
-
- *cp = c;
- if (isdigit(c))
- continue;
- if (c == '.')
- {
- if (dot++ || expr)
- return ('.'); /* will cause syntax error */
- continue;
- }
-
- if (c == 'e')
- {
- if (expr++)
- return ('e'); /* will cause syntax error */
- continue;
- }
-
- /* end of number */
- break;
- }
- *cp = '\0';
-
- if ((cp - buf) >= BSZ)
- printf("constant too long: truncated\n");
- else
- ungetc(c, stdin); /* push back last char read */
- yylval.dval = atof(buf);
- return (CONST);
- }
- return (c);
-}
-
-static INTERVAL
-hilo(double a, double b, double c, double d)
-{
- /* returns the smallest interval containing a, b, c, and d */
- /* used by *, / routines */
- INTERVAL v;
-
- if (a > b)
- {
- v.hi = a;
- v.lo = b;
- }
- else
- {
- v.hi = b;
- v.lo = a;
- }
-
- if (c > d)
- {
- if (c > v.hi)
- v.hi = c;
- if (d < v.lo)
- v.lo = d;
- }
- else
- {
- if (d > v.hi)
- v.hi = d;
- if (c < v.lo)
- v.lo = c;
- }
- return (v);
-}
-
-INTERVAL
-vmul(double a, double b, INTERVAL v)
-{
- return (hilo(a * v.hi, a * v.lo, b * v.hi, b * v.lo));
-}
-
-int
-dcheck(INTERVAL v)
-{
- if (v.hi >= 0. && v.lo <= 0.)
- {
- printf("divisor interval contains 0.\n");
- return (1);
- }
- return (0);
-}
-
-INTERVAL
-vdiv(double a, double b, INTERVAL v)
-{
- return (hilo(a / v.hi, a / v.lo, b / v.hi, b / v.lo));
-}
-#line 406 "/dev/stdout"
-
-#if YYDEBUG
-#include <stdio.h> /* needed for printf */
-#endif
-
-#include <stdlib.h> /* needed for malloc, etc */
-#include <string.h> /* needed for memset */
-
-/* allocate initial stack or double stack size, up to YYMAXDEPTH */
-static int yygrowstack(YYSTACKDATA *data)
-{
- int i;
- unsigned newsize;
- short *newss;
- YYSTYPE *newvs;
-
- if ((newsize = data->stacksize) == 0)
- newsize = YYINITSTACKSIZE;
- else if (newsize >= YYMAXDEPTH)
- return -1;
- else if ((newsize *= 2) > YYMAXDEPTH)
- newsize = YYMAXDEPTH;
-
- i = (int) (data->s_mark - data->s_base);
- newss = (short *)realloc(data->s_base, newsize * sizeof(*newss));
- if (newss == 0)
- return -1;
-
- data->s_base = newss;
- data->s_mark = newss + i;
-
- newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
- if (newvs == 0)
- return -1;
-
- data->l_base = newvs;
- data->l_mark = newvs + i;
-
- data->stacksize = newsize;
- data->s_last = data->s_base + newsize - 1;
- return 0;
-}
-
-#if YYPURE || defined(YY_NO_LEAKS)
-static void yyfreestack(YYSTACKDATA *data)
-{
- free(data->s_base);
- free(data->l_base);
- memset(data, 0, sizeof(*data));
-}
-#else
-#define yyfreestack(data) /* nothing */
-#endif
-
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
-
-int
-YYPARSE_DECL()
-{
- int yym, yyn, yystate;
-#if YYDEBUG
- const char *yys;
-
- if ((yys = getenv("YYDEBUG")) != 0)
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
-#endif
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = YYEMPTY;
- yystate = 0;
-
-#if YYPURE
- memset(&yystack, 0, sizeof(yystack));
-#endif
-
- if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow;
- yystack.s_mark = yystack.s_base;
- yystack.l_mark = yystack.l_base;
- yystate = 0;
- *yystack.s_mark = 0;
-
-yyloop:
- if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = YYLEX) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = yyname[YYTRANSLATE(yychar)];
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
- {
- goto yyoverflow;
- }
- yystate = yytable[yyn];
- *++yystack.s_mark = yytable[yyn];
- *++yystack.l_mark = yylval;
- yychar = YYEMPTY;
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
-
- yyerror("syntax error");
-
- goto yyerrlab;
-
-yyerrlab:
- ++yynerrs;
-
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
- {
- goto yyoverflow;
- }
- yystate = yytable[yyn];
- *++yystack.s_mark = yytable[yyn];
- *++yystack.l_mark = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yystack.s_mark);
-#endif
- if (yystack.s_mark <= yystack.s_base) goto yyabort;
- --yystack.s_mark;
- --yystack.l_mark;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = yyname[YYTRANSLATE(yychar)];
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- yychar = YYEMPTY;
- goto yyloop;
- }
-
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- if (yym)
- yyval = yystack.l_mark[1-yym];
- else
- memset(&yyval, 0, sizeof yyval);
- switch (yyn)
- {
-case 3:
-#line 57 "calc1.y"
- {
- (void) printf("%15.8f\n", yystack.l_mark[-1].dval);
- }
-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);
- }
-break;
-case 5:
-#line 65 "calc1.y"
- {
- dreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].dval;
- }
-break;
-case 6:
-#line 69 "calc1.y"
- {
- vreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].vval;
- }
-break;
-case 7:
-#line 73 "calc1.y"
- {
- yyerrok;
- }
-break;
-case 9:
-#line 80 "calc1.y"
- {
- yyval.dval = dreg[yystack.l_mark[0].ival];
- }
-break;
-case 10:
-#line 84 "calc1.y"
- {
- yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval;
- }
-break;
-case 11:
-#line 88 "calc1.y"
- {
- yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval;
- }
-break;
-case 12:
-#line 92 "calc1.y"
- {
- yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval;
- }
-break;
-case 13:
-#line 96 "calc1.y"
- {
- yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval;
- }
-break;
-case 14:
-#line 100 "calc1.y"
- {
- yyval.dval = -yystack.l_mark[0].dval;
- }
-break;
-case 15:
-#line 104 "calc1.y"
- {
- yyval.dval = yystack.l_mark[-1].dval;
- }
-break;
-case 16:
-#line 110 "calc1.y"
- {
- yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval;
- }
-break;
-case 17:
-#line 114 "calc1.y"
- {
- yyval.vval.lo = yystack.l_mark[-3].dval;
- yyval.vval.hi = yystack.l_mark[-1].dval;
- if ( yyval.vval.lo > yyval.vval.hi )
- {
- (void) printf("interval out of order\n");
- YYERROR;
- }
- }
-break;
-case 18:
-#line 124 "calc1.y"
- {
- yyval.vval = vreg[yystack.l_mark[0].ival];
- }
-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;
- }
-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;
- }
-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;
- }
-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;
- }
-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 );
- }
-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 );
- }
-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 );
- }
-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 );
- }
-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;
- }
-break;
-case 28:
-#line 171 "calc1.y"
- {
- yyval.vval = yystack.l_mark[-1].vval;
- }
-break;
-#line 771 "/dev/stdout"
- }
- yystack.s_mark -= yym;
- yystate = *yystack.s_mark;
- yystack.l_mark -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yystack.s_mark = YYFINAL;
- *++yystack.l_mark = yyval;
- if (yychar < 0)
- {
- if ((yychar = YYLEX) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = yyname[YYTRANSLATE(yychar)];
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
-#endif
- if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
- {
- goto yyoverflow;
- }
- *++yystack.s_mark = (short) yystate;
- *++yystack.l_mark = yyval;
- goto yyloop;
-
-yyoverflow:
- yyerror("yacc stack overflow");
-
-yyabort:
- yyfreestack(&yystack);
- return (1);
-
-yyaccept:
- yyfreestack(&yystack);
- return (0);
-}
OpenPOWER on IntegriCloud