• 2022-06-09
    设文法G(S): S→SiA|A A→A+B|B B→)A*|( 1)构造各非终结符的FIRSTVT和LASTVT集合; 2)构造算符优先关系表。
  • 1)文法中添加产生式 S’→#S# S→SiA|A A→A+B|B B→)A*|( 在计算FIRSTVT和LASTVT集合 [br][/br] FIRSTVT LASTVT S’ {#} {#} S {i,+,),(} {i,+,*,(} A {+,),(} {+,*,(} B {),(} {*,(} 2)构造算符优先关系表 求=关系:#=#,)=* 求⋖关系:#⋖FIRSTVT(S)={i,+,),(} i⋖FIRSTVT(A)={+,),(} +⋖FIRSTVT(B)={),(} )⋖FIRSTVT(A)={+,),(} 求⋗关系:LASTVT(S)={i,+,*,(}⋗# LASTVT(S)={i,+,*,(}⋗i LASTVT(A)={+,*,(}⋗+ LASTVT(A)={+,*,(}⋗* [br][/br] + * ( ) i # + ⋗ ⋗ ⋖ ⋖ ⋗ ⋗ * ⋗ ⋗ [br][/br] [br][/br] ⋗ ⋗ ( ⋗ ⋗ [br][/br] [br][/br] ⋗ ⋗ ) ⋖ = ⋖ ⋖ [br][/br] [br][/br] i ⋖ [br][/br] ⋖ ⋖ ⋗ ⋗ # ⋖ [br][/br] ⋖ ⋖ ⋖ =

    内容

    • 0

      给定文法G(S):S → ABcA → a | εB → b | ε非终结符A的 FOLLOW集合是

    • 1

      设有一文法G,如果文法G中没有形如A->...BC...的规则,其中A,B,C为非终结符,则称文法G为()。 A: 算法优先文法 B: LL(1)文法 C: LR(0)文法 D: 算符文法

    • 2

      下面文法不是算符优先文法: S∷=A[ ] | [A∷=aA | B]B∷=a

    • 3

      任何算符优先文法的句型中不会有两个相邻的非终结符号。()

    • 4

       设G为算符文法,a =…aUb…或α =…ab…是G的一个句型(a, b∈VT,UEVN),则算符优先关系aO<b,aO=b或aO>b至少有一个成立。