2012-09-20 19 views
2

我有我的pyparsing应用程序在数据库中的语法。它们是字符串格式。我想将其转换成我的应用程序中的语法对象,并用它来处理。pyparsing如何从字符串创建语法对象

Word(alphas) + Word(nums) 

上面的片段是在数据库中,我需要构建语法对象

任何一个可以让我知道如何将它如果我理解正确完成

回答

3

中的一个条目,你可以使用eval或exec。例如:

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

感谢很多解决方案帮助我 – Balachandar

+0

但它可能是不安全的,如果在数据库中将是恶意代码 – Amper

2

对于除EVAL东西更安全,你可以使用附带的pyparsing源安装,或download it from the wiki的EBNF解析器。然后,您可以使用EBNF定义解析器,生成一个pyparsing解析器,并使用它解析相关文本。