C#如何实现文法产生式

这篇文章将为大家详细讲解有关C#如何实现文法产生式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

C#语言有很多值得学习的地方,这里我们主要介绍C#文法产生式,包括介绍XX等方面。

词法文法和句法文法用C#文法产生式来表示。每个文法产生式定义一个非结束符号和它可能的扩展(由非结束符或结束符组成的序列)。在文法产生式中,非结束符号显示为斜体,而结束符号显示为等宽字体。

C#文法产生式的***行是该产生式所定义的非结束符号的名称,后跟一个冒号。每个后续的缩进行列出一个可能的扩展,它是以非结束符或结束符组成的序列的形式给出的。例如,产生式:
◆while-statement:(while 语句:)
◆while   (   boolean-expression   )  
◆embedded-statement(while   (   布尔表达式   )   嵌入语句)

定义了一个 while 语句,它是这样构成的:由标记 while 开始,后跟标记“(”、布尔表达式、标记“)”和嵌入的语句。

当有不止一个可能的非结束符号扩展时,列出这些可能的扩展(每个扩展单独占一行)。例如,产生式:
◆statement-list:(语句列表:)
◆statement(语句)
◆statement-list   statement(语句列表   语句)

定义一个语句列表,它或仅含有一个语句,或由一个语句列表和随后跟着的一个语句组成。换言之,定义是递归的,语句列表由一个或多个语句组成。

一个符号若以下标“可选”作其后缀,就表明该符号是可选的。产生式:

block:(块:)

{   statement-listopt   }({   语句列表可选   })

是以下产生式的简短形式:

block:(块:)

{   }

{   statement-list   }({   语句列表   })

它定义了一个块,此块由一个用“{”和“}”标记括起来的可选语句列表组成。

可选项通常在单独的行上列出,但是当有许多可选项时,可以在单行上给定的扩展列表之前加上短语“下列之一”。这只是在单独一行上列出每个可选项的简短形式。

关于“C#如何实现文法产生式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/230484.html

(0)
上一篇 2022年1月15日
下一篇 2022年1月15日

相关推荐

发表回复

登录后才能评论