编译原理(2)-----文法推导

来源:互联网 发布:博客源码哪个好 编辑:程序博客网 时间:2024/06/05 08:41

写在开始:

            这一篇讲一讲形式文法的推导,学习是一个持之以恒的过程,尤其是像我这种初学者了

            注:这一篇的例子来自于统计自然语言处理这本书

形式文法的推导:

           形式文法的推导比较好理解,即按文法G中的规则P推导

        定义:设G=(N,Σ,P,S)是一个文法,在(N∪Σ)*上定义关系 (直接推导或派生)为:如果abc是(NΣ)*中

         的符号串,且b->c是P中的一个产生式,那么,abc adc。

         1、(读作按非平方方式派生)表示的传递闭包,即(NΣ)*上的符号串Xi到Xi+1至少经过一步推导或派生

         2、(读作派生)表示的自反或传递闭包,即(NΣ)*上的符号串Xi到Xi+1至少经过n(n≥0)步推导或派生

         3、如果已经明确某个推导是由给定文法G所产生的,那么符号中的G可以省略

    最左推导:每步推导中只改写最左边的那个非终结符 

    最右推导:每步推导中只改写最右边的那个非终结符,又称规范推导

     举个栗子:

                     给定文法G(S)的一组规则:

                            S->PNP(这里的S表示文法的初始符Start,而不是句子。)

                     NP->NN | NP Aux NP                            P->关于         (解释:NP改写为NN或者NP Aux NP,P改写为”关于“)

                     NN->鲁迅 | 文章                                      Aux->的         (解释:NN改写为”鲁迅“或者”文章“,Aux改写为”的“)

       于是根据这一组文法规则,”关于鲁迅的文章“的最左推导为

                     SP NP关于 NP关于NP Aux NP关于NN Aux NP关于鲁迅 Aux NP关于鲁迅的 NP

                       关于鲁迅的 NN关于鲁迅的文章


       同理,字符串”关于鲁迅的文章“的最右推导为

                   SP NPP NP Aux NPP NP Aux NNP NP Aux 文章P NP 的文章P NN的文章

         ⇒P 鲁迅的文章关于鲁迅的文章


这篇文章大部分部分的内容借鉴了统计自然语言处理这本书,加油!

           




0 0
原创粉丝点击