模棱两可的(ambiguous)和明确语法(unambiguous grammar)的区别

歧义语法和无歧义语法的主要区别在于,歧义语法是一种上下文无关语法,其中存在一个可以有多个最左边派生的字符串,而无歧义语法是一种上下文无关语法,其中每个有效字符串都有一个唯一的最左边派生。...

歧义语法和无歧义语法的主要区别在于,歧义语法是一种上下文无关语法,其中存在一个可以有多个最左边派生的字符串,而无歧义语法是一种上下文无关语法,其中每个有效字符串都有一个唯一的最左边派生。

语法是指自然语言中的句法规则。1956年,计算机科学家提出了一种用于编写计算机语言的语法数学模型。如果可以用某种语法推导出一种语言的所有字符串,那么可以说这种语言是由这种语法生成的。上下文无关语法是语法的一种类型。这种语法生成上下文无关的语言。上下文无关语法可以是模糊的,也可以是明确的。对于一个特定的字符串,如果有两个或两个以上的派生,那么这个语法就被认为是不明确的。对于一个特定的字符串,如果只有一个唯一的最左边的派生,那么这个语法就被称为无歧义语法。

覆盖的关键领域

1.什么是歧义语法-定义,例2.什么是无歧义语法-定义,例3.歧义语法和无歧义语法的区别-关键区别的比较

关键术语

含糊不清的语法

模棱两可的(ambiguous)和明确语法(unambiguous grammar)的区别

什么是歧义语法(ambiguous grammar)?

如果一个字符串有两个或两个以上的派生词,语法就被认为是不明确的。

Difference Between Ambiguous and Unambiguous Grammar

Figure 1: Ambiguous Grammar

假设有一个语法定义如下。

G=({S},{a+b,+,*},P,S}。产生式规则如下。S->S+S | S*S | a | b。假设需要生成字符串a+a*b。

考虑,S->S+S

用“a”代替最左边的S将得到以下结果。

S->a+S

用S*S代替S如下。

S->a+S*S

用“a”代替最左边的S将得到下面的输出。

S->a+a*S

用“b”代替S将得到以下输出。

S->a+a*b

这是生成所需的字符串。

当使用其他产生式规则时,它将

S->S*S

将S+S应用于最左边的S将给出以下结果。

S->S+S*S

用“a”代替最左边的S,

S->a+S*S

用“a”代替最左边的S,

S->a+a*S

用“b”代替S将得到以下输出。

S->a+a*b

同样,它生成了所需的字符串。因此,有多个派生来生成字符串。因此,它是一个模棱两可的语法。

什么是明确语法(unambiguous grammar)?

在不明确的语法中,某个字符串具有唯一的最左端派生。请参阅以下生产规则。

S->L | a,L->LS | S

考虑S->L规则。用LS代替L。

S->LS

用S代替第一个L。

S->S S

用“a”代替最左边的S将得到下面的输出。

S->a S

用“a”代替S将得到以下结果。

S->a a

因此,字符串具有唯一的最左侧派生。所以,这是一个明确的语法。

模棱两可的(ambiguous)和明确语法(unambiguous grammar)的区别

定义

歧义语法是一种上下文无关语法,它存在一个字符串,该字符串可以有多个最左边的派生树或解析树。无歧义语法是一种上下文无关语法,其中每个有效字符串都有一个唯一的最左边的派生树或解析树。

最左侧派生数

在歧义语法中,一个字符串可以有两个或多个最左端派生,但在无歧义语法中,一个字符串有一个唯一的最左端派生。

结论

上下文无关语法可以是模糊的或明确的。歧义语法和无歧义语法的区别在于,歧义语法是一种上下文无关语法,其中存在一个可以具有多个最左侧派生的字符串,而无歧义语法是一种上下文无关语法,其中每个有效字符串都具有唯一的最左侧派生。

引用

1、“模糊语法”,维基百科,维基媒体基金会,2018年7月17日,这里有。2。编译器设计|歧义语法。“Geeksforgeks,2018年2月10日,此处提供。3。”《歧义语法》,Neso学院,2017年3月29日,可在此处查阅。 2.“编译器设计|歧义语法”,《Geeksforgeks,2018年2月10日》, 3.“歧义语法”,Neso学院,2017年3月29日,

  • 发表于 2021-06-30 21:25
  • 阅读 ( 924 )
  • 分类:IT

你可能感兴趣的文章

嗓音(voice)和语法中的言语(speech in grammar)的区别

...格形式的语音对比 5. 摘要 什么是语法中的语态(voice in grammar)? 在语法中,语态决定动词是主动的还是被动的。当主语是行为人时,句子是主动的;相反,当主语是行为的目标或实施者时,句子是被动的。主动句被称为主动语...

  • 发布于 2020-10-18 02:10
  • 阅读 ( 426 )

传统语法(traditional grammar)和现代语言学(modern linguistics)的区别

...现代语言学的表格形式 5. 摘要 什么是传统语法(traditional grammar)? 传统语法是关于语言结构的规定性规则和概念的集合。传统语法的起源可以追溯到公元前15世纪,亚里士多德、柏拉图和希腊语。然而,最著名的传统语法学家在1...

  • 发布于 2020-10-18 06:48
  • 阅读 ( 512 )

一(a)和英语语法(an in english grammar)的区别

...的正确用法是非常重要的。 什么是英语语法a(a in english grammar)? 不定冠词a用于“一”的意义,它用在名词前面,作为一种数的形容词,如下面的句子中。 珍妮特今天早上吃了芒果。 在这句话中,你会想到珍妮特今天早上只吃...

  • 发布于 2020-10-27 12:13
  • 阅读 ( 275 )

词汇(lexical)和结构歧义(structural ambiguity)的区别

...、短语或句子可以用一个以上的意思来解释,它就会变得模棱两可。歧义可以分为词汇歧义和结构歧义两大类。当一个词的词义不止一个时,就会出现一个以上的歧义。结构歧义是指一个句子因其句子结构而具有多个意义的情况...

  • 发布于 2020-10-26 19:20
  • 阅读 ( 367 )

应该(shall)和威尔英语语法(will in english grammar)的区别

...但真金会发光。 应该(shall)和威尔英语语法(will in english grammar)的区别 •Shall是一个情态助动动词,主要用于第一人称。 •应有时用于表达建议、提议和请求。 •情态动词,也可以用在其他助词上。 •在预测中使用意志是很常...

  • 发布于 2020-10-28 00:43
  • 阅读 ( 339 )

模棱两可的(ambiguous)和矛盾的(ambivalent)的区别

...选择哪个方面犹豫不决。 暧昧是什么意思? 如上所述,模棱两可是指对某事的不确定或不清楚。《牛津词典》对这个词的定义是不止一个意思。因此,很明显,如果对同一事物有不止一种解释,那么关于某一特定事物的不清楚...

  • 发布于 2020-10-29 13:12
  • 阅读 ( 435 )

属于(of)和在英语语法中(for in english grammar)的区别

英语语法中的vs-for   由于of和for是许多人经常互换的介词,要想准确地使用of和for,就必须了解of和for在英语语法中的区别。介词总是出现在句子中,并且总是在句子中使用。单词of和for也是最常用的两个介词。Of和for用于表示...

  • 发布于 2020-11-06 07:46
  • 阅读 ( 218 )

那里(there)和他们的英语语法(their in english grammar)的区别

...只用作代词。 那里(there)和他们的英语语法(their in english grammar)的共同点 在那里和它们的发音相似,它们被称为同音异义词。 他们和他们经常一起用在句子中。 那里(there)和他们的英语语法(their in english grammar)的区别 ...

  • 发布于 2020-11-06 17:00
  • 阅读 ( 391 )

语法溢价值吗?这是你需要知道的一切

...单词检查工具,用于识别文本中的拼写错误和语法错误。Grammarly有两种风格:Grammarly Free和Grammarly Premium,其中唯一的区别是Grammarly Premium包含额外的功能,例如抄袭检测,价格为29.95美元/月。 ...

  • 发布于 2021-03-19 07:03
  • 阅读 ( 263 )

语法(grammar)和语法(syntax)的区别

...一门学科。 语法与语法:比较表   总结 - 语法基础(of grammar) vs. 语法(syntax) 尽管语法和语法的区别就像发动机和汽车一样,但它并不是每个人的杯中之水。区分它们并不是一件容易的事,尤其是因为大多数人都没有遇到过任...

  • 发布于 2021-06-25 20:44
  • 阅读 ( 257 )
roy960864
roy960864

0 篇文章

相关推荐