Как решить неизвестную синтаксическую ошибку в парсере?

Я пытаюсь разобрать этот фрагмент кода, который написан в нужной мне грамматике, и каждый раз получаю синтаксическую ошибку. Я проверил свой код более 10 раз и не смог найти решение. PARSER и Коды LEXER генерируются bison и jflex соответственно, поскольку они длинные, я должен указать ссылку на мой github. Вот мой простой фрагмент кода, но он дает мне синтаксическую ошибку при запуске программы.

program firstProgram
main
{

}

Спасибо, что помогли мне с этим вопросом.


person hexpheus    schedule 20.04.2017    source источник
comment
@rici Ты эксперт в этой области. Не могли бы вы помочь мне с этим?   -  person hexpheus    schedule 20.04.2017
comment
statement_list не создает пустую строку, поэтому {} не создается block. (Возможно, это будет легче увидеть, если вы удалите все лишнее словоблудие в своем файле грамматики, как, кажется, я уже предлагал.)   -  person rici    schedule 20.04.2017


Ответы (1)


Прежде всего, у Вас должны быть установлены все настройки Бизона и Лекса. После этого вам нужно 2 файла перед выполнением вашей программы. Первый файл с расширением «.l», в котором вы объявили токены, и второй файл с расширением «.cpp» будут использовать эти токены для получения желаемого результата. вы можете получить подсказку из моего кода. Вот [https://github.com/jotpandher/Flex-Bison-task][1]

person Harjot kaur    schedule 21.04.2017