擅长:python、mysql、java
<p>我最终做的是关闭优化。我在浏览PLI3.4源代码时,在lexer代码中发现了一个小亮点:</p>
<pre><code># If in optimize mode, we write the lextab
if lextab and optimize:
lexobj.writetab(lextab,outputdir)
return lexobj
</code></pre>
<p>通过将构建lexer和解析器的代码更改为:</p>
<p><code>self.lexer = lex.lex(module=self, optimize=False, debug=False, **kwargs)</code></p>
<p>以及</p>
<p><code>self.lexer = lex.lex(module=self, optimize=False, debug=False, **kwargs)</code></p>
<p>我避免了所有的文件写出来。调试器将<code>.out</code>文件写入目录,Python文件是<code>optimize</code>标志的结果。在</p>
<p>虽然这暂时有效,但我不能说我对这种方法完全满意。想必,有某种方法来保持优化,同时保持工作目录的干净,将是一个更好的解决方案,将导致更好的性能。如果别人有更好的方法,我会非常乐意接受。在</p>