2012-09-20 2 views
2

У меня есть грамматика для моего приложения pyparsing в DB. Они находятся в формате String. Я хочу преобразовать то же самое в объект-грамм в моем приложении и покончить с ним.pyparsing как создать объект грамматики из строки

Word(alphas) + Word(nums) 

Над фрагментом является одной из записей в базе данных, для которых мне нужно построить грамматику объект

Может ли один, дайте мне знать, как это может быть достигнуто

ответ

3

Если я правильно понимаю, вы может использовать eval или exec. Для примера:

g = eval("Word(alphas) + Word(nums)") 
+0

Спасибо большое решение помогло мне – Balachandar

+0

Но это может быть небезопасно, если в базе данных будет вредоносный код – Amper

2

Для чего-то более безопасным, чем Eval, вы можете использовать EBNF анализатор, который входит в состав установки источника Pyparsing или download it from the wiki. Затем вы можете определить свой синтаксический анализатор с помощью EBNF, создать синтаксический анализатор pyparsing и использовать его для анализа связанного текста.

Смежные вопросы