Проблема PyParsing: как сказать PyParsing ждать больше строки в интерфейсе командной строки? - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь создать простой интерпретатор с помощью модуля 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, чтобы проверить, завершена ли строка или нет. Если нет, попросите ввести другой код ... Это возможно? Я что-то гуглил, но ничего не нахожу.

...