#if (! defined (yyoverflow) \
&& (! defined (__cplusplus) \
- || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined (YYLTYPE_IS_TRIVIAL) && YYLTYPE_IS_TRIVIAL \
+ && defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
-# if 1 < __GNUC__
+# if defined (__GNUC__) && 1 < __GNUC__
# define YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
-#define YYERROR do \
- { \
- yylerrsp = yylsp; \
- *++yylerrsp = yyloc; \
- goto yyerrlab1; \
- } \
- while (0)
+#define YYERROR goto yyerrorlab
/* Like YYERROR except do call yyerror. This remains here temporarily
case 7:
#line 178 "parse-gram.y"
- { debug_flag = 1; }
+ { debug_flag = true; }
break;
case 8:
case 9:
#line 180 "parse-gram.y"
- { defines_flag = 1; }
+ { defines_flag = true; }
break;
case 10:
#line 181 "parse-gram.y"
- { error_verbose = 1; }
+ { error_verbose = true; }
break;
case 11:
case 15:
#line 187 "parse-gram.y"
- { locations_flag = 1; }
+ { locations_flag = true; }
break;
case 16:
case 17:
#line 189 "parse-gram.y"
- { no_lines_flag = 1; }
+ { no_lines_flag = true; }
break;
case 18:
case 23:
#line 195 "parse-gram.y"
- { token_table_flag = 1; }
+ { token_table_flag = true; }
break;
case 24:
case 25:
#line 197 "parse-gram.y"
- { yacc_flag = 1; }
+ { yacc_flag = true; }
break;
case 29:
case 30:
#line 209 "parse-gram.y"
{
- typed = 1;
+ typed = true;
MUSCLE_INSERT_INT ("stype_line", yylsp[0].start.line);
muscle_insert ("stype", yyvsp[0].chars);
}
}
-/* Line 999 of yacc.c. */
-#line 1629 "parse-gram.c"
+/* Line 993 of yacc.c. */
+#line 1624 "parse-gram.c"
\f
yyvsp -= yylen;
yyssp -= yylen;
/* If just tried and failed to reuse lookahead token after an
error, discard it. */
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
+ if (yychar <= YYEOF)
{
- /* Pop the error token. */
- YYPOPSTACK;
- /* Pop the rest of the stack. */
- while (yyss < yyssp)
- {
- YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
- yydestruct (yystos[*yyssp], yyvsp, yylsp);
- YYPOPSTACK;
- }
- YYABORT;
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp, yylsp);
+ }
}
-
- YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
- yydestruct (yytoken, &yylval, &yylloc);
- yychar = YYEMPTY;
- *++yylerrsp = yylloc;
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval, &yylloc);
+ yychar = YYEMPTY;
+ *++yylerrsp = yylloc;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
goto yyerrlab1;
-/*----------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action. |
-`----------------------------------------------------*/
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ yylerrsp = yylsp;
+ *++yylerrsp = yyloc;
+ yylsp -= yylen;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
yyerrlab1:
yyerrstatus = 3; /* Each real token shifted decrements this. */
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
yydestruct (yystos[yystate], yyvsp, yylsp);
- yyvsp--;
- yystate = *--yyssp;
- yylsp--;
+ YYPOPSTACK;
+ yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
}