编译原理(3)----关于文法的推导及语法树

关于最左推导和最优推导:
最左推导:每步推导中只改写最左边的那个非终结符
最右推导:每步推导中只改写最右边的那个非终结符,又称规范推导
举个例子:

   给定文法G(S)的一组规则:
     S->PNP(这里的S表示文法的初始符Start,而不是句子。)
      NP->NN | NP Aux NP
      P->关于          (解释:NP改写为NN或者NP Aux NP,P改写为”关于“)
      NN->鲁迅 | 文章                                   
      Aux->的         (解释:NN改写为”鲁迅“或者”文章“,Aux改写为”的“)

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

      S⇒P NP⇒关于 NP⇒关于NP Aux NP
       ⇒关于NN Aux NP⇒关于鲁迅 Aux NP
       ⇒关于鲁迅的 NP ⇒关于鲁迅的 NN
       ⇒关于鲁迅的文章

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

     S⇒P NP⇒P NP Aux NP
      ⇒P NP Aux NN⇒P NP Aux 文章
      ⇒P NP 的文章⇒P NN的文章
      ⇒P 鲁迅的文章⇒关于鲁迅的文章
                                                         例子来自网络

给定文法G(VN,VT,P ,S),对于G的任何句型都能构造与之关联的语法树。这棵树满足下面四个条件:

       ① 每个结点都有一个标记,此标记是V的 一个符号。
       (说的是节点一定是终结符或非终结符)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值