[英]Using PLY with python -OO?
我有一個啟動應用程序的系統:
python -OO my_app.py
我無法更改應用程序的啟動方式,但可以完全控制該應用程序。 當使用PLY向應用程序中添加解析器時,-OO會刪除PLY依賴的文檔字符串,這讓我很受苦。
在-OO開頭的應用程序中不能使用PLY嗎? 是否有任何聰明的Python技巧可以用來解決此問題?
我一直在考慮使用Cython編譯解析器模塊。 我不確定是否可以做到,並且會增加一層復雜性,因此在我走這條路之前,我會感激其他想法。
好的,就像寫問題一樣找到答案的經典案例...
在PLY手冊中明確指出,有一個用於此確切用例的優化模式 。 我認為它指的是另一種性能優化。
請注意,由於-OO會刪除文檔字符串,因此使用optimize = 1實例化詞法分析器和解析器將無法處理空規則,例如以下規則:
def p_commands(self, p):
"""commands :
| commands command"""
# This will fail when running optimized
def p_command(self, p):
"""command : foo
| bar"""
p[0] = p[1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.