当前位置: 首页 > news >正文

【编译原理】语句的翻译

三维数组

LOC(A[i,j,k])=base+(((i-low1)*n2+j-low2)*n3+k-low3)*w

=((i*n2+j)*n3+k)*w+base-((low1*n2+low2)*n3+low3)*w

数组 A 是一个三维数组,维度为 n1 × n2 × n3,low1、low2、low3,每个元素占 w 个字节空间,基地址为 A(常量)

数组 B 是一个二维数组,维度为 m1 × m2,low1、low2、low3,每个元素占 w 个字节空间(与 A 相同),基地址为 B(常量)

C_A = base_A - ((low1_A×n2 + low2_A)×n3 + low3_A)×w

C_B = base_B - (low1_B×m2 + low2_B)×w

  1. 计算 A[x][y][z] 的地址并加载其值。

  2. 计算 B[i][j] 的地址并存储加载的值。

// 计算 A[x][y][z] 的值
T1 = x * n2                         (1)(*,x,n2,T1)
T1 = T1 + y                        (2)(+,T1,y,T1)
T2 = T1 * n3                       (3)(*,T1,n3,T2)
T2 = T2 + z                         (4)(+,T2,z,T2)
T3=A - C_A                         (5)(-,A,C_A,T3)
T4=T2 * w                           (6)(*,T2,w,T4)
T5=T3[T4]                           (7)(=[ ],T3,T4,T5)

// 计算 B[i][j] 的地址并存储
T6 = i * m2                          (8)(*,i,m2,T6)
T6 = T6 + j                           (9)(+,T6,j,T6)
T7=B - C_B                         (10)(-,B,C_B,T7)
T8=T6 * w                           (11)(*,T6,w,T8)
T7[T8]=T5                           (12)([ ]=,T5,T7,T8)

四元式设计

  • (=[], base, offset, result):加载操作,等价于 result = *(base + offset)

  • ([]=, value, base, offset):存储操作,等价于 *(base + offset) = value

  • 常量 C_A 和 C_B 在编译时计算,作为常量操作数使用

while、if、数组

http://www.lqws.cn/news/448111.html

相关文章:

  • Docker环境部署
  • Centos 离线部署(MQTT)EMOX脚本并设置开机自启
  • 4、做中学 | 二年级下期 Golang整型和浮点型
  • 高并发网络通信Netty之空轮询问题
  • 【LUT技术专题】采样间隔自适应3DLUT-AdaInt
  • STM32 HAL 初始化I2C启动DS1307
  • 第1章: 伯努利模型的极大似然估计与贝叶斯估计
  • apisix-使用hmac-auth插件进行接口签名身份验证\apisix consumer
  • 机构运动分析系统开发(Python实现)
  • 工程师生活:清除电热水壶(锅)水垢方法
  • 前端HTML学习笔记
  • 《思维力:高效的系统思维》
  • python画三维立体图
  • 【支持向量机】SVM线性可分支持向量机学习算法——硬间隔最大化支持向量机及例题详解
  • 打卡Day55
  • 【lenovo】LEGION 2020款跳过windows账号登录
  • 12.10 在主线程或子线程中更新 UI
  • 退出python解释器的四种方式
  • C#语言入门-task2 :C# 语言的基本语法结构
  • vue3 defineExpose的使用
  • 不同系统修改 Docker Desktop 存储路径(从C盘修改到D盘)
  • 解锁微服务潜能:深入浅出 Nacos
  • 蜻蜓Q系统的技术演进:从Laravel 6到Laravel 8的升级之路-优雅草卓伊凡
  • C# winform教程(二)----GroupBox
  • ROS学习之服务通信
  • 【AI编程】第3期,针对AI生成的改枪码列表创建对应的数据库表
  • AWS CloudFormation深度解析:构建现代云原生应用基础设施
  • SpringBoot扩展——发送邮件!
  • Spring MVC参数绑定终极手册:单多参对象集合JSON文件上传精讲
  • 网络编程及原理(五)