56 行代码用 Python 实现一个 Flex/Lex

Skywind Inside at 
56 行代码用 Python 实现一个 Flex/Lex的配图
作为 Yacc/Bison 的好搭档 Lex/Flex 是一个很方便的工具,可以通过写几行规则就能生成一个新的词法分析器,大到给你的 parser 提供 token 流,小到解析一个配置文件,都很有帮助;而用 Python 实现一个支持自定义规则的类 Flex/Lex 词法分析器只需要短短 56 行代码,简单拷贝粘贴到你的代码里,让你的代码具备基于可定制规则的词法分析功能。 原理很简单,熟读 Python 文档的同学应该看过 regex module 帮助页面最下面有段程序: def tokenize(code): keywords = {'IF', 'THEN', 'ENDIF', 'FOR……