首页 > 其他分享 ><编译器> 7. 中间代码 | 4. 主要语句的IR树

<编译器> 7. 中间代码 | 4. 主要语句的IR树

时间:2024-06-19 16:10:04浏览次数:10  
标签:语句 ... IR 中间代码 else while done 返回值

1. 调用 output := concat(output,s)

image

image

2. 数组,赋值

a[i+1] := 0
数组变量 a[i]为 a(基地址) + i*w(偏移量)

image

3. while 循环

伪代码:

while cnd do body
start: 
        if not cnd goto done
        body
        goto start
done

两种实现:

image
image

4. for 循环: 变量声明 + while 循环 + 变量++

image
image

条件语句 if...then... , if... then ... else ...

if 语句分为有返回值 和 无返回值,有返回值的 类似于三元表达式 a := if xxx then 1 else 2

无 else 分支

image

有 else 分支

image

标签:语句,...,IR,中间代码,else,while,done,返回值
From: https://www.cnblogs.com/wuoshiwzm/p/18256436

相关文章

  • 「清新题精讲」UVA 1048 - Low Cost Air Travel
    UVA1048-LowCostAirTravel\(\mathsf{\color{Thistle}{Statement}}\)给定\(n\)张机票和\(q\)次旅行,每张机票都给出飞机所经过的城市,每一次乘座飞机,必须从飞机的起始站开始,且中途不能乘坐其他飞机再回来乘坐该架飞机,但是可以提前离开飞机。对于第\(i\)次旅行,输出一次......
  • Rocky Linux yum/dnf repo/mirrors 国内镜像列表及更换方法
    RockyLinuxyum/dnfrepo/mirrors国内镜像列表及更换方法RockyLinuxMirrors请访问原文链接:https://sysin.org/blog/rocky-linux-mirrors/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org高校镜像推荐mirror.sjtu.edu.cn和mirrors.zju.edu.cn。商业公司镜像......
  • AlmaLinux yum/dnf repo/mirrors 国内镜像列表及更换方法
    AlmaLinuxyum/dnfrepo/mirrors国内镜像列表及更换方法AlmaLinuxMirrors请访问原文链接:https://sysin.org/blog/rocky-linux-mirrors/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org高校镜像推荐mirror.sjtu.edu.cn和mirrors.zju.edu.cn。商业公司镜像推荐......
  • 华为 无线控制器 AirEngine9700-M1 AirEngine5760-51 AP供电降档问题
    1故障现象,一台HuaweiSwitchS5720-28TP-PWR-LI-ACpoe交换机接入ap(5760-51)20个,其中一个网口灯不亮,随机拔掉一个AP网线,之前不亮的网口,正常闪亮启动。#AirEngine5760-51满载功率28.8wHuaweiSwitchS5720-28TP-PWR-LI-AC交换机满载功率369w,那明显超载造成的2控制......
  • 数据库常见 SQL 语句及语法
    数据库操作创建数据库语法CREATEDATABASEdatabase_name;删除数据库语法DROPDATABASEdatabase_name;选择数据库语法USEdatabase_name;表操作创建表语法CREATETABLEtable_name(column1(字段)datatype(数据类型)constraints(约束条件),column2d......
  • Shell编程之循环语句
    Shell编程之循环语句一、for循环语句for语句的结构for语句应用示例二、while循环语句while语句的结构while语句应用示例三、until循环语句until语句结构until语句应用示例注意:在Shell编程中,循环语句是一个非常重要的组成部分,它允许我们重复执行某段代码,直到满......
  • uView的DatetimePicker组件在confirm回调中取不到v-model的最新值
    前情uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验非常棒,公司项目就是主推uni-app,在uniapp生态中uView是其中非常好的全平台的第三方开源ui库,我在公司项目中果断的使用了它。我一个过滤弹窗有二个表单需要选择开始......
  • D. Armchairs
    原题链接题解1.改变座位之后,保持人的相对顺序不变一定使答案不劣2.\(n\)不是很大,因此可以考虑\(O(n^2)\)的做法3.令\(dp[i][j]\)为第\(i\)个人移到位置\(j\),且\([1,i-1]\)的人都已经移到了最优位置时的最小花费,\(index[i]\)为第\(i\)个人的下标则\(dp[i][j]=\m......
  • springboot 集成shiro框架
    目录一、Shiro简介二、架构体系与专业术语三、Shiro与SpringSecurity的对比四、Shiro优缺点五、springboot集成Shiro一、Shiro简介        ApacheShiro是一个功能强大且易于使用的Java安全(权限)框架。Shiro可以完成:认证、授权、加密、会话管理、与Web集成......
  • Oracle数据库修复利器:DBMS_REPAIR包详解与实战
    在Oracle数据库中,数据文件的完整性和稳定性对于系统的正常运行至关重要。然而,由于各种原因(如硬件故障、软件错误等),数据文件有时会出现损坏,导致数据丢失或系统崩溃。为了应对这种情况,Oracle提供了DBMS_REPAIR包,这是一个强大的工具,可以帮助我们发现、标识并修复数据文件中的坏块。......