中间代码生成-四元式

2024-04-12 05:08
文章标签 中间 四元 代码生成

本文主要是介绍中间代码生成-四元式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码:

import tkinter as tkroot = tk.Tk()
root.geometry("800x600+50+50")
root.title("中间代码生成")label2 = tk.Label(root, text = "请输入赋值语句:")
label2.place(x=10,y=10)label3 = tk.Label(root, text = "四元式序列:")
label3.place(x=400,y=10)text1 = tk.Text(root,width=35,height=15,bg="#e8e8e8",font="Consolas")
text1.place(x=10,y=50)text2 = tk.Text(root,width=35,height=15,bg="#e8e8e8",font="Consolas")
text2.place(x=400,y=50)def result():text2.delete(1.0,"end")string = text1.get(1.0,"end")list = []i=0t=1while i < len(string):var = string[i:i+5]var1 = 't'+str(t)+var[1:]var2 = var[0:2]+'t'+str(t)+'+-'list.append(var1)list.append(var2)t=t+1i=i+6	i = 0tuple = ()while i < len(list) :if i%2 == 0:tuple = (list[i][4],list[i][3],list[i][5],list[i][0:2])else:tuple = (list[i][1],list[i][2:4],list[i][5],list[i][0])text2.insert("insert",str(tuple)+"\n")i = i+1button1 = tk.Button(root, text = "生成",bg="#e8e8e8",width=5,height=1,padx=5,command=result)
button1.place(x=140,y=10)root.mainloop()

图片:

这篇关于中间代码生成-四元式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896178

相关文章

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍

概述 本节将通过一个简单的例子来介绍如何生成llvm IR,以Kaleidoscope IR中的例子为例,我们基于LLVM接口构建一个简单的编译器,实现简单的语句解析并转化为LLVM IR,生成对应的LLVM IR部分,代码如下,文件名为toy.cpp,先给出代码,后面会详细介绍每一步分代码: #include "llvm/ADT/APFloat.h"#include "llvm/ADT/S

Unity中使用四元数限制旋转

前言         在处理旋转相关的内容的时候,如果使用unity提供的欧拉角描述旋转,会出现一下两种问题 同一旋转的表示不唯一万向节死锁         绕轴90°旋转与绕轴90°+360°旋转的表现是一致的         当某个特定轴达到某个特殊值时,绕一个轴旋转可能会覆盖另一个轴的旋转从而失去一维自由度Unity中x轴达到90度时,会产生万向节死锁。x轴为90度,此时调节y或z轴

jeecg——代码生成器配置

1.修改 数据源连接配置文件resources/jeecg/jeecg_database.properties

VS---VS工程重命名编译警告MSB8028:中间目录(Debug\)包含从另一个项目共享的文件

问题: 项目右键->重命名,编译后产生: Warning 1 warning MSB8028: The intermediate directory (Debug\) contains files shared from another project (project.vcxproj). This can lead to incorrect clean and rebuild behavio

芋道源码微服务新建新的模块及代码生成器使用

目录 概述实践新建模块代码生成配置数据源代码生成拷贝代码pom.xml 其它的 问题redis权限配置 效果 结束 概述   芋道源码微服务新建新的模块及代码生成器使用。主要分三块,建立新的模块,代码生成及运行过程中的问题解决。 实践 新建模块   参考芋道源码本身的架构,新建的工程架构如下图所示,代码生成器也会生成对应的架构,但没有pom.xml这些配置文件,需要自己添加

Simulink代码生成:目标硬件配置

本文研究Simulink中关于目标硬件相关的配置。 文章目录 1 目标硬件的含义2 Simulink中的硬件配置3 代码中的位长度信息4 总结 1 目标硬件的含义 不管运行什么软件,都是无法离开硬件单独运行的。我们生活中常见的笔记本电脑、手机等都是硬件。 对于汽车嵌入式软件而言,目标硬件就是嵌入式控制器,譬如博主工作中所用的TC27X系列。在Simulink的配置中必须明确指定

Simulink代码生成: For Iterator子系统及其代码

本文研究Simulink中的For Iterator子系统及其生成的代码。 文章目录 1 Simulink中的For Iterator子系统2 For Iterator子系统建模示例3 For Iterator子系统的代码4 总结 1 Simulink中的For Iterator子系统 不管是在C语言还是Matlab脚本编程的时候,都避免不了使用for循环来反复执行某一段代码。在

Simulink代码生成:学习Simulink以及生成代码

本文介绍博主自己学习Simulink和Embedded Coder的方法。后续博客都会按照本文中的思路来记录博主学习的过程。 文章目录 1 Simulink模型2 Simulink配置3 Simulink生成的代码4 关于S函数和tlc文件5 实战 1 Simulink模型 通过建立正确的模型并且Update通过是生成代码的基础。所以生成代码的第一步是建模。 根据博主工作经验,

Simulink代码生成: Relay模块及其代码

本文研究Relay模块的用法和该模块生成的代码。 文章目录 1 Simulink中的Relay模块2 Relay模块建模3 Relay模块的代码4 总结 1 Simulink中的Relay模块 Relay这个单词有中继设备的含义,在Simulink中,博主将其理解为一个带有缓冲区的开关。 在配置界面可以配置Relay模块的阈值上限、阈值下限和输出的数值。 2 Relay模块建