Как я могу использовать pyparsing для синтаксического анализа вложенных выражений, которые имеют несколько типов открывающих / закрытых?

Я бы хотел использовать pyparsing для синтаксического анализа выражения вида: expr = '(gimme [some {nested [lists]}])' и получить обратно питон список в форме: [[['gimme', ['some', ['nested', ['lists']]]]]] . Сейчас моя грамматика выглядит так:

nestedParens = nestedExpr ('(', ')')
nestedBrackets = nestedExpr ('[', ']')
nestedCurlies = nestedExpr ('{', '}')
enclosed = nestedParens | nestedBrackets | nestedCurlies

В настоящее время enclosed.searchString (expr) возвращает список в форме: [[['gimme', ['some', '{nested', '[lists]} ']]]] . Это не то, что мне нужно, потому что он не распознает квадратные или фигурные скобки, но я не знаю почему.

14
задан Cœur 12 July 2017 в 15:50
поделиться