符号约定
语法
以下符号约定在 "词法" 和 "语法" 的代码表示段中使用:
符号约定 | 示例 | 意义 |
---|---|---|
大写字母 | 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
产生式的一个成员。有关更多信息,请参见 令牌 。