1/*	$NetBSD$	*/
2
3
4#ifndef yyparse
5#define yyparse    calc_parse
6#endif /* yyparse */
7
8#ifndef yylex
9#define yylex      calc_lex
10#endif /* yylex */
11
12#ifndef yyerror
13#define yyerror    calc_error
14#endif /* yyerror */
15
16#ifndef yychar
17#define yychar     calc_char
18#endif /* yychar */
19
20#ifndef yyval
21#define yyval      calc_val
22#endif /* yyval */
23
24#ifndef yylval
25#define yylval     calc_lval
26#endif /* yylval */
27
28#ifndef yydebug
29#define yydebug    calc_debug
30#endif /* yydebug */
31
32#ifndef yynerrs
33#define yynerrs    calc_nerrs
34#endif /* yynerrs */
35
36#ifndef yyerrflag
37#define yyerrflag  calc_errflag
38#endif /* yyerrflag */
39
40#ifndef yylhs
41#define yylhs      calc_lhs
42#endif /* yylhs */
43
44#ifndef yylen
45#define yylen      calc_len
46#endif /* yylen */
47
48#ifndef yydefred
49#define yydefred   calc_defred
50#endif /* yydefred */
51
52#ifndef yydgoto
53#define yydgoto    calc_dgoto
54#endif /* yydgoto */
55
56#ifndef yysindex
57#define yysindex   calc_sindex
58#endif /* yysindex */
59
60#ifndef yyrindex
61#define yyrindex   calc_rindex
62#endif /* yyrindex */
63
64#ifndef yygindex
65#define yygindex   calc_gindex
66#endif /* yygindex */
67
68#ifndef yytable
69#define yytable    calc_table
70#endif /* yytable */
71
72#ifndef yycheck
73#define yycheck    calc_check
74#endif /* yycheck */
75
76#ifndef yyname
77#define yyname     calc_name
78#endif /* yyname */
79
80#ifndef yyrule
81#define yyrule     calc_rule
82#endif /* yyrule */
83#define YYPREFIX "calc_"
84const short calc_lhs[] = {                        -1,
85    0,    0,    0,    1,    1,    2,    2,    2,    2,    2,
86    2,    2,    2,    2,    2,    2,    3,    3,
87};
88const short calc_len[] = {                         2,
89    0,    3,    3,    1,    3,    3,    3,    3,    3,    3,
90    3,    3,    3,    2,    1,    1,    1,    2,
91};
92const short calc_defred[] = {                      1,
93    0,    0,   17,    0,    0,    0,    0,    0,    0,    3,
94    0,   15,   14,    0,    2,    0,    0,    0,    0,    0,
95    0,    0,   18,    0,    6,    0,    0,    0,    0,    9,
96   10,   11,
97};
98const short calc_dgoto[] = {                       1,
99    7,    8,    9,
100};
101const short calc_sindex[] = {                      0,
102  -40,   -7,    0,  -55,  -38,  -38,    1,  -29, -247,    0,
103  -38,    0,    0,   22,    0,  -38,  -38,  -38,  -38,  -38,
104  -38,  -38,    0,  -29,    0,   51,   60,  -20,  -20,    0,
105    0,    0,
106};
107const short calc_rindex[] = {                      0,
108    0,    0,    0,    2,    0,    0,    0,    9,   -9,    0,
109    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
110    0,    0,    0,   10,    0,   -6,   14,    5,   13,    0,
111    0,    0,
112};
113const short calc_gindex[] = {                      0,
114    0,   65,    0,
115};
116const short calc_table[] = {                       6,
117   16,    6,   10,   13,    5,   11,    5,   22,   17,   23,
118   15,   15,   20,   18,    7,   19,   22,   21,    4,    5,
119    0,   20,    8,   12,    0,    0,   21,   16,   16,    0,
120    0,   16,   16,   16,   13,   16,    0,   16,   15,   15,
121    0,    0,    7,   15,   15,    7,   15,    7,   15,    7,
122    8,   12,    0,    8,   12,    8,    0,    8,   22,   17,
123    0,    0,   25,   20,   18,    0,   19,    0,   21,   13,
124   14,    0,    0,    0,    0,   24,    0,    0,    0,    0,
125   26,   27,   28,   29,   30,   31,   32,   22,   17,    0,
126    0,    0,   20,   18,   16,   19,   22,   21,    0,    0,
127    0,   20,   18,    0,   19,    0,   21,    0,    0,    0,
128    0,    0,    0,    0,   16,    0,    0,   13,    0,    0,
129    0,    0,    0,    0,    0,   15,    0,    0,    7,    0,
130    0,    0,    0,    0,    0,    0,    8,   12,    0,    0,
131    0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
132    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
133    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
134    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
135    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
136    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
137    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
138    0,    0,    0,    0,    0,    2,    3,    4,    3,   12,
139};
140const short calc_check[] = {                      40,
141   10,   40,   10,   10,   45,   61,   45,   37,   38,  257,
142   10,   10,   42,   43,   10,   45,   37,   47,   10,   10,
143   -1,   42,   10,   10,   -1,   -1,   47,   37,   38,   -1,
144   -1,   41,   42,   43,   41,   45,   -1,   47,   37,   38,
145   -1,   -1,   38,   42,   43,   41,   45,   43,   47,   45,
146   38,   38,   -1,   41,   41,   43,   -1,   45,   37,   38,
147   -1,   -1,   41,   42,   43,   -1,   45,   -1,   47,    5,
148    6,   -1,   -1,   -1,   -1,   11,   -1,   -1,   -1,   -1,
149   16,   17,   18,   19,   20,   21,   22,   37,   38,   -1,
150   -1,   -1,   42,   43,  124,   45,   37,   47,   -1,   -1,
151   -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,
152   -1,   -1,   -1,   -1,  124,   -1,   -1,  124,   -1,   -1,
153   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,  124,   -1,
154   -1,   -1,   -1,   -1,   -1,   -1,  124,  124,   -1,   -1,
155   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
156   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
157   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
158   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
159   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
160   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
161   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
162   -1,   -1,   -1,   -1,   -1,  256,  257,  258,  257,  258,
163};
164#ifndef YYDEBUG
165#define YYDEBUG 0
166#endif
167#if YYDEBUG
168const char *yyname[] = {
169
170"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,
1710,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,
1720,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1730,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0,
1740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1770,0,0,0,0,0,"DIGIT","LETTER","UMINUS",
178};
179const char *yyrule[] = {
180"$accept : list",
181"list :",
182"list : list stat '\\n'",
183"list : list error '\\n'",
184"stat : expr",
185"stat : LETTER '=' expr",
186"expr : '(' expr ')'",
187"expr : expr '+' expr",
188"expr : expr '-' expr",
189"expr : expr '*' expr",
190"expr : expr '/' expr",
191"expr : expr '%' expr",
192"expr : expr '&' expr",
193"expr : expr '|' expr",
194"expr : '-' expr",
195"expr : LETTER",
196"expr : number",
197"number : DIGIT",
198"number : number DIGIT",
199
200};
201#endif
202