]>
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__)
22 int PROIO_yyparse(void) {
28 int yyback(int *, int);
30 int read( int , char * , int ) ;
32 int _read( int , void * , size_t ) ;
36 //int fileno( FILE* ) ; This is defined in watcom
43 /* You may need to put /DLEX_SCANNER in your makefile
44 * if you're using LEX!
45 Last change: JS 13 Jul 97 6:12 pm
48 /* int yyoutput(int); */
54 #if defined(__cplusplus) || defined(__STDC__)
55 #if defined(__cplusplus) && defined(__EXTERN_C__)
62 /* struct pexpr *expr; */
75 #define CLOSE_SQUARE 10
80 0, 0, 1, 1, 1, 2, 2, 2, 3, 3,
81 3, 4, 4, 5, 5, 5, 5, 5, 5, 5,
84 0, 2, 2, 2, 2, 4, 2, 3, 0, 1,
85 3, 3, 1, 1, 1, 1, 3, 3, 5, 1,
87 short yydefred
[] = { 1,
88 0, 0, 0, 0, 2, 0, 5, 3, 0, 0,
89 0, 15, 7, 20, 0, 0, 13, 4, 0, 0,
90 0, 0, 8, 0, 6, 0, 18, 0, 12, 11,
93 short yydgoto
[] = { 1,
96 short yysindex
[] = { 0,
97 -2, 9, 2, 1, 0, 10, 0, 0, 11, -5,
98 17, 0, 0, 0, 14, -1, 0, 0, 33, 38,
99 41, 16, 0, 11, 0, 29, 0, 40, 0, 0,
102 short yyrindex
[] = { 0,
103 0, 0, 0, 0, 0, 0, 0, 0, 42, 21,
104 24, 0, 0, 0, 0, 30, 0, 0, 0, 0,
105 0, 0, 0, 31, 0, 27, 0, 24, 0, 0,
108 short yygindex
[] = { 0,
111 #define YYTABLESIZE 254
112 short yytable
[] = { 3,
113 19, 10, 11, 12, 24, 9, 4, 20, 21, 4,
114 13, 10, 11, 12, 8, 30, 10, 28, 12, 4,
115 9, 7, 18, 23, 4, 16, 16, 22, 14, 14,
116 16, 17, 17, 14, 10, 9, 17, 25, 26, 10,
117 9, 27, 31, 9, 32, 6, 9, 29, 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,
125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 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,
140 short yycheck
[] = { 2,
141 9, 1, 2, 3, 6, 4, 9, 13, 14, 9,
142 10, 1, 2, 3, 13, 24, 1, 2, 3, 9,
143 4, 13, 13, 10, 9, 5, 6, 11, 5, 6,
144 10, 5, 6, 10, 5, 5, 10, 5, 1, 10,
145 10, 1, 14, 4, 1, 1, 5, 22, -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,
153 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
154 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
155 -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1,
163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
172 #define YYMAXTOKEN 14
175 "end-of-file","INTEGER","WORD","STRING","OPEN","CLOSE","COMMA","NEWLINE",
176 "ERROR","OPEN_SQUARE","CLOSE_SQUARE","EQUALS",0,"PERIOD","EXP",
179 "$accept : commands",
181 "commands : commands command",
182 "command : WORD PERIOD",
183 "command : expr PERIOD",
184 "command : error PERIOD",
185 "expr : WORD OPEN arglist CLOSE",
186 "expr : OPEN_SQUARE CLOSE_SQUARE",
187 "expr : OPEN_SQUARE arglist CLOSE_SQUARE",
190 "arglist : arg COMMA arglist",
191 "arg : WORD EQUALS arg1",
196 "arg1 : INTEGER PERIOD INTEGER",
197 "arg1 : INTEGER EXP INTEGER",
198 "arg1 : INTEGER PERIOD INTEGER EXP INTEGER",
202 #define yyclearin (yychar=(-1))
203 #define yyerrok (yyerrflag=0)
206 #define YYMAXDEPTH YYSTACKSIZE
210 #define YYSTACKSIZE YYMAXDEPTH
212 #define YYSTACKSIZE 600
213 #define YYMAXDEPTH 600
224 short yyss
[YYSTACKSIZE
];
225 YYSTYPE yyvs
[YYSTACKSIZE
];
226 #define yystacksize YYSTACKSIZE
230 #include "../common/doslex.c"
232 #if (defined(__MWERKS__))
233 #include "../common/cwlex_yy.c"
235 #include "../common/lex_yy.c"
247 /* Ansi prototype. If this doesn't work for you... uncomment
251 void yyerror(char *s
)
257 * Unfortunately, my DOS version of FLEX
258 * requires yywrap to be #def'ed, whereas
259 * the UNIX flex expects a proper function.
262 /* Not sure if __SC__ is the appropriate thing
272 int yywrap() { return 1; }
276 #define YYABORT goto yyabort
277 #define YYACCEPT goto yyaccept
278 #define YYERROR goto yyerrlab
282 register int yym
, yyn
, yystate
;
285 extern char *getenv();
287 if (yys
= getenv("YYDEBUG"))
290 if (yyn
>= '0' && yyn
<= '9')
301 *yyssp
= yystate
= 0;
304 if (yyn
= yydefred
[yystate
]) goto yyreduce
;
307 if ((yychar
= yylex()) < 0) yychar
= 0;
312 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
313 if (!yys
) yys
= "illegal-symbol";
314 printf("yydebug: state %d, reading %d (%s)\n", yystate
,
319 if ((yyn
= yysindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
320 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
324 printf("yydebug: state %d, shifting to state %d\n",
325 yystate
, yytable
[yyn
]);
327 if (yyssp
>= yyss
+ yystacksize
- 1)
331 *++yyssp
= yystate
= yytable
[yyn
];
334 if (yyerrflag
> 0) --yyerrflag
;
337 if ((yyn
= yyrindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
338 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
343 if (yyerrflag
) goto yyinrecovery
;
348 yyerror("syntax error");
360 if ((yyn
= yysindex
[*yyssp
]) && (yyn
+= YYERRCODE
) >= 0 &&
361 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == YYERRCODE
)
365 printf("yydebug: state %d, error recovery shifting\
366 to state %d\n", *yyssp
, yytable
[yyn
]);
368 if (yyssp
>= yyss
+ yystacksize
- 1)
372 *++yyssp
= yystate
= yytable
[yyn
];
380 printf("yydebug: error recovery discarding state %d\n",
383 if (yyssp
<= yyss
) goto yyabort
;
391 if (yychar
== 0) goto yyabort
;
396 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
397 if (!yys
) yys
= "illegal-symbol";
398 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
399 yystate
, yychar
, yys
);
408 printf("yydebug: state %d, reducing by rule %d (%s)\n",
409 yystate
, yyn
, yyrule
[yyn
]);
412 yyval
= yyvsp
[1-yym
];
417 {process_command(proio_cons(wxmake_word(yyvsp
[-1].s
), NULL
)); free(yyvsp
[-1].s
);}
421 {process_command(yyvsp
[-1].s
);}
425 {syntax_error("Unrecognized command.");}
429 {yyval
.s
= proio_cons(wxmake_word(yyvsp
[-3].s
), yyvsp
[-1].s
); free(yyvsp
[-3].s
);}
433 {yyval
.s
= proio_cons(NULL
, NULL
);}
437 {yyval
.s
= yyvsp
[-1].s
; }
445 {yyval
.s
= proio_cons(yyvsp
[0].s
, NULL
);}
449 {yyval
.s
= proio_cons(yyvsp
[-2].s
, yyvsp
[0].s
);}
453 {yyval
.s
= proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp
[-2].s
), proio_cons(yyvsp
[0].s
, NULL
)));
458 {yyval
.s
= yyvsp
[0].s
; }
462 {yyval
.s
= wxmake_word(yyvsp
[0].s
); free(yyvsp
[0].s
);}
466 {yyval
.s
= wxmake_string(yyvsp
[0].s
); free(yyvsp
[0].s
);}
470 {yyval
.s
= wxmake_integer(yyvsp
[0].s
); free(yyvsp
[0].s
);}
474 {yyval
.s
= wxmake_real(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
478 {yyval
.s
= wxmake_exp(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
482 {yyval
.s
= wxmake_exp2(yyvsp
[-4].s
, yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-4].s
); free(yyvsp
[-2].s
);
487 {yyval
.s
= yyvsp
[0].s
;}
495 if (yystate
== 0 && yym
== 0)
499 printf("yydebug: after reduction, shifting from state 0 to\
500 state %d\n", YYFINAL
);
507 if ((yychar
= yylex()) < 0) yychar
= 0;
512 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
513 if (!yys
) yys
= "illegal-symbol";
514 printf("yydebug: state %d, reading %d (%s)\n",
515 YYFINAL
, yychar
, yys
);
519 if (yychar
== 0) goto yyaccept
;
522 if ((yyn
= yygindex
[yym
]) && (yyn
+= yystate
) >= 0 &&
523 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yystate
)
524 yystate
= yytable
[yyn
];
526 yystate
= yydgoto
[yym
];
529 printf("yydebug: after reduction, shifting from state %d \
530 to state %d\n", *yyssp
, yystate
);
532 if (yyssp
>= yyss
+ yystacksize
- 1)
540 yyerror("yacc stack overflow");