MathML-itex2MML
view release on metacpan or search on metacpan
break;
case 329:
#line 1794 "itex2MML.y"
{
yyval = itex2MML_copy3(yyvsp[-1], " ", yyvsp[0]);
itex2MML_free_string(yyvsp[-1]);
itex2MML_free_string(yyvsp[0]);
}
#line 5786 "y.tab.c"
break;
case 330:
#line 1800 "itex2MML.y"
{
yyval = itex2MML_copy_string(yyvsp[0]);
itex2MML_free_string(yyvsp[0]);
}
#line 5795 "y.tab.c"
break;
case 331:
#line 1804 "itex2MML.y"
{
yyval = itex2MML_copy_string(yyvsp[0]);
itex2MML_free_string(yyvsp[0]);
}
#line 5804 "y.tab.c"
break;
case 332:
#line 1808 "itex2MML.y"
{
yyval = itex2MML_copy_string(yyvsp[0]);
itex2MML_free_string(yyvsp[0]);
}
#line 5813 "y.tab.c"
break;
case 333:
#line 1812 "itex2MML.y"
{
yyval = itex2MML_copy_string(yyvsp[0]);
itex2MML_free_string(yyvsp[0]);
}
#line 5822 "y.tab.c"
break;
case 334:
#line 1817 "itex2MML.y"
{
yyval = itex2MML_copy2("rowspan=", yyvsp[0]);
itex2MML_free_string(yyvsp[0]);
}
#line 5831 "y.tab.c"
break;
case 335:
#line 1822 "itex2MML.y"
{
yyval = itex2MML_copy2("columnspan=", yyvsp[0]);
itex2MML_free_string(yyvsp[0]);
}
#line 5840 "y.tab.c"
break;
#line 5844 "y.tab.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
that yytoken be updated with the new translation. We take the
approach of translating immediately before every use of yytoken.
One alternative is translating here after every semantic action,
but that translation would be missed if the semantic action invokes
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
incorrect destructor might then be invoked immediately. In the
case of YYERROR or YYBACKUP, subsequent parser actions might lead
to an incorrect destructor call or verbose syntax error message
before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
*++yyvsp = yyval;
/* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
{
const int yylhs = yyr1[yyn] - YYNTOKENS;
const int yyi = yypgoto[yylhs] + *yyssp;
yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
? yytable[yyi]
: yydefgoto[yylhs]);
}
goto yynewstate;
/*--------------------------------------.
| yyerrlab -- here on detecting error. |
`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++yynerrs;
#if ! YYERROR_VERBOSE
yyerror (ret_str, YY_("syntax error"));
#else
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
( run in 1.545 second using v1.01-cache-2.11-cpan-995e09ba956 )