我需要编写生成以下自动机的CFG。
我知道这样的过渡:
-es, es; S lead to a rule like S-> es
-es, B; es lead to a rule like B -> es
-es, B; aB lead to a rule like B-> aB
es代表空字符串。
但我不知道如何处理像“c,a; a”这样的规则。任何人都可以给我任何帮助?谢谢。
答案 0 :(得分:0)
一般来说,每个产品都是一个有限状态机,它显示了解析器在该产品中的进展。
自动机使用的堆栈是这种生产状态的堆栈。每次进入生产阶段,都会推动其初始状态。每当你结束一个,你就会把它现在最终的状态弹出。终端可以被视为退化生产,其状态机具有单一状态。