• 算符优先分析


    1.接上个作业(P121练习1),完成4),5)两个步骤。

    1)计算FIRSTVT和 LASTVT。

    S1→ #S#

    S→ a|Λ|(T)

    T→ T,S|S

    FIRSTVT(S)={a,Λ,(}

    FIRSTVT(T)={,,a,Λ,(}

    LASTVT(S)={a,Λ,)}

    LASTVT(T)={,,a,Λ,)}

    2)找三种关系对。

    =

    (T)

    #S#

    <

    #S

    ,S

    (T

    >

    S#

    T)

    T,

    3)构造算符优先关系表。

    4)是否算符优先文法?

    5)给出输入串(a,(a,a))#的算符优先分析过程。

    2.尝试编写自下而上的语法分析程序。

    可以只写表达式部分

    3.给出下面语句的逆波兰式、三元式、树及四元式。

    a*b+(c-d)/e 

    三元式:

    (1):(*,a,b)

    (2):(-,c,d)

    (3):(/,(2),e)

    (4):(+,(1),(3))

    四元式:

    (1):(*,a,b,t1)

    (2):(-,c,d,t2)

    (3):(/,t2,e,t3)

    (4):(+,t1,t3,t4)

    逆波兰式:

    a*b+(c-d)/e   ->  ab*cd-e/+

  • 相关阅读:
    next_permutation( ) 和prev_permutation( ) 全排列函数
    F
    STL入门
    H
    C
    提交按钮组件
    JScorllPane面板(带滚轮的JPane)
    JPanel画板
    网络布局管理器
    边界布局管理器
  • 原文地址:https://www.cnblogs.com/moxiaomo/p/12015270.html
Copyright © 2020-2023  润新知