空格是否被视为 C 类语言中的一种标记(尤其对 C 感兴趣)? K&R 中的参考手册对此似乎有点含糊。
不,空格不会被视为令牌。从http://c0x.coding-guidelines.com/6.4.html(标准文本草案,不幸的是实际标准需要花钱并且没有开放链接):
token:
keyword
identifier
constant
string-literal
punctuator
preprocessing-token:
header-name
identifier
pp-number
character-constant
string-literal
punctuator
each non-white-space character that cannot be one of the above
GCC 不考虑空白标记:
空格分隔标记;它本身并不是任何类型的令牌。
令牌不必用空格分隔,但通常
避免歧义所必需的。
也不视觉工作室:
标记由空白字符和其他字符分隔(边界)
标记,例如运算符和标点符号。解析代码时,C
编译器会忽略空白字符,除非您将它们用作
分隔符或作为字符常量或字符串文字的组件。
K&R A2.1 代币可能含糊不清,但符合以下文本:
有六类标记:标识符、关键字、常量、
字符串文字、运算符和其他分隔符。毛坯,水平
和垂直制表符、换行符换页符和注释,如下所述
(统称为“空白”)将被忽略,除非它们分开
代币。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)