簡體   English   中英

在python -OO中使用PLY?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM