表示法
语法
以下表示法用于 词法分析器 和 语法 文法片段
表示法 | 示例 | 含义 |
---|---|---|
大写 | KW_IF, INTEGER_LITERAL | 由词法分析器产生的词法单元 |
斜体驼峰式 | LetStatement, Item | 一个语法生成式 |
字符串 | x , while , * | 精确的字符或字符序列 |
\x | \n, \r, \t, \0 | 此转义序列表示的字符 |
x? | pub ? | 一个可选项 |
x* | OuterAttribute* | 0 个或多个 x |
x+ | MacroMatch+ | 1 个或多个 x |
xa..b | HEX_DIGIT1..6 | x 重复 a 到 b 次 |
| | u8 | u16 , Block | Item | 两者中的一个 |
[ ] | [b B ] | 列出的任意字符 |
[ - ] | [a -z ] | 该范围内的任意字符 |
~[ ] | ~[b B ] | 除了列出的字符以外的任意字符 |
~string | ~\n , ~*/ | 除了此序列以外的任意字符 |
( ) | (, Parameter)? | 分组项 |
字符串表生成式
语法中的某些规则——尤其是一元运算符、二元运算符和关键字——以简化形式给出:作为可打印字符串的列表。这些情况构成了关于词法单元规则的一个子集,并且被认为是词法分析阶段馈送给解析器的结果,该阶段由一个DFA驱动,操作所有此类字符串表条目的析取(disjunction)。
当语法中出现此类使用等宽字体
的字符串时,它隐式引用了此类字符串表生成式中的一个成员。有关更多信息,请参阅词法单元。