中间代码生成-四元式
代码:
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()
图片:
中间代码生成-四元式相关推荐
- java pl0 四元式,【编译原理】c++实现自下而上语法分析及中间代码(四元式)生成...
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- [编译原理]DO-WHILE循环语句的翻译程序设计(LR(1)方法、输出四元式)C++实现
题目: DO-WHILE循环语句的翻译程序设计(LR(1)方法.输出四元式) 1 课设任务概述 初始条件: 理论:完成编译原理,数据结构.高级编程语言.汇编语言等相关课程的学习,基于计算机专业知识 ...
- LR(1)分析表-语法树-四元式
这学期的编译原理终于学完了,不愧是号称最难的科目.要用C++从头到尾实现一下小型编译器,还真不容易啊.不过总算是做完了. 首先上文法,这个文法是根据上一篇博客简化的,但还是有一点问题的,暂时发现有一个 ...
- 【视频联动】编译原理:写出布尔表达式A or (B and not(C or D)) 的四元式序列。说明:按照控制语句中的布尔表达式翻译
编译原理:写出布尔表达式A or (B and not(C or D)) 的四元式序列.说明:按照控制语句中的布尔表达式翻译 这里是总结的知识点.如果有问题可以下方留言提问,视频已经放到Bilibi ...
- C++实现的利用LR(1)分析表对赋值表达式进行语法制导翻译生成四元式及汇编代码
赋值语句的语法制导翻译 后续已完善算术运算文法.赋值文法.布尔运算文法.if.while.do-while和复合语句文法,编译器项目已上传GitHub,https://github.com/sleep ...
- 编译原理 赋值语句翻译成四元式
赋值语句及算数表达式的翻译 将赋值语句翻译成四元式的语义描述: (1) S-> id:=A (2) A->id (3) A->int (4) A->real (5) A-> ...
- 【编译原理】:如何将控制语句翻译成四元式
如图: 解决这个问题的方法是: 翻译成三元式(逻辑就能翻译) 三元式转换为四元式 四元式结果 Op arg1 arg2 存储变量 知道这个思路之后,我们就能够很快的做出这道题了
- 【编译原理】WHILE循环语句的翻译程序设计与实现(递归下降法、输出四元式)(赋值语句的词法分析、语义分析)
注:本文记录 WHUT-计算机学院-编译原理 课程 课内实践 >>点击查看武汉理工大学计算机专业课程资料汇总 项目下载地址:https://download.csdn.net/downlo ...
- 【编译原理】 如何将控制语句翻译成四元式
如图: 解决这个问题的方法是: 翻译成三元式(逻辑就能翻译) 三元式转换为四元式 四元式结果 Op arg1 arg2 存储变量 知道这个思路之后,我们就能够很快的做出这道题了
- 期末考试:编译原理——如何将控制语句翻译成四元式.
一 例题 二 总结 1. 将原式翻译成三元式(逻辑就能翻译) 2. 三元式转换为四元式(Op arg1 arg2 存储变量) 3. 常见的变化规则 1. 判断语句 2. 赋值语句
最新文章
- java if and_Java运算符-if分支语句
- measure_profile_sheet_of_light算子说明
- AndroidStudio2.2 Preview3中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别
- C++ leetcode 19. 删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
- oracle批处理参数调用,bat调用jar包并传入多个参数
- Join的加强版CountDownLatch
- Mysql的B树/B+/B*/R树(补充)
- java使用数组排序方法_java数组中的排序问题(冒泡排序方法的实现,及内置排序算法的应用)...
- opengl 实时波形显示_OpenGL1------OpenGL概述
- 大众mpv_最便宜的大众MPV来啦!1.4T6AT,空间比宝骏730还宽裕
- ThinkPHP的pathinfo模式、路径访问模式及URL重写
- 2018码云GVP最有价值开源项目-PDMan-2.1.3 发布—免费的国产数据库建模工具(使用)
- Unity小组工程实践项目《最强外卖员》策划案纠错文档
- CAD梦想画图中的“离散曲线命令”
- 怎样在苹果Mac鼠标或触控板上复制和粘贴?
- VirtualBox虚拟机下载
- android仿美团评论
- powershell 启动时报错 profile.ps1 cannot be loaded because running scri
- 学了七年Android,连【架构师筑基必备技能】都不知道有什么
- 「斜」italics() //使用斜体显示字符串 20140817 ①文本处理