编译器设计 - 词法分析:不需要多少列?

时间:2013-03-30 19:56:23

标签: lexical-analysis compiler-construction

我必须保留我的词法分析器的令牌信息,例如它的行和列。如果我遇到一些像这样的源代码:\t \t int myInt;,我怎么知道令牌的列?因为我不知道不需要多少列。 感谢

1 个答案:

答案 0 :(得分:2)

实验证据表明,gcc至少只是将制表符计为单个字符。

如果要查找常规显示文本的列号,则必须选择标签宽度(可能为8或4)并向上舍入到第一个匹配的制表位。但问题当然是不同的用户选择不同的标签宽度,让编译器任意选择自己的标签宽度可能只会增加混乱。