LudchikLuk
Янв. 29, 2011 17:38:36
Мне нужно написать парсер формул.
Например для строки #(5=“sd”,5=“sddf”) нада вызвать функцию и передать ей аргументы (которые в скобках).
Что-то из стандартних библиотек подходит? (parser — Access Python parse trees (
http://docs.python.org/library/parser.html) )?
Что скажете о Pysec??
doza_and
Июль 8, 2011 21:28:05
По такому описанию синтаксиса и семантики как у вас, не получится парсера.
непонятно - сколько аргументов два или разное число
непонятно что передавать (5 или “sd” или то и другое, питон от того что в скобках сразу загнется)
Конкретно вашу строку проще всего запустить заменив # на имя функции и сказать exec (но см выше).
можно разобрать регулярными выражениями.
можно посмотреть pyparsing и т. п.
guranvir
Дек. 25, 2011 12:50:03
Хоть тема относительно древняя, оставлю это здесь:
парсер PEG грамматики