编译器设计——词法分析:a 占用多少列



我必须为词法分析器保留记号的信息,例如它的行和列。如果我遇到像这样的源代码:t t int myInt;,我怎么知道令牌的列?因为我不知道a t有多少列。由于

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

如果您想找到文本通常显示的列号,您必须选择一个制表符宽度(可能是8或4),并四舍五入到第一个匹配的制表符。但问题当然是不同的用户选择不同的选项卡宽度,而让编译器任意选择自己的选项卡宽度可能只会增加混乱。

最新更新