Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

记法

语法

以下记法用于词法分析器语法格式文法片段:

记法示例含义译者注
CAPITALKW_IF, INTEGER_LITERAL词法分析器生成的词法单元大写
ItalicCamelCaseLetStatement, Item一个语法产生式斜体、驼峰方式大小写(单词首字母大写)
stringx, while, *确切的字符(或字符串)
x?pub?一个可选的项
x*OuterAttribute*0个或多个x
x+MacroMatch+1个或多个x
xa..bHEX_DIGIT1..6a到b次重复x
Rule1 Rule2fn Name Parameters规则的顺序序列
|u8 | u16, Block | Item二者之一
[ ][b B]列出的任意字符
[ - ][a-z]范围内的任意字符
~[ ]~[b B]任意字符,除了列出的
~string~\n, ~*/任意字符,除了此序列
( )(, Parameter)?分组项
U+xxxxU+0060一个Unicode字符
<text><any ASCII char except CR>一个匹配内容的英文描述
Rule suffixIDENTIFIER_OR_KEYWORD except crate对前一个规则的修改
// Comment.// Single line comment.延伸到行尾的注释。

序列的优先级高于|选项。

字符串表产生式

语法中的某些规则 —— 特别是一元运算符二元运算符关键字 —— 以简化形式给出:作为可打印字符串的列表。这些情况构成了关于词法单元规则的一个子集,并被认为是词法分析阶段的结果,该阶段由一个DFA驱动,作用于所有此类字符串表条目的析取,从而为解析器提供输入。

当语法中出现等宽字体的字符串时,它隐式引用了此类字符串表产生式的一个成员。有关更多信息,请参阅词法单元

语法可视化

在每个语法块下方都有一个按钮,用于切换语法格式图的显示。一个方形元素是一个非终结规则,一个圆角矩形是一个终结符。