context-free-grammar - 是否存在上下文无关文法,其中所有符号都无用?
问题描述
令 G 为上下文无关文法,定义为终结符 (a,b),从 S 开始,并具有变量 (A,B,C,D,E,F,G)
使用这些生产规则:
S -> aA | BD
A -> aA | aAB | aD
B -> aB | aC | BF
C -> Bb | aAC | E
D -> bD | bC | b
E -> aB | bC
F -> aF | aG | a
G -> a | b
我首先尝试减少非生成符号,删除 A、B、C 和 E。然后在跟踪不可到达的符号之后,我被 S -> 什么都遗漏了。
我已经成功处理了数十个应用程序,但这是我的语法自爆的第一个案例。
这怎么可能?我做错了什么吗?有没有只有无用符号的CFG?
编辑:我提醒算法的步骤:
1)删除非生成符号(生成 X 有一个至少一个推导 X -> w,其中 w 是一串终端)
2)删除不可到达的符号(如果 X 是可达的,如果S -> αXβ)
解决方案
推荐阅读
- javascript - 如何在节点 js 中使用请求登录 gmail?
- reactjs - React 构建文件运行良好,但在 XAMPP 中无法运行
- c - Canbus 过滤设置是如何进行的?
- swift - 使用单例(共享实例)或静态参数哪个更好?
- c# - 如何概括这些 linq 查询
- java - MSAL for Java 快速入门示例应用程序引发异常
- python - 如何在 Django 中过滤两个日期之间的数据?
- python - 在pygame中独立运行多个窗口
- api - Ratpack 中的 /buildinfo 和 /health API 请求
- cloud - 已超出 Google Cloud Load Balancing 配额“IN_USE_ADDRESSES”。限制:全球4.0