Я пытаюсь создать простой интерпретатор с помощью модуля PyParsing.
Я искал некоторую документацию, но я не могу найти то, что решает мою проблему.
Я публикую простой пример моей грамматики:
from PyParsing import *
id = Word(alphas,alphanums)
typeid = Keyword("integer") | Keyword("string")
vardef = id + ":" + typeid
vardecl = Forward()
vardecl << Literal("var") + DelimitedList(vardef)
Итак, если я проанализирую строку, содержащую объявления var, все будет работать, даже если я определю больше vardef.
Но если я анализирую строку, содержащую только «var i: integer», vardecl.parseString возвращает исключение синтаксического анализатора.
Я хочу сказать vardecl.parseString, чтобы проверить, завершена ли строка или нет. Если нет, попросите ввести другой код ...
Это возможно?
Я что-то гуглил, но ничего не нахожу.