符号约定
语法
以下符号约定在 "词法" 和 "语法" 的代码表示段中使用:
| 符号约定 | 示例 | 意义 |
|---|---|---|
| 大写字母 | KW_IF,INTEGER_LITERAL | 表示词法分析器所生成的 token |
| 驼峰斜体 | LetStatement,Item | 表示语法产生式 |
string | x,while,* | 表示精确的字符 |
| \x | \n,\r,\t,\0 | 表示此转义字符所代表的字符 |
| x? | pub? | 表示可选项 |
| x* | 外部属性* | 表示 0 个或多个 x |
| x+ | 宏匹配+ | 表示 1 个或多个 x |
| xa..b | 十六进制数1..6 | 表示 x 重复 a 到 b 次 |
| | | u8 | u16,块 | 条目 | 两个选项中的一个 |
| [ ] | [b B] | 列举出中括号内的任意一个字符 |
| [ - ] | [a-z] | 列举出指定范围内的任意一个字符 |
| ~[ ] | ~[b B] | 列举除中括号内的任意一个字符之外的所有字符 |
~string | ~\n,~*/ | 列举除指定序列之外的所有字符 |
| ( ) | (, 参数)? | 分组 |
译注:中文翻译无法表达驼峰形式,仅用斜体表示。无法表达大小写形式。如有必要可查看翻译仓库中的条目。
表中 string 产生式
在语法中,一些规则,尤其是 一元运算符 、 二元运算符 和 关键字 ,用简化表示:以易阅读的字符串清单的形式。 这些情况形成了有关 token 规则的子集,假定它们是由一个驱动着词法分析阶段的确定性有限自动机DFA操作生成的,则在所有此类表中字符串词条的分离分支上进行操作。
当在语法中看到用 monospace 等宽字体显示的字符串时,它隐式地指代表中 string 产生式的一个成员。有关更多信息,请参见 令牌 。