]>
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 /* You may need to put /DLEX_SCANNER in your makefile
27 * if you're using LEX!
28 Last change: JS 13 Jul 97 6:12 pm
31 /* int yyoutput(int); */
37 #if defined(__cplusplus) || defined(__STDC__)
38 #if defined(__cplusplus) && defined(__EXTERN_C__)
45 /* struct pexpr *expr; */
58 #define CLOSE_SQUARE 10
63 0, 0, 1, 1, 1, 2, 2, 2, 3, 3,
64 3, 4, 4, 5, 5, 5, 5, 5, 5, 5,
67 0, 2, 2, 2, 2, 4, 2, 3, 0, 1,
68 3, 3, 1, 1, 1, 1, 3, 3, 5, 1,
70 short yydefred
[] = { 1,
71 0, 0, 0, 0, 2, 0, 5, 3, 0, 0,
72 0, 15, 7, 20, 0, 0, 13, 4, 0, 0,
73 0, 0, 8, 0, 6, 0, 18, 0, 12, 11,
76 short yydgoto
[] = { 1,
79 short yysindex
[] = { 0,
80 -2, 9, 2, 1, 0, 10, 0, 0, 11, -5,
81 17, 0, 0, 0, 14, -1, 0, 0, 33, 38,
82 41, 16, 0, 11, 0, 29, 0, 40, 0, 0,
85 short yyrindex
[] = { 0,
86 0, 0, 0, 0, 0, 0, 0, 0, 42, 21,
87 24, 0, 0, 0, 0, 30, 0, 0, 0, 0,
88 0, 0, 0, 31, 0, 27, 0, 24, 0, 0,
91 short yygindex
[] = { 0,
94 #define YYTABLESIZE 254
95 short yytable
[] = { 3,
96 19, 10, 11, 12, 24, 9, 4, 20, 21, 4,
97 13, 10, 11, 12, 8, 30, 10, 28, 12, 4,
98 9, 7, 18, 23, 4, 16, 16, 22, 14, 14,
99 16, 17, 17, 14, 10, 9, 17, 25, 26, 10,
100 9, 27, 31, 9, 32, 6, 9, 29, 0, 0,
101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
104 0, 0, 0, 0, 0, 0, 0, 0, 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,
123 short yycheck
[] = { 2,
124 9, 1, 2, 3, 6, 4, 9, 13, 14, 9,
125 10, 1, 2, 3, 13, 24, 1, 2, 3, 9,
126 4, 13, 13, 10, 9, 5, 6, 11, 5, 6,
127 10, 5, 6, 10, 5, 5, 10, 5, 1, 10,
128 10, 1, 14, 4, 1, 1, 5, 22, -1, -1,
129 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
130 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
132 -1, -1, -1, -1, -1, -1, -1, -1, -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,
155 #define YYMAXTOKEN 14
158 "end-of-file","INTEGER","WORD","STRING","OPEN","CLOSE","COMMA","NEWLINE",
159 "ERROR","OPEN_SQUARE","CLOSE_SQUARE","EQUALS",0,"PERIOD","EXP",
162 "$accept : commands",
164 "commands : commands command",
165 "command : WORD PERIOD",
166 "command : expr PERIOD",
167 "command : error PERIOD",
168 "expr : WORD OPEN arglist CLOSE",
169 "expr : OPEN_SQUARE CLOSE_SQUARE",
170 "expr : OPEN_SQUARE arglist CLOSE_SQUARE",
173 "arglist : arg COMMA arglist",
174 "arg : WORD EQUALS arg1",
179 "arg1 : INTEGER PERIOD INTEGER",
180 "arg1 : INTEGER EXP INTEGER",
181 "arg1 : INTEGER PERIOD INTEGER EXP INTEGER",
185 #define yyclearin (yychar=(-1))
186 #define yyerrok (yyerrflag=0)
189 #define YYMAXDEPTH YYSTACKSIZE
193 #define YYSTACKSIZE YYMAXDEPTH
195 #define YYSTACKSIZE 600
196 #define YYMAXDEPTH 600
207 short yyss
[YYSTACKSIZE
];
208 YYSTYPE yyvs
[YYSTACKSIZE
];
209 #define yystacksize YYSTACKSIZE
213 #include "../common/doslex.c"
215 #if (defined(__MWERKS__))
216 #include "../common/cwlex_yy.c"
218 #include "../common/lex_yy.c"
230 /* Ansi prototype. If this doesn't work for you... uncomment
234 void yyerror(char *s
)
240 * Unfortunately, my DOS version of FLEX
241 * requires yywrap to be #def'ed, whereas
242 * the UNIX flex expects a proper function.
245 /* Not sure if __SC__ is the appropriate thing
255 int yywrap() { return 1; }
259 #define YYABORT goto yyabort
260 #define YYACCEPT goto yyaccept
261 #define YYERROR goto yyerrlab
265 register int yym
, yyn
, yystate
;
268 extern char *getenv();
270 if (yys
= getenv("YYDEBUG"))
273 if (yyn
>= '0' && yyn
<= '9')
284 *yyssp
= yystate
= 0;
287 if (yyn
= yydefred
[yystate
]) goto yyreduce
;
290 if ((yychar
= yylex()) < 0) yychar
= 0;
295 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
296 if (!yys
) yys
= "illegal-symbol";
297 printf("yydebug: state %d, reading %d (%s)\n", yystate
,
302 if ((yyn
= yysindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
303 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
307 printf("yydebug: state %d, shifting to state %d\n",
308 yystate
, yytable
[yyn
]);
310 if (yyssp
>= yyss
+ yystacksize
- 1)
314 *++yyssp
= yystate
= yytable
[yyn
];
317 if (yyerrflag
> 0) --yyerrflag
;
320 if ((yyn
= yyrindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
321 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
326 if (yyerrflag
) goto yyinrecovery
;
331 yyerror("syntax error");
343 if ((yyn
= yysindex
[*yyssp
]) && (yyn
+= YYERRCODE
) >= 0 &&
344 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == YYERRCODE
)
348 printf("yydebug: state %d, error recovery shifting\
349 to state %d\n", *yyssp
, yytable
[yyn
]);
351 if (yyssp
>= yyss
+ yystacksize
- 1)
355 *++yyssp
= yystate
= yytable
[yyn
];
363 printf("yydebug: error recovery discarding state %d\n",
366 if (yyssp
<= yyss
) goto yyabort
;
374 if (yychar
== 0) goto yyabort
;
379 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
380 if (!yys
) yys
= "illegal-symbol";
381 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
382 yystate
, yychar
, yys
);
391 printf("yydebug: state %d, reducing by rule %d (%s)\n",
392 yystate
, yyn
, yyrule
[yyn
]);
395 yyval
= yyvsp
[1-yym
];
400 {process_command(proio_cons(wxmake_word(yyvsp
[-1].s
), NULL
)); free(yyvsp
[-1].s
);}
404 {process_command(yyvsp
[-1].s
);}
408 {syntax_error("Unrecognized command.");}
412 {yyval
.s
= proio_cons(wxmake_word(yyvsp
[-3].s
), yyvsp
[-1].s
); free(yyvsp
[-3].s
);}
416 {yyval
.s
= proio_cons(NULL
, NULL
);}
420 {yyval
.s
= yyvsp
[-1].s
; }
428 {yyval
.s
= proio_cons(yyvsp
[0].s
, NULL
);}
432 {yyval
.s
= proio_cons(yyvsp
[-2].s
, yyvsp
[0].s
);}
436 {yyval
.s
= proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp
[-2].s
), proio_cons(yyvsp
[0].s
, NULL
)));
441 {yyval
.s
= yyvsp
[0].s
; }
445 {yyval
.s
= wxmake_word(yyvsp
[0].s
); free(yyvsp
[0].s
);}
449 {yyval
.s
= wxmake_string(yyvsp
[0].s
); free(yyvsp
[0].s
);}
453 {yyval
.s
= wxmake_integer(yyvsp
[0].s
); free(yyvsp
[0].s
);}
457 {yyval
.s
= wxmake_real(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
461 {yyval
.s
= wxmake_exp(yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-2].s
); free(yyvsp
[0].s
); }
465 {yyval
.s
= wxmake_exp2(yyvsp
[-4].s
, yyvsp
[-2].s
, yyvsp
[0].s
); free(yyvsp
[-4].s
); free(yyvsp
[-2].s
);
470 {yyval
.s
= yyvsp
[0].s
;}
478 if (yystate
== 0 && yym
== 0)
482 printf("yydebug: after reduction, shifting from state 0 to\
483 state %d\n", YYFINAL
);
490 if ((yychar
= yylex()) < 0) yychar
= 0;
495 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
496 if (!yys
) yys
= "illegal-symbol";
497 printf("yydebug: state %d, reading %d (%s)\n",
498 YYFINAL
, yychar
, yys
);
502 if (yychar
== 0) goto yyaccept
;
505 if ((yyn
= yygindex
[yym
]) && (yyn
+= yystate
) >= 0 &&
506 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yystate
)
507 yystate
= yytable
[yyn
];
509 yystate
= yydgoto
[yym
];
512 printf("yydebug: after reduction, shifting from state %d \
513 to state %d\n", *yyssp
, yystate
);
515 if (yyssp
>= yyss
+ yystacksize
- 1)
523 yyerror("yacc stack overflow");