编译原理(5)-----2型文法和下推自动机

2型文法:

               1、2型文法也称上下文无关文法

           2、如果文法G(N,Σ,P,S)的规则集P中所有规则均满足:A->α,其中,A∈N,α(NΣ)*,则称G为上下文无关文法

           3、规则右端的格式没有约束,即规则左部的非终结符可以被改写成任何形式


下推自动机:

             注:以下来自《统计自然语言处理》一书,下推自动机的实例维基百科有(多看几遍就能理解)

                  下推自动机(PDA)可以看成是一个带有附加下推存储器的有限自动机,下推存储器是一个堆栈。原理图如下:

                  

                   不确定的下推自动机可以表达成一个七元组:M=(ΣQΓδ,q0,Z0,F)

                        Σ是输入符号的有穷集合;Q是状态的有限集合;Γ为下推存储器符号的有穷集合;q0∈Q是初始状态;

                        Z0Γ为最初出现在下推存储器顶端的开始符号;F⊆Q是终止状态(接受状态)集合;

                   映射关系δδ(q,a,Z)={(q1,r1),(q2,r2),,(qm,rm)}                                                 (3-5)

                        其中,q1,q2,,qmQ,aΣ,ZΓ,r1,r2,,rmΓ*。

                        1、式3-5的含义是:当下推自动机处于状态q,接收输入符号a时,自动机将进入到qi(i=1,2,,m)状态,

                              并以ri来代替下推存储器(栈)顶端符号Z,同时将输入头指向下一个字符。当Z被ri取代时,ri的符号

                             按照从左到右的顺序依次从下向上推入到存储器。

                        2、特殊情况下,δ(q,ε,r)={(q1,r1),(q2,r2),,(qm,rm)} 时,意味者下推自动机处于状态q时没有接收

                              任何输入符号,因此,输入头位置不移动,只用于处理下推存储器内部的操作,自动机进入到qi(i=

                              i=1,2,,m)状态,并以ri来代替下推存储器(栈)顶端符号Z。


补充一点:

                 如果把下推自动机扩展,允许一个有限状态自动机存取两个栈,将会得到一个能力更强的自动机,与图灵机等价。

            

            

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值