]>
git.saurik.com Git - wxWidgets.git/blob - src/common/cwy_tab.c
2 static char yysccsid
[] = "@(#)yaccpar 1.7 (Berkeley) 09/09/90";
13 #define __EXTERN_C__ 1
16 #if defined(__cplusplus) || defined(__STDC__)
17 #if defined(__cplusplus) && defined(__EXTERN_C__)
24 int yyback(int *, int);
26 int read( int , char * , int ) ;
30 /* You may need to put /DLEX_SCANNER in your makefile
31 * if you're using LEX!
32 Last change: JS 13 Jul 97 6:12 pm
35 /* int yyoutput(int); */
41 #if defined(__cplusplus) || defined(__STDC__)
42 #if defined(__cplusplus) && defined(__EXTERN_C__)
49 /* struct pexpr *expr; */
62 #define CLOSE_SQUARE 10
67 0, 0, 1, 1, 1, 2, 2, 2, 3, 3,
68 3, 4, 4, 5, 5, 5, 5, 5, 5, 5,
71 0, 2, 2, 2, 2, 4, 2, 3, 0, 1,
72 3, 3, 1, 1, 1, 1, 3, 3, 5, 1,
74 short yydefred
[] = { 1,
75 0, 0, 0, 0, 2, 0, 5, 3, 0, 0,
76 0, 15, 7, 20, 0, 0, 13, 4, 0, 0,
77 0, 0, 8, 0, 6, 0, 18, 0, 12, 11,
80 short yydgoto
[] = { 1,
83 short yysindex
[] = { 0,
84 -2, 9, 2, 1, 0, 10, 0, 0, 11, -5,
85 17, 0, 0, 0, 14, -1, 0, 0, 33, 38,
86 41, 16, 0, 11, 0, 29, 0, 40, 0, 0,
89 short yyrindex
[] = { 0,
90 0, 0, 0, 0, 0, 0, 0, 0, 42, 21,
91 24, 0, 0, 0, 0, 30, 0, 0, 0, 0,
92 0, 0, 0, 31, 0, 27, 0, 24, 0, 0,
95 short yygindex
[] = { 0,
98 #define YYTABLESIZE 254
99 short yytable
[] = { 3,
100 19, 10, 11, 12, 24, 9, 4, 20, 21, 4,
101 13, 10, 11, 12, 8, 30, 10, 28, 12, 4,
102 9, 7, 18, 23, 4, 16, 16, 22, 14, 14,
103 16, 17, 17, 14, 10, 9, 17, 25, 26, 10,
104 9, 27, 31, 9, 32, 6, 9, 29, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 short yycheck
[] = { 2,
128 9, 1, 2, 3, 6, 4, 9, 13, 14, 9,
129 10, 1, 2, 3, 13, 24, 1, 2, 3, 9,
130 4, 13, 13, 10, 9, 5, 6, 11, 5, 6,
131 10, 5, 6, 10, 5, 5, 10, 5, 1, 10,
132 10, 1, 14, 4, 1, 1, 5, 22, -1, -1,
133 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
136 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
143 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
144 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
146 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
147 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
159 #define YYMAXTOKEN 14
162 "end-of-file","INTEGER","WORD","STRING","OPEN","CLOSE","COMMA","NEWLINE",
163 "ERROR","OPEN_SQUARE","CLOSE_SQUARE","EQUALS",0,"PERIOD","EXP",
166 "$accept : commands",
168 "commands : commands command",
169 "command : WORD PERIOD",
170 "command : expr PERIOD",
171 "command : error PERIOD",
172 "expr : WORD OPEN arglist CLOSE",
173 "expr : OPEN_SQUARE CLOSE_SQUARE",
174 "expr : OPEN_SQUARE arglist CLOSE_SQUARE",
177 "arglist : arg COMMA arglist",
178 "arg : WORD EQUALS arg1",
183 "arg1 : INTEGER PERIOD INTEGER",
184 "arg1 : INTEGER EXP INTEGER",
185 "arg1 : INTEGER PERIOD INTEGER EXP INTEGER",
189 #define yyclearin (yychar=(-1))
190 #define yyerrok (yyerrflag=0)
193 #define YYMAXDEPTH YYSTACKSIZE
197 #define YYSTACKSIZE YYMAXDEPTH
199 #define YYSTACKSIZE 600
200 #define YYMAXDEPTH 600
211 short yyss
[YYSTACKSIZE
];
212 YYSTYPE yyvs
[YYSTACKSIZE
];
213 #define yystacksize YYSTACKSIZE
217 #include "../common/doslex.c"
219 #if (defined(__MWERKS__))
220 #include "../common/cwlex_yy.c"
222 #include "../common/lex_yy.c"
234 /* Ansi prototype. If this doesn't work for you... uncomment
238 void yyerror(char *s
)
244 * Unfortunately, my DOS version of FLEX
245 * requires yywrap to be #def'ed, whereas
246 * the UNIX flex expects a proper function.
249 /* Not sure if __SC__ is the appropriate thing
259 int yywrap() { return 1; }
263 #define YYABORT goto yyabort
264 #define YYACCEPT goto yyaccept
265 #define YYERROR goto yyerrlab
269 register int yym
, yyn
, yystate
;
272 extern char *getenv();
274 if (yys
= getenv("YYDEBUG"))
277 if (yyn
>= '0' && yyn
<= '9')
288 *yyssp
= yystate
= 0;
291 if (yyn
= yydefred
[yystate
]) goto yyreduce
;
294 if ((yychar
= yylex()) < 0) yychar
= 0;
299 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
300 if (!yys
) yys
= "illegal-symbol";
301 printf("yydebug: state %d, reading %d (%s)\n", yystate
,
306 if ((yyn
= yysindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
307 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
311 printf("yydebug: state %d, shifting to state %d\n",
312 yystate
, yytable
[yyn
]);
314 if (yyssp
>= yyss
+ yystacksize
- 1)
318 *++yyssp
= yystate
= yytable
[yyn
];
321 if (yyerrflag
> 0) --yyerrflag
;
324 if ((yyn
= yyrindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
325 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
330 if (yyerrflag
) goto yyinrecovery
;
335 yyerror("syntax error");
347 if ((yyn
= yysindex
[*yyssp
]) && (yyn
+= YYERRCODE
) >= 0 &&
348 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == YYERRCODE
)
352 printf("yydebug: state %d, error recovery shifting\
353 to state %d\n", *yyssp
, yytable
[yyn
]);
355 if (yyssp
>= yyss
+ yystacksize
- 1)
359 *++yyssp
= yystate
= yytable
[yyn
];
367 printf("yydebug: error recovery discarding state %d\n",
370 if (yyssp
<= yyss
) goto yyabort
;
378 if (yychar
== 0) goto yyabort
;
383 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
384 if (!yys
) yys
= "illegal-symbol";
385 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
386 yystate
, yychar
, yys
);
395 printf("yydebug: state %d, reducing by rule %d (%s)\n",
396 yystate
, yyn
, yyrule
[yyn
]);
399 yyval
= yyvsp
[1-yym
];
404 {process_command(proio_cons(wxmake_word(yyvsp
[-1].s
), NULL
)); free(yyvsp
[-1].s
);}
408 {process_command(yyvsp
[-1].s
);}
412 {syntax_error("Unrecognized command.");}
416 {yyval
.s
= proio_cons(wxmake_word(yyvsp
[-3].s
), yyvsp
[-1].s
); free(yyvsp
[-3].s
);}
420 {yyval
.s
= proio_cons(NULL
, NULL
);}
424 {yyval
.s
= yyvsp
[-1].s
; }
432 {yyval
.s
= proio_cons(yyvsp
[0].s
, NULL
);}
436 {yyval
.s
= proio_cons(yyvsp
[-2].s
, yyvsp
[0].s
);}
440 {yyval
.s
= proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp
[-2].s
), proio_cons(yyvsp
[0].s
, NULL
)));
445 {yyval
.s
= yyvsp
[0].s
; }
449 {yyval
.s
= wxmake_word(yyvsp
[0].s
); free(yyvsp
[0].s
);}
453 {yyval
.s
= wxmake_string(yyvsp
[0].s
); free(yyvsp
[0].s
);}
457 {yyval
.s
= wxmake_integer(yyvsp
[0].s
); free(yyvsp
[0].s
);}
461 {yyval
.s
= wxmake_real(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
465 {yyval
.s
= wxmake_exp(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
469 {yyval
.s
= wxmake_exp2(yyvsp
[-4].s
, yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-4].s
); free(yyvsp
[-2].s
);
474 {yyval
.s
= yyvsp
[0].s
;}
482 if (yystate
== 0 && yym
== 0)
486 printf("yydebug: after reduction, shifting from state 0 to\
487 state %d\n", YYFINAL
);
494 if ((yychar
= yylex()) < 0) yychar
= 0;
499 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
500 if (!yys
) yys
= "illegal-symbol";
501 printf("yydebug: state %d, reading %d (%s)\n",
502 YYFINAL
, yychar
, yys
);
506 if (yychar
== 0) goto yyaccept
;
509 if ((yyn
= yygindex
[yym
]) && (yyn
+= yystate
) >= 0 &&
510 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yystate
)
511 yystate
= yytable
[yyn
];
513 yystate
= yydgoto
[yym
];
516 printf("yydebug: after reduction, shifting from state %d \
517 to state %d\n", *yyssp
, yystate
);
519 if (yyssp
>= yyss
+ yystacksize
- 1)
527 yyerror("yacc stack overflow");