扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
词法文法和句法文法用文法产生式来表示。每个文法产生式定义一个非结束符号和它可能的扩展(由非结束符或结束符组成的序列)。在文法产生式中,非结束符号显示为斜体,而结束符号显示为等宽字体。
文法产生式的第一行是该产生式所定义的非结束符号的名称,后跟一个冒号。每个后续的缩进行列出一个可能的扩展,它是以非结束符或结束符组成的序列的形式给出的。例如,产生式:
while-statement:(while 语句:)
while ( boolean-expression ) embedded-statement(while ( 布尔表达式 ) 嵌入语句)
定义了一个 while 语句,它是这样构成的:由标记 while 开始,后跟标记“(”、布尔表达式、标记“)”和嵌入的语句。
当有不止一个可能的非结束符号扩展时,列出这些可能的扩展(每个扩展单独占一行)。例如,产生式:
statement-list:(语句列表:)
statement(语句)
statement-list statement(语句列表 语句)
定义一个语句列表,它或仅含有一个语句,或由一个语句列表和随后跟着的一个语句组成。换言之,定义是递归的,语句列表由一个或多个语句组成。
一个符号若以下标“可选”作其后缀,就表明该符号是可选的。产生式:
block:(块:)
{ statement-listopt }({ 语句列表可选 })
是以下产生式的简短形式:
block:(块:)
{ }
{ statement-list }({ 语句列表 })
它定义了一个块,此块由一个用“{”和“}”标记括起来的可选语句列表组成。
可选项通常在单独的行上列出,但是当有许多可选项时,可以在单行上给定的扩展列表之前加上短语“下列之一”。这只是在单独一行上列出每个可选项的简短形式。例如,产生式:
real-type-suffix: one of(实数类型后缀:下列之一)
F f D d M m
是以下产生式的简短形式:
real-type-suffix:(实数类型后缀:)
F
f
D
d
M
m
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者