context-free-grammar - 显示语法。S->aS|aSbS|Ɛ 有歧义并找到明确的语法
问题描述
我有这个问题:
显示语法。S->aS|aSbS|Ɛ 有歧义,找到明确的语法。
我尝试从互联网上学习有关歧义语法的任何内容,但大多数人都尝试使用相同的旧示例,我觉得他们没有正确传达将歧义语法转换为明确语法的方法。我知道没有一种明确的方法可以解决这个问题。我尝试了各种尝试方法,这就是我得到的:
首先证明给定的语法不明确:尝试从上述语法中获取 aab
你会发现至少有两种方法可以解决它。
所以我想了想,想出了一个使用hit and trial的解决方案。
S -> aT|ε T -> aTbT | ε
我没有正确性的证据,也没有太多可靠的想法来支持我提出这个问题,但我至少无法使用这种新语法为 aab 制作两个不同的解析树。
这个答案是否正确。如果有人告诉我这实际上是如何完成的以及它背后的基本原理,而不是像我一样进行尝试和尝试,我将不胜感激。
解决方案
推荐阅读
- excel - 将 MsgBox 文本复制到剪贴板
- xamarin - OnResume() 和 OnSleep() 已调用但无法正常工作
- python - 在 Python 中加密和解密文件
- python-3.x - 完整值未使用 Python 写入文件
- sql - 设置数据库复制时启动快照代理时出现异常
- php - 是否可以为 Vue 组件使用刀片模板?
- matlab - 如何从另一个会话中退出调试
- laravel - 如何使用 eloquent 使用 distinct 进行过滤?
- django - 如何在 django-channels 中测试包含倒数计时器的 websocket 操作?
- android - 无法更新 Android gradle 插件版本