Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我必须为我的词法分析器保留一个标记的信息,例如它的行和列。如果我遇到这样的一些源代码: \t \t int myInt;,我怎么知道令牌的列?因为我不知道 \t 需要多少列。谢谢
\t \t int myInt;
实验证据表明,gcc 至少将制表符简单地计算为单个字符。
如果您想找到通常显示文本的列号,则必须选择制表符宽度(可能是 8 或 4)并向上舍入到第一个匹配的制表位。但问题当然是不同的用户选择不同的制表符宽度,让编译器任意选择自己的制表符宽度可能只会增加混乱。