zoukankan      html  css  js  c++  java
  • 作业十四——算符优先分析

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

    1)计算FIRSTVT和 LASTVT。

    2)找三种关系对。

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

    4)是否算符优先文法?

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

     

     当出现=时,最近的一个'<',中间'=',到=下面的'>'

    归约是归约符号串,归约部分是从现在的>到上面分析过程中最近的'<'

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

    可以只写表达式部分

     参考链接:https://max.book118.com/html/2018/0124/150308953.shtm

    不太会写,但是知道先要将FirstVT,LastVT求出,然后根据三种关系求出算符优先关系表,最后进行分析

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

    a*b+(c-d)/e 

    三元式:(op,arg1,arg2)【(运算符,操作数1,操作数2)】

    (1)(-,c,d)

    (2)(*,a,b)

    (3)(/,(1),e)

    (4)(+,(2),(3))

    四元式:(op,arg1,arg2,result)【(运算符,操作数1,操作数2,结果)】

    (1)(-,c,d,t1)

    (2)(*,a,b,t2)

    (3)(/,t1,e,t3)

    (4)(+,t2,t3,t4)

    t1是第一个式子的差,t2是第二个式子的积,t3是t1和e的商,t4是t2,t3的和

    逆波兰式: 

    ab*cd-e/+

    有括号所以先算c-d得到cd-,a*b可得ab*,cd-还要除以e,所以cd-e/,最后两部分相加得

    ab*cd-e/+

  • 相关阅读:
    HTML5和HTML4之间的区别
    HttpRequest信息内容介绍
    Spring Web MVC处理请求的流程
    游戏中的路径动画设计与实现
    Python基本数据类型
    Python基本数据类型
    perl .= 操作符
    出差二、三事——北漂18年(25)
    perl 卸载Oracle数据库
    perl 卸载mysql数据库
  • 原文地址:https://www.cnblogs.com/cyxxixi/p/12015190.html
Copyright © 2011-2022 走看看