Почему, когда я включаю пакет, pyparsing возвращает разные деревья разбора?

1

Это просто игрушка-грамматика для тестирования возврата:

from pyparsing import *
a = Literal("a")
b = Literal("b")
c = Literal("c")

abb = a + b + b
abc = a + b + c
aba = a + b + a

grammar = MatchFirst( [ abb.setDebug(), abc.setDebug(), aba.setDebug() ] )
grammar.parseString( "aba" )

С пакетом отключено, возвращенное дерево разбора

['a', 'b', 'a']

С включенным пакетом , я получаю

['a', 'b', 'b', 'a']

Почему это происходит в последнем случае? Благодаря

Теги:
pyparsing

1 ответ

2
Лучший ответ

Это ошибка в pyparsing. Исправленная версия была проверена в SVN.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню