pyparsing如何从字符串创建语法对象

时间:2012-09-20 06:03:50

标签: python pyparsing

我在DB中使用pyparsing应用程序的语法。它们是String格式。我希望将它转换为我的应用程序中的语法对象并使用它。

Word(alphas) + Word(nums)

上面的代码片段是我需要构建语法对象

的数据库中的一个条目

任何人都可以告诉我如何实现它

2 个答案:

答案 0 :(得分:3)

如果我理解正确,您可以使用eval或exec。例如:

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

答案 1 :(得分:2)

对于比eval更安全的东西,您可以使用pyparsing源安装中包含的EBNF解析器,或download it from the wiki。然后,您可以使用EBNF定义解析器,生成一个pyparsing解析器,并使用它来解析相关文本。