2012-09-20 22 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解析器,並使用它解析相關文本。