使用ANTLR执行词法分析
词法分析
输入c语言代码,输出是词法单元流,用于给语法分析器使用。语法分析器会按需向词法分析器一个个索要token

词法单元规约:有一个很小很小的语言来规定词法的构成,一般为lex语法
词法分析器的三种分析方法:
- ANTLR(最简单):使用ANTLR自动构建,十分傻瓜
- 手写词法分析器(中等):
- 自己实现一个字符串匹配算法,不难但是很繁琐。
- 一般生产环境下也是这样写,gcc中c语言的词法分析器有1k行,而cpp的有4k行。
- 手写自动化词法分析器(最难):自己写一个ANTLR
ANTLR
- 输入:词法单元的规约(正则表达式)
- 输出:词法分析器
- Tokens文件:词法单元规约
- Java/c/go文件:词法分析器