牛骨文教育服务平台(让学习变的简单)

4.12 优化模式

为了提高性能,你可能希望使用Python的优化模式(比如,使用-o选项执行Python)。然而,这样的话,Python会忽略文档字串,这是lex.py的特殊问题,可以通过在创建lexer的时候使用optimize选项:

lexer = lex.lex(optimize=1)

接着,用Python常规的模式运行,这样,lex.py会在当前目录下创建一个lextab.py文件,这个文件会包含所有的正则表达式规则和词法分析阶段的分析表。然后,lextab.py可以被导入用来构建lexer。这种方法大大改善了词法分析程序的启动时间,而且可以在Python的优化模式下工作。

想要更改生成的文件名,使用如下参数:

lexer = lex.lex(optimize=1,lextab="footab")

在优化模式下执行,需要注意的是lex会被禁用大多数的错误检查。因此,建议只在确保万事俱备准备发布最终代码时使用。