]>
git.saurik.com Git - wxWidgets.git/blob - contrib/src/deprecated/cwy_tab.c
2 static char yysccsid
[] = "@(#)yaccpar 1.7 (Berkeley) 09/09/90";
11 #include "wx/deprecated/expr.h"
14 #define __EXTERN_C__ 1
17 #if defined(__cplusplus) || defined(__STDC__)
18 #if defined(__cplusplus) && defined(__EXTERN_C__)
23 int PROIO_yyparse(void) {
29 int yyback(int *, int);
31 int read( int , char * , int ) ;
33 int _read( int , void * , size_t ) ;
37 //int fileno( FILE* ) ; This is defined in watcom
44 /* You may need to put /DLEX_SCANNER in your makefile
45 * if you're using LEX!
46 Last change: JS 13 Jul 97 6:12 pm
49 /* int yyoutput(int); */
55 #if defined(__cplusplus) || defined(__STDC__)
56 #if defined(__cplusplus) && defined(__EXTERN_C__)
63 /* struct pexpr *expr; */
76 #define CLOSE_SQUARE 10
81 0, 0, 1, 1, 1, 2, 2, 2, 3, 3,
82 3, 4, 4, 5, 5, 5, 5, 5, 5, 5,
85 0, 2, 2, 2, 2, 4, 2, 3, 0, 1,
86 3, 3, 1, 1, 1, 1, 3, 3, 5, 1,
88 short yydefred
[] = { 1,
89 0, 0, 0, 0, 2, 0, 5, 3, 0, 0,
90 0, 15, 7, 20, 0, 0, 13, 4, 0, 0,
91 0, 0, 8, 0, 6, 0, 18, 0, 12, 11,
94 short yydgoto
[] = { 1,
97 short yysindex
[] = { 0,
98 -2, 9, 2, 1, 0, 10, 0, 0, 11, -5,
99 17, 0, 0, 0, 14, -1, 0, 0, 33, 38,
100 41, 16, 0, 11, 0, 29, 0, 40, 0, 0,
103 short yyrindex
[] = { 0,
104 0, 0, 0, 0, 0, 0, 0, 0, 42, 21,
105 24, 0, 0, 0, 0, 30, 0, 0, 0, 0,
106 0, 0, 0, 31, 0, 27, 0, 24, 0, 0,
109 short yygindex
[] = { 0,
112 #define YYTABLESIZE 254
113 short yytable
[] = { 3,
114 19, 10, 11, 12, 24, 9, 4, 20, 21, 4,
115 13, 10, 11, 12, 8, 30, 10, 28, 12, 4,
116 9, 7, 18, 23, 4, 16, 16, 22, 14, 14,
117 16, 17, 17, 14, 10, 9, 17, 25, 26, 10,
118 9, 27, 31, 9, 32, 6, 9, 29, 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,
138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
141 short yycheck
[] = { 2,
142 9, 1, 2, 3, 6, 4, 9, 13, 14, 9,
143 10, 1, 2, 3, 13, 24, 1, 2, 3, 9,
144 4, 13, 13, 10, 9, 5, 6, 11, 5, 6,
145 10, 5, 6, 10, 5, 5, 10, 5, 1, 10,
146 10, 1, 14, 4, 1, 1, 5, 22, -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,
166 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
173 #define YYMAXTOKEN 14
176 "end-of-file","INTEGER","WORD","STRING","OPEN","CLOSE","COMMA","NEWLINE",
177 "ERROR","OPEN_SQUARE","CLOSE_SQUARE","EQUALS",0,"PERIOD","EXP",
180 "$accept : commands",
182 "commands : commands command",
183 "command : WORD PERIOD",
184 "command : expr PERIOD",
185 "command : error PERIOD",
186 "expr : WORD OPEN arglist CLOSE",
187 "expr : OPEN_SQUARE CLOSE_SQUARE",
188 "expr : OPEN_SQUARE arglist CLOSE_SQUARE",
191 "arglist : arg COMMA arglist",
192 "arg : WORD EQUALS arg1",
197 "arg1 : INTEGER PERIOD INTEGER",
198 "arg1 : INTEGER EXP INTEGER",
199 "arg1 : INTEGER PERIOD INTEGER EXP INTEGER",
203 #define yyclearin (yychar=(-1))
204 #define yyerrok (yyerrflag=0)
207 #define YYMAXDEPTH YYSTACKSIZE
211 #define YYSTACKSIZE YYMAXDEPTH
213 #define YYSTACKSIZE 600
214 #define YYMAXDEPTH 600
225 short yyss
[YYSTACKSIZE
];
226 YYSTYPE yyvs
[YYSTACKSIZE
];
227 #define yystacksize YYSTACKSIZE
233 #if (defined(__MWERKS__))
234 #include "cwlex_yy.c"
248 /* Ansi prototype. If this doesn't work for you... uncomment
252 void yyerror(char *s
)
258 * Unfortunately, my DOS version of FLEX
259 * requires yywrap to be #def'ed, whereas
260 * the UNIX flex expects a proper function.
263 /* Not sure if __SC__ is the appropriate thing
273 int yywrap() { return 1; }
277 #define YYABORT goto yyabort
278 #define YYACCEPT goto yyaccept
279 #define YYERROR goto yyerrlab
283 register int yym
, yyn
, yystate
;
286 extern char *getenv();
288 if (yys
= getenv("YYDEBUG"))
291 if (yyn
>= '0' && yyn
<= '9')
302 *yyssp
= yystate
= 0;
305 if (yyn
= yydefred
[yystate
]) goto yyreduce
;
308 if ((yychar
= yylex()) < 0) yychar
= 0;
313 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
314 if (!yys
) yys
= "illegal-symbol";
315 printf("yydebug: state %d, reading %d (%s)\n", yystate
,
320 if ((yyn
= yysindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
321 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
325 printf("yydebug: state %d, shifting to state %d\n",
326 yystate
, yytable
[yyn
]);
328 if (yyssp
>= yyss
+ yystacksize
- 1)
332 *++yyssp
= yystate
= yytable
[yyn
];
335 if (yyerrflag
> 0) --yyerrflag
;
338 if ((yyn
= yyrindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
339 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
344 if (yyerrflag
) goto yyinrecovery
;
349 yyerror("syntax error");
361 if ((yyn
= yysindex
[*yyssp
]) && (yyn
+= YYERRCODE
) >= 0 &&
362 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == YYERRCODE
)
366 printf("yydebug: state %d, error recovery shifting\
367 to state %d\n", *yyssp
, yytable
[yyn
]);
369 if (yyssp
>= yyss
+ yystacksize
- 1)
373 *++yyssp
= yystate
= yytable
[yyn
];
381 printf("yydebug: error recovery discarding state %d\n",
384 if (yyssp
<= yyss
) goto yyabort
;
392 if (yychar
== 0) goto yyabort
;
397 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
398 if (!yys
) yys
= "illegal-symbol";
399 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
400 yystate
, yychar
, yys
);
409 printf("yydebug: state %d, reducing by rule %d (%s)\n",
410 yystate
, yyn
, yyrule
[yyn
]);
413 yyval
= yyvsp
[1-yym
];
418 {process_command(proio_cons(wxmake_word(yyvsp
[-1].s
), NULL
)); free(yyvsp
[-1].s
);}
422 {process_command(yyvsp
[-1].s
);}
426 {syntax_error("Unrecognized command.");}
430 {yyval
.s
= proio_cons(wxmake_word(yyvsp
[-3].s
), yyvsp
[-1].s
); free(yyvsp
[-3].s
);}
434 {yyval
.s
= proio_cons(NULL
, NULL
);}
438 {yyval
.s
= yyvsp
[-1].s
; }
446 {yyval
.s
= proio_cons(yyvsp
[0].s
, NULL
);}
450 {yyval
.s
= proio_cons(yyvsp
[-2].s
, yyvsp
[0].s
);}
454 {yyval
.s
= proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp
[-2].s
), proio_cons(yyvsp
[0].s
, NULL
)));
459 {yyval
.s
= yyvsp
[0].s
; }
463 {yyval
.s
= wxmake_word(yyvsp
[0].s
); free(yyvsp
[0].s
);}
467 {yyval
.s
= wxmake_string(yyvsp
[0].s
); free(yyvsp
[0].s
);}
471 {yyval
.s
= wxmake_integer(yyvsp
[0].s
); free(yyvsp
[0].s
);}
475 {yyval
.s
= wxmake_real(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
479 {yyval
.s
= wxmake_exp(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
483 {yyval
.s
= wxmake_exp2(yyvsp
[-4].s
, yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-4].s
); free(yyvsp
[-2].s
);
488 {yyval
.s
= yyvsp
[0].s
;}
496 if (yystate
== 0 && yym
== 0)
500 printf("yydebug: after reduction, shifting from state 0 to\
501 state %d\n", YYFINAL
);
508 if ((yychar
= yylex()) < 0) yychar
= 0;
513 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
514 if (!yys
) yys
= "illegal-symbol";
515 printf("yydebug: state %d, reading %d (%s)\n",
516 YYFINAL
, yychar
, yys
);
520 if (yychar
== 0) goto yyaccept
;
523 if ((yyn
= yygindex
[yym
]) && (yyn
+= yystate
) >= 0 &&
524 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yystate
)
525 yystate
= yytable
[yyn
];
527 yystate
= yydgoto
[yym
];
530 printf("yydebug: after reduction, shifting from state %d \
531 to state %d\n", *yyssp
, yystate
);
533 if (yyssp
>= yyss
+ yystacksize
- 1)
541 yyerror("yacc stack overflow");