У меня есть программа, которая в настоящее время будет генерировать вывод токенов, которые будут использоваться для ввода в следующей программе. Это будет проверка правильности синтаксиса кода.
У меня возникают проблемы с тем, как начать преобразовывать эту грамматику в полезную программу.
Ниже приведено использование грамматики, как бы я начал это делать. Или где хорошие ресурсы, чтобы помочь себе изучить основы создания собственного парсера.
Эта реализация будет использовать Java, поэтому, если бы у вас были ответы, соответствующие реализации Java, это было бы здорово.
программа → stmt_list $$$
stmt_list → stmt stmt_list | ε
stmt → id = выражение | входной идентификатор | распечатать выражение
выражение → термин term_tail
term_tail → добавить операционный термин term_tail | ε
термин → фактор fact_tail
fact_tail → mult_op fact fact_tail | ε
коэффициент → (выражение) | номер | я бы
add_op → + | -
mult_op → * | / | // | %