下推自动机到Context免费:怎么做?

时间:2012-03-07 20:03:34

标签: context-free-grammar pushdown-automaton

我需要编写生成以下自动机的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”这样的规则。任何人都可以给我任何帮助?谢谢。

http://tonguim.free.fr/divers/automata.jpg

1 个答案:

答案 0 :(得分:0)

一般来说,每个产品都是一个有限状态机,它显示了解析器在该产品中的进展。

自动机使用的堆栈是这种生产状态的堆栈。每次进入生产阶段,都会推动其初始状态。每当你结束一个,你就会把它现在最终的状态弹出。终端可以被视为退化生产,其状态机具有单一状态。