zoukankan      html  css  js  c++  java
  • 算符优先分析

    1. 已知算符优先关系矩阵如下表:

     

    +

    *

    i

    (

    )

    #

    +

    >

    <

    <

    <

    >

    >

    *

    >

    >

    <

    <

    >

    >

    i

    >

    >

       

    >

    >

    (

    <

    <

    <

    <

    =

     

    )

    >

    >

       

    >

    >

    #

    <

    <

    <

    <

     

    =

     写出符号串(i+i)*i#的算符优先分析过程。

    2.接上个作业(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) (/ ,e,(2))

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

    四元:

    (1) t1:=a*b

    (2) t2:=(c-d)

    (3) t3:= t2/e

    (4) t4:=t1+t3

    逆波兰式:

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

     
  • 相关阅读:
    php 微信调用扫一扫
    JavaSE常用API
    Java中的异常处理
    Java实现多态的机制是什么?
    JavaSE(下)
    JavaSE语法(中)
    JavaSE语法
    Java面向对象
    Java零基础入门之常用工具
    Java抽象类、接口、内部类
  • 原文地址:https://www.cnblogs.com/SeBr7/p/12037376.html
Copyright © 2011-2022 走看看