win_bison вставляет _m4eof в конец сгенерированного парсера - PullRequest
0 голосов
/ 05 октября 2019

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

Я написал синтаксический анализатор для языка DSL, который использовал бизон 2.7 для окон, недавно я пытался использовать Conan для управления своими зависимостями, что позволило мне получить более новую версию win_bison (3.3.2). Я проверил сгенерированный исходный файл C ++ и обнаружил, что конец файла содержит следующий фрагмент кода.

#line 80 "Grammar.y" // lalr1.cc:1243

'_m4eof'
_m4eof

Последние 2 строки предотвращают компиляцию и генерируют сообщения об ошибках, эти строки не отображаются сwin_bison 2.7.

...