上下文无关文法——形式定义和推导办法

形式定义

上下文无关文法 G G G是一个四元组,即 G = ( V T , V N , P , S ) G=(V_T,V_N,P,S) G=(VT,VN,P,S)

  • 终结符(Token)集合 V T V_T VT
  • 非终结符集合 V N V_N VN(与 V T V_T VT不相交)
  • 产生式或文法规则 A → α A\rightarrow \alpha Aα形成的集合 P P P,其中 A ∈ V N A\in V_N AVN α ∈ ( V T ∪ V N ) ∗ \alpha \in (V_T\cup V_N)^* α(VTVN)
  • 开始符号 S S S,其中 S ∈ V N S\in V_N SVN

注:终结符和非终结符可以用单个字符表示,也可以用字符串表示。

最左和最右推导

  • 对于文法 G [ S ] G[S] G[S] S ⇒ ∗ γ S\Rightarrow {}^*\gamma Sγ是一个最左推导是指:在由 S S S推导 γ \gamma γ的过程中,任何一步直接推导 α ⇒ β \alpha \Rightarrow \beta αβ,都是用字符串 α \alpha α中的最左非终结符对应的产生式规则进行推导,其中 α \alpha α β \beta β是句型。

    • 简单整型算术表达式文法:
      e x p → e x p    o p    e x p ∣ ( e x p ) ∣ n u m b e r exp\rightarrow exp\; op\; exp|(exp)|number expexpopexp(exp)number
      o p → + ∣ − ∣ ∗ op\rightarrow +|-|* op+
      算术表达式 ( 34 − 3 ) ∗ 42 (34-3)*42 (343)42的最左推导:
      最左推导
  • S ⇒ ∗ γ S\Rightarrow {}^*\gamma Sγ是一个最右推导是指:在由 S S S推导 γ \gamma γ的过程中,任何一步直接推导 α ⇒ β \alpha \Rightarrow \beta αβ,都是用字符串 α \alpha α中的最右非终结符对应的产生式规则进行推导,其中 α \alpha α β \beta β是句型。 > 最右推导也被称为规范推导,由规范推导所得的句型称为规范句型。 - 简单整型算术表达式文法:
    e x p → e x p    o p    e x p ∣ ( e x p ) ∣ n u m b e r exp\rightarrow exp\; op\; exp|(exp)|number expexpopexp(exp)number
    o p → + ∣ − ∣ ∗ op\rightarrow +|-|* op+
    算术表达式 ( 34 − 3 ) ∗ 42 (34-3)*42 (343)42的最右推导:
    最右推导

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LP学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值