Итак, я пишу этот реентерабельный сканер с помощью flex и использую параметр стека для отслеживания состояния. Согласно документации, кажется, что
yy_push_state(SCRIPT, yyscanner);
//now yy_top_state(yyscanner) == SCRIPT; should eval true right?
но когда я помещаю следующий printf() сразу после yy_push_state()
printf("SCRIPT=%d; DQUOTE=%d; CURRENT=%d\n", SCRIPT, DQUOTE,
yy_top_state(yyscanner));
Я получаю это в обмен на вывод
SCRIPT=2; DQUOTE=3; CURRENT=1
Пожалуйста, укажите, что я делаю неправильно, если что-то вообще.
заранее спасибо