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

Respuestas a la pregunta(2)

Su respuesta a la pregunta