синтаксический анализатор бизонов с начальной строкой # 1 - PullRequest
1 голос
/ 20 сентября 2011

Я смотрю на синтаксический анализатор bison + flex с опцией reentrant.Парсер запускается в функции, которая вызывает yylex_init(&scanner), где scanner - это yyscan_t.%locations включено.

Этот анализатор используется для анализа встроенных сценариев, найденных в середине других файлов.Таким образом, номер строки не начинается с 1.

Однако в повторяющемся парсере текущий номер строки скрыт в непрозрачном yyscan_t, и я не вижу чистого способа установки.Я надеюсь, что что-то упустил.

1 Ответ

3 голосов
/ 20 сентября 2011

Вы можете использовать yyset_lineno(int line_number, yyscan_t scanner) для установки номера текущей строки.

...