只为小站
首页
域名查询
文件下载
登录
首页
开发技术
C
在语法分析器的基础上构造的三地址代码生成器
在语法分析器的基础上构造的三地址代码生成器
上传者:
bjutlife
|
上传时间: 2019-12-21 19:29:02
|
文件大小: 3KB
|
文件类型: rar
三地址
编译原理
语法分析器
三地址代码是编译原理语法分析后的中间语言的一种,这是我刚完成的三地址代码生成器,符合的语法规则及其语义规则如下(S→if C then S1 else S2,这条规则没有加,其余都已完成,也许还有bug,欢迎大家给予指正):产生式 语义规则S → id = E S.code = E.code || gen(id.place’:=’E.place)S → if C then S1 C.true = newlabel; C.false = S.next;S1.next = S.next;S.code = C.code || gen(E.true’:’) || S1.codeS → if C then S1 else S2 C.true = newlabel; C.false = newlabel;S1.next = S2.next =S.next;S.code = C.code || gen(E.true’:’) || S1.code ||gen(‘goto’,S.next)|| gen(E.false’:’) || S2.codeS → while C do S1 S.begin = newlabel; C.true = newlabel;C.false = S.next; S1.next = S.begin;S.code = gen(S.begin’:’) || C.code ||gen(E.true’:’) || S1.code || gen(‘goto’S.begin);C → E1 > E2 C.code = E1.code || E2.code ||gen(‘if’E1.place’>’E2.place’goto’C.true) ||gen(‘goto’C.false)C → E1 < E2 C.code = E1.code || E2.code ||gen(‘if’E1.place’<’E2.place’goto’C.true) ||gen(‘goto’C.false)C → E1 = E2 C.code = E1.code || E2.code ||gen(‘if’E1.place’=’E2.place’goto’C.true) ||gen(‘goto’C.false)E → E1 + T E.place = newtemp;E.code = E1.code||T.code||gen(E.place’:=’E1.place’+’T.place)E → E1 - T E.place = newtemp; E.code = E1.code || T.code ||gen(E.place’:=’E1.place’-’T.place)E → T E.place = T.place; E.code = T.codeT → F T.place = F.place; T.code = F.codeT → T1 * F T.place = newtemp;T.code = T1.code || F.code ||gen(T.place’:=’T1.place’*’F.place)T → T1 / F T.place = newtemp; T.code = T1.code || F.code ||gen(T.place’:=’T1.place’/’F.place)F → ( E ) F.place = E
文件下载
立即下载
资源详情
[{"title":"( 1 个子文件 3KB ) 在语法分析器的基础上构造的三地址代码生成器","children":[{"title":"sandizhifinal.c <span style='color:#111;'> 22.74KB </span>","children":null,"spread":false}],"spread":true}]
评论信息
G-chaos :
运行有些警告,正在改,谢谢分享
2015-02-28
zhengyu19920423 :
可以用的不错
2013-05-30
其他资源
ibm_mkt_V2_win_unix及文档.rar
联想y480最新bios
Cohda MK5 开发资料
Netdxf C#读写dxf文件
杰理MP3开发包
opencv_python-3.4.1+contrib-cp35-cp35m-win_amd64.whl
计算器.vi(基于labview的简易计算器设计,可用于课程设计)
java 员工管理系统 gui
opencv_python-3.4.4.19-cp35-cp35m-linux_armv7l.whl
AD7193中文应用手册
opencv-3.4.0-vc14_vc15
FFT加窗插值C程序
开源聚合支付系统SpringBoot版本 包含了支付宝 微信 银联等常规支付手段 可在任意项目中集成
Android 课设 简单计算器源码(含apk)
Android 获取USB扫描枪扫描数据(无界面)
串口调试助手+TCP/IP通信+源码
ISO+IEC+19794-2-2005_Minutia生物数据交换国际标准-指纹特征点
iStep:用于移动传感器网络中扩散分析的可感知步骤的采样方法
mgcca:可能缺少数据的广义典范相关分析-源码
人教A版数学高二选修2-2第三章导数及其应用复习课第2课时.pptx
新中产报告 精品报告精品.pdf
超炫酷前端特效html5白云飞翔
2019年下半年网络工程师下午真题及答案
Echarts实现Demo+Echarts.js
2012年MATLAB创新奖《葡萄酒质量的评价
java神经网络的jar包joone.jar
QT下实现的简单坦克大战
.ogg音频文件
免责申明
【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明
个人信息
点我去登录
购买积分
下载历史
恢复订单
相关资源标签
Actionscript
C
C#
C++
Delphi
Java
Javascript
Perl
PHP
Python
VB
Web开发
硬件开发
其它
热门下载
校园网规划与设计(报告和pkt文件)
CUDA并行程序设计 GPU编程指南-中文扫描539页完整版pdf+高质量英文完整591页原版非扫描pdf
先进PID控制Matlab仿真第4版-PDF+代码.zip
android开发期末大作业.zip
随机森林用于分类matlab代码
2020年数学建模B题(国二)论文.pdf
MAC OS.X.10.8.iso 镜像文件
基于hadoop商品推荐系统课程设计
EasyMedia-ui.zip
MATLAB车牌识别系统
基于ray filter的雷达点云地面过滤ROS节点
sqlite运行所需Vc++运行环境,纯净版System.Data.SQLite.dll及SQLite.Interop.dll
Microsoft Visual C++ 2015-2019 运行库合集,包含32位64位
C4.5决策树算法的Python代码和数据样本
基于OpenCV的车牌号码识别的Python代码(可直接运行)
最新下载
唐老师宽带无线通信技术结课大作业
202409最新 CPS2-2.146.122.0 摩托罗拉MOTOTRBO写频软件,支持最新型号R7、R2
sentence-transformers/allenai-specter 模型
ubuntu rtl8821cu驱动,适配rtl8811cu,tenda u9
ActivePerl-5.8.6.811-MsWin32-X86.msi
tinyxp 最小的Windows xp
淘宝一级、二级、三级类目(千牛卖家)、淘宝类目清单
python wifi密码破译器-附exe与源码
超声随心所欲XP注册版(含注册机)
Linux加密框架设计与实现.pdf