30.1. 空白与注释

空白(whitespace)有两个用途:分隔源文件中的符号和区分前缀、后缀和二元运算符(参见 运算符),在其他情况下空白则会被忽略。以下的字符会被当作空白:空格(U+0020)、换行符(U+000A)、回车符(U+000D)、水平制表符(U+0009)、垂直制表符(U+000B)、换页符(U+000C)以及空字符(U+0000)。

注释被编译器当作空白处理。单行注释由 // 开始直至遇到换行符(U+000A)或者回车符(U+000D)。多行注释由 /* 开始,以 */ 结束。多行注释允许嵌套,但注释标记必须成对出现。

注释可以包含其他的格式和标记,如 标记格式参考中所述。

空白语法

空白 → 空白项 空白可选

whitespace-item

空白项 → 断行符

空白项 → 注释

空白项 → 多行注释

空白项 → U+0000,U+0009,U+000B,U+000C 或者 U+0020

line-break

断行符 → U+000A

断行符 → U+000D

断行符 → U+000D 接着是 U+000A

comment

注释 → // 注释内容 断行符

multiline-comment

多行注释/* 多行注释内容 */

comment-text

注释内容 → 注释内容项 注释内容可选

comment-text-item

注释内容项 → 任何 Unicode 标量值,除了 U+000A 或者 U+000D

multiline-commnet-text

多行注释内容 → 多行注释内容项 多行注释内容可选

多行注释内容项 → 多行注释.

多行注释内容项 → 注释内容项

多行注释内容项 → 任何 Unicode 标量值,除了 /* 或者 */

下一节:标识符(identifier) 可以由以下的字符开始:大写或小写的字母 A 到 Z、下划线(_)、基本多文种平面(Basic Multilingual Plane)中非字符数字组合的 Unicode 字符以及基本多文种平面以外的非个人专用区字符。在首字符之后,允许使用数字和组合 Unicode 字符。