有人知道Python的FLEX或LEX规范文件在哪里吗?例如,这是ANSI编程语言的lex规范:http://www.quut.com/c/ANSI-C-grammar-l-1998.html
仅供参考,我正在尝试将代码突出显示到Cocoa应用程序中。正则表达式做不到这一点,因为我还想要语法分析来折叠代码和识别块。
发布于 2009-11-14 08:44:48
Lex通常只用于标记化,而不是完整的解析。使用flex/lex进行标记化的项目通常使用yacc/bison进行实际解析。
您可能想看看ANTLR,它是一种比lexx & yacc更“现代”的选择。
ANTLR项目有至少包括one for Python 3的a Github repo containing many ANTLR 4 grammars。
发布于 2009-11-14 08:31:38
grammar.txt是正式的、完整的Python语法--不直接与lex兼容,但您应该能够将其转换为合适的形式。
发布于 2009-11-14 08:35:48
您是否考虑过使用现有的代码加亮器,如Pygments
https://stackoverflow.com/questions/1732743
复制相似问题