1 /*	$NetBSD: code_calc.tab.c,v 1.1.1.1 2015/01/03 22:58:24 christos Exp $	*/
2 
3 typedef short YYINT;
4 const YYINT calc_lhs[] = {                        -1,
5     0,    0,    0,    1,    1,    2,    2,    2,    2,    2,
6     2,    2,    2,    2,    2,    2,    3,    3,
7 };
8 const YYINT calc_len[] = {                         2,
9     0,    3,    3,    1,    3,    3,    3,    3,    3,    3,
10     3,    3,    3,    2,    1,    1,    1,    2,
11 };
12 const YYINT calc_defred[] = {                      1,
13     0,    0,   17,    0,    0,    0,    0,    0,    0,    3,
14     0,   15,   14,    0,    2,    0,    0,    0,    0,    0,
15     0,    0,   18,    0,    6,    0,    0,    0,    0,    9,
16    10,   11,
17 };
18 const YYINT calc_dgoto[] = {                       1,
19     7,    8,    9,
20 };
21 const YYINT calc_sindex[] = {                      0,
22   -40,   -7,    0,  -55,  -38,  -38,    1,  -29, -247,    0,
23   -38,    0,    0,   22,    0,  -38,  -38,  -38,  -38,  -38,
24   -38,  -38,    0,  -29,    0,   51,   60,  -20,  -20,    0,
25     0,    0,
26 };
27 const YYINT calc_rindex[] = {                      0,
28     0,    0,    0,    2,    0,    0,    0,    9,   -9,    0,
29     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
30     0,    0,    0,   10,    0,   -6,   14,    5,   13,    0,
31     0,    0,
32 };
33 const YYINT calc_gindex[] = {                      0,
34     0,   65,    0,
35 };
36 const YYINT calc_table[] = {                       6,
37    16,    6,   10,   13,    5,   11,    5,   22,   17,   23,
38    15,   15,   20,   18,    7,   19,   22,   21,    4,    5,
39     0,   20,    8,   12,    0,    0,   21,   16,   16,    0,
40     0,   16,   16,   16,   13,   16,    0,   16,   15,   15,
41     0,    0,    7,   15,   15,    7,   15,    7,   15,    7,
42     8,   12,    0,    8,   12,    8,    0,    8,   22,   17,
43     0,    0,   25,   20,   18,    0,   19,    0,   21,   13,
44    14,    0,    0,    0,    0,   24,    0,    0,    0,    0,
45    26,   27,   28,   29,   30,   31,   32,   22,   17,    0,
46     0,    0,   20,   18,   16,   19,   22,   21,    0,    0,
47     0,   20,   18,    0,   19,    0,   21,    0,    0,    0,
48     0,    0,    0,    0,   16,    0,    0,   13,    0,    0,
49     0,    0,    0,    0,    0,   15,    0,    0,    7,    0,
50     0,    0,    0,    0,    0,    0,    8,   12,    0,    0,
51     0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
52     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
53     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
54     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
55     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
56     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
57     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
58     0,    0,    0,    0,    0,    2,    3,    4,    3,   12,
59 };
60 const YYINT calc_check[] = {                      40,
61    10,   40,   10,   10,   45,   61,   45,   37,   38,  257,
62    10,   10,   42,   43,   10,   45,   37,   47,   10,   10,
63    -1,   42,   10,   10,   -1,   -1,   47,   37,   38,   -1,
64    -1,   41,   42,   43,   41,   45,   -1,   47,   37,   38,
65    -1,   -1,   38,   42,   43,   41,   45,   43,   47,   45,
66    38,   38,   -1,   41,   41,   43,   -1,   45,   37,   38,
67    -1,   -1,   41,   42,   43,   -1,   45,   -1,   47,    5,
68     6,   -1,   -1,   -1,   -1,   11,   -1,   -1,   -1,   -1,
69    16,   17,   18,   19,   20,   21,   22,   37,   38,   -1,
70    -1,   -1,   42,   43,  124,   45,   37,   47,   -1,   -1,
71    -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,
72    -1,   -1,   -1,   -1,  124,   -1,   -1,  124,   -1,   -1,
73    -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,  124,   -1,
74    -1,   -1,   -1,   -1,   -1,   -1,  124,  124,   -1,   -1,
75    -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
76    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
77    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
78    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
79    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
80    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
81    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
82    -1,   -1,   -1,   -1,   -1,  256,  257,  258,  257,  258,
83 };
84 #ifndef YYDEBUG
85 #define YYDEBUG 0
86 #endif
87 #if YYDEBUG
88 const char *const calc_name[] = {
89 
90 "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,
91 0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,
92 0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
93 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0,
94 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
95 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
96 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
97 0,0,0,0,0,0,"DIGIT","LETTER","UMINUS",0,0,0,0,0,"illegal-symbol",
98 };
99 const char *const calc_rule[] = {
100 "$accept : list",
101 "list :",
102 "list : list stat '\\n'",
103 "list : list error '\\n'",
104 "stat : expr",
105 "stat : LETTER '=' expr",
106 "expr : '(' expr ')'",
107 "expr : expr '+' expr",
108 "expr : expr '-' expr",
109 "expr : expr '*' expr",
110 "expr : expr '/' expr",
111 "expr : expr '%' expr",
112 "expr : expr '&' expr",
113 "expr : expr '|' expr",
114 "expr : '-' expr",
115 "expr : LETTER",
116 "expr : number",
117 "number : DIGIT",
118 "number : number DIGIT",
119 
120 };
121 #endif
122