首页 > 解决方案 > 显示语法。S->aS|aSbS|Ɛ 有歧义并找到明确的语法

问题描述

我有这个问题:

显示语法。S->aS|aSbS|Ɛ 有歧义,找到明确的语法。

我尝试从互联网上学习有关歧义语法的任何内容,但大多数人都尝试使用相同的旧示例,我觉得他们没有正确传达将歧义语法转换为明确语法的方法。我知道没有一种明确的方法可以解决这个问题。我尝试了各种尝试方法,这就是我得到的:

首先证明给定的语法不明确:尝试从上述语法中获取 aab

你会发现至少有两种方法可以解决它。

所以我想了想,想出了一个使用hit and trial的解决方案。

S -> aT|ε T -> aTbT | ε

我没有正确性的证据,也没有太多可靠的想法来支持我提出这个问题,但我至少无法使用这种新语法为 aab 制作两个不同的解析树。

这个答案是否正确。如果有人告诉我这实际上是如何完成的以及它背后的基本原理,而不是像我一样进行尝试和尝试,我将不胜感激。

标签: context-free-grammarcomputation-theoryambiguous-grammar

解决方案


推荐阅读