Python: неверный синтаксис с тестовыми данными с использованием pyparser
-
22-09-2019 - |
Вопрос
Используя Pyparser, я пытаюсь создать очень простой анализатор для языка S-экспрессии. Я написал очень маленькую грамматику. Вот мой код:
from pyparsing import *
alphaword = Word(alphas)
integer = Word(nums)
sexp = Forward()
LPAREN = Suppress("(")
RPAREN = Suppress(")")
sexp << ( alphaword | integer | ( LPAREN + ZeroOrMore(sexp) + RPAREN)
tests = """\
red
100
( red 100 blue )
( green ( ( 1 2 ) mauve ) plaid () ) """.splitlines()
for t in tests:
print t
print sexp.parseString(t)
print
Во время просмотра примеров этого кода кажется, что все в порядке, однако при запуске я получаю синтаксисную ошибку для этой строки
tests = """\ ^
Я этого не понимаю. Я был бы благодарен за любую помощь
Решение
Сложные скобки на предыдущей линии не закрыты.
sexp << ( alphaword | integer | ( LPAREN + ZeroOrMore(sexp) + RPAREN)
Нужно больше)
Не связан с StackOverflow