我的目标是实现一个非常简单的C语言词法分析,比如当你读到一个表达式ab=3,那么它会被分析为:
ID<ab> OP<=> LIT<8> (op will be "operator",LIT will be "literal").
还有一种情况是你读到一个表达式a ? 乙:c。通常它会被分析为
ID<a> SEP<?> ID<b> SEP<:> ID<c>".
但正如我们所知,它实际上是三元运算符。所以上面列出的分析是不正确的。
现在只想参考gcc、g++等编译器,看看这些编译器是如何实现词法分析的?谁能给我一个建议?