标签: lexical-analysis compiler-construction
我必须保留我的词法分析器的令牌信息,例如它的行和列。如果我遇到一些像这样的源代码:\t \t int myInt;,我怎么知道令牌的列?因为我不知道不需要多少列。 感谢
\t \t int myInt;
答案 0 :(得分:2)
实验证据表明,gcc至少只是将制表符计为单个字符。
如果要查找常规显示文本的列号,则必须选择标签宽度(可能为8或4)并向上舍入到第一个匹配的制表位。但问题当然是不同的用户选择不同的标签宽度,让编译器任意选择自己的标签宽度可能只会增加混乱。