Lines Matching full:parser
36 /* YYINITDEPTH -- initial size of the parser's stacks. */
74 /* contains all the parser state tables; auto-generated from perly.y */
136 yy_stack_print (pTHX_ const yy_parser *parser) in yy_stack_print() argument
140 min = parser->ps - 8 + 1; in yy_stack_print()
141 if (min <= parser->stack) in yy_stack_print()
142 min = parser->stack + 1; in yy_stack_print()
145 for (ps = min; ps <= parser->ps; ps++) in yy_stack_print()
146 PerlIO_printf(Perl_debug_log, " %8d", (int)(ps - parser->stack)); in yy_stack_print()
149 for (ps = min; ps <= parser->ps; ps++) in yy_stack_print()
153 for (ps = min; ps <= parser->ps; ps++) in yy_stack_print()
157 for (ps = min; ps <= parser->ps; ps++) { in yy_stack_print()
176 # define YY_STACK_PRINT(parser) \ argument
179 yy_stack_print (aTHX_ parser); \
215 # define YY_STACK_PRINT(parser) argument
223 S_clear_yystack(pTHX_ const yy_parser *parser) in S_clear_yystack() argument
225 yy_stack_frame *ps = parser->ps; in S_clear_yystack()
228 if (!parser->stack) in S_clear_yystack()
233 for (i=0; i< parser->yylen; i++) { in S_clear_yystack()
236 ps -= parser->yylen; in S_clear_yystack()
240 while (ps > parser->stack) { in S_clear_yystack()
257 Safefree(parser->stack); in S_clear_yystack()
275 yy_parser *parser; /* the parser object */ in Perl_yyparse() local
276 yy_stack_frame *ps; /* current parser stack frame */ in Perl_yyparse()
278 #define YYPOPSTACK parser->ps = --ps in Perl_yyparse()
279 #define YYPUSHSTACK parser->ps = ++ps in Perl_yyparse()
287 parser = PL_parser; in Perl_yyparse()
289 ENTER; /* force parser state cleanup/restoration before we return */ in Perl_yyparse()
290 SAVEPPTR(parser->yylval.pval); in Perl_yyparse()
291 SAVEINT(parser->yychar); in Perl_yyparse()
292 SAVEINT(parser->yyerrstatus); in Perl_yyparse()
293 SAVEINT(parser->yylen); in Perl_yyparse()
294 SAVEVPTR(parser->stack); in Perl_yyparse()
295 SAVEVPTR(parser->stack_max1); in Perl_yyparse()
296 SAVEVPTR(parser->ps); in Perl_yyparse()
299 parser->yychar = gramtype; in Perl_yyparse()
300 yytoken = YYTRANSLATE((int)NATIVE_TO_UNI(parser->yychar)); in Perl_yyparse()
302 parser->yyerrstatus = 0; in Perl_yyparse()
303 parser->yylen = 0; in Perl_yyparse()
304 Newx(parser->stack, YYINITDEPTH, yy_stack_frame); in Perl_yyparse()
305 parser->stack_max1 = parser->stack + YYINITDEPTH - 1; in Perl_yyparse()
306 ps = parser->ps = parser->stack; in Perl_yyparse()
308 SAVEDESTRUCTOR_X(S_clear_yystack, parser); in Perl_yyparse()
320 parser->yylen = 0; in Perl_yyparse()
327 if (ps >= parser->stack_max1) { in Perl_yyparse()
328 Size_t pos = ps - parser->stack; in Perl_yyparse()
329 Size_t newsize = 2 * (parser->stack_max1 + 2 - parser->stack); in Perl_yyparse()
331 Renew(parser->stack, newsize, yy_stack_frame); in Perl_yyparse()
332 ps = parser->ps = parser->stack + pos; in Perl_yyparse()
333 parser->stack_max1 = parser->stack + newsize - 1; in Perl_yyparse()
336 "parser stack size increased to %lu frames\n", in Perl_yyparse()
355 if (parser->yychar == YYEMPTY) { in Perl_yyparse()
357 parser->yychar = yylex(); in Perl_yyparse()
358 assert(parser->yychar >= 0); in Perl_yyparse()
359 if (parser->yychar == YYEOF) { in Perl_yyparse()
372 yytoken = YYTRANSLATE((int)NATIVE_TO_UNI(parser->yychar)); in Perl_yyparse()
376 assert(yytoken == YYTRANSLATE((int)NATIVE_TO_UNI(parser->yychar))); in Perl_yyparse()
377 YYDSYMPRINTF("lookahead token is", yytoken, &parser->yylval); in Perl_yyparse()
409 if (parser->yychar != YYEOF) in Perl_yyparse()
410 parser->yychar = YYEMPTY; in Perl_yyparse()
414 ps->val = parser->yylval; in Perl_yyparse()
423 if (parser->yyerrstatus) in Perl_yyparse()
424 parser->yyerrstatus--; in Perl_yyparse()
431 parser->yylen = yyr2[yyn]; in Perl_yyparse()
439 unconditionally makes the parser a bit smaller, and it avoids a in Perl_yyparse()
441 yyval = ps[1-parser->yylen].val; in Perl_yyparse()
443 YY_STACK_PRINT(parser); in Perl_yyparse()
455 for (i=0; i< parser->yylen; i++) { in Perl_yyparse()
460 parser->ps = ps -= (parser->yylen-1); in Perl_yyparse()
490 if (!parser->yyerrstatus) { in Perl_yyparse()
496 if (parser->yyerrstatus == 3) { in Perl_yyparse()
501 if (parser->yychar == YYEOF) { in Perl_yyparse()
506 while (ps > parser->stack) { in Perl_yyparse()
525 YYDSYMPRINTF ("Error: discarding", yytoken, &parser->yylval); in Perl_yyparse()
526 parser->yychar = YYEMPTY; in Perl_yyparse()
539 parser->yyerrstatus = 3; /* Each real token shifted decrements this. */ in Perl_yyparse()
553 if (ps == parser->stack) in Perl_yyparse()
570 YY_STACK_PRINT(parser); in Perl_yyparse()
580 ps->val = parser->yylval; in Perl_yyparse()
595 for (ps=parser->ps; ps > parser->stack; ps--) { in Perl_yyparse()
598 parser->ps = parser->stack; /* disable cleanup */ in Perl_yyparse()
609 LEAVE; /* force parser stack cleanup before we return */ in Perl_yyparse()