Analizador: error de segmentación al llamar a yytext
Mi analizador reconoce la gramática e indica la línea de error correcta usando yylineno. Quiero imprimir el símbolo que causó el error.
int yyerror(string s)
{
extern int yylineno; // defined and maintained in lex.yy.c
extern char *yytext; // defined and maintained in lex.yy.c
cerr << "error: " << s << " -> " << yytext << " @ line " << yylineno << endl;
//exit(1);
}
Recibo este error cuando escribo algo no aceptable por la gramática:
error: error de sintaxis -> Error de segmentación
¿No se supone que debo usar yytext? Si no, ¿qué variable contiene el símbolo que causó el error de sintaxis?
Gracias