栈式指令系统表 指令 操作 LIT 0 a 将常数值取到栈顶,a为常数值 LOD t a 将变量值取到栈顶,a为相对地址,t为层数 STO t a 将栈顶内容送入某变量单元中,a为相对地址,t为层数 CAL 0 a 给出被调用过程的基地址,送入基地址寄存器base_Addr中,目标程序的地址A送到指令地址寄存器current_Addr INT 0 a 在运行栈中为被调用的过程开辟a个单元的数据区a为局部变量加2 JMP 0 a 无条件跳转至a地址 JPC 0 a 条件跳转,当栈顶值为0,则跳转至a地址,否则顺序执行 ADD 0 0 次栈顶与栈顶相加,退两个栈元素,结果值进栈 SUB 0 0 次栈顶减去栈顶,退两个栈元素,结果值进栈 MUL 0 0 次栈顶乘以栈顶,退两个栈元素,结果值进栈 DIV 0 0 次栈顶除以栈顶,退两个栈元素,结果值进栈 RED 0 0 从命令行读入一个输入置于栈顶 WRT 0 0 栈顶值输出至屏幕并换行 RET 0 0 函数调用结束后,返回调用点并退栈
2023-11-25 20:43:00 1.26MB 编译原理c0 c0编译器
1
实现一个非常简单的编译器,采用C++开发,但有基本功能,对初学编译的人有一定帮助。
2021-12-11 15:35:36 654KB C0编译器
1
编译原理大作业,分解的各个过程都有,供参考使用。。
2021-11-20 19:10:15 304KB 编译原理 C0编译器 编译器 C0
1
题目:C0编译器的设计与实现(10周) C0语言的语法结构定义如下: ->[] {} -> int id {, id}; -> ( int id | void id) '(' ')' ->void main'(' ')' ->'{' [] '}' -> {} -> | | '{''}' | | | | | | ; ->if '('')' [else ] ->while '(' ')' ->; ->id = ; ->return ['(' ')'] ; ->scanf '(' id ')'; ->printf '(' [ ] ')'; -> [+|-] { (+|-) } -> {(*|/) } -> id|'(' ')' | num | ->id '(' ')' 其中,id代表标识符,num代表整数,其含义及构成方式与C语言相一致;C0源程序中的变量需先定义后使用,其作用域与生存期与C语言相一致;自定义函数可超前使用(调用在前,定义在后)。 根据上面给定的C0文法及其说明和下列定义的假想栈式指令系统,按递归下降分析法设计并实现该C0语言的编译器,生成栈式目标代码;编写栈式指令系统的解释执行程序,输出目标代码的解释执行结果。 假想的栈式指令系统表 LIT 0 a 将常数值取到栈顶,a为常数值 LOD t a 将变量值取到栈顶,a为相对地址,t为层差 STO t a 将栈顶内容送入某变量单元中,a为相对地址,t为层差 CAL 0 a 调用函数,a为函数地址 INT 0 a 在运行栈中为被调用的过程开辟a个单元的数据区 JMP 0 a 无条件跳转至a地址 JPC 0 a 条件跳转,当栈顶值为0,则跳转至a地址,否则顺序执行 ADD 0 0 次栈顶与栈顶相加,退两个栈元素,结果值进栈 SUB 0 0 次栈顶减去栈顶,退两个栈元素,结果值进栈 MUL 0 0 次栈顶乘以栈顶,退两个栈元素,结果值进栈 DIV 0 0 次栈顶除以栈顶,退两个栈元素,结果值进栈 RED 0 0 从命令行读入一个输入置于栈顶 WRT 0 0 栈顶值输出至屏幕并换行 RET 0 0 函数调用结束后,返回调用点并退栈
2021-10-14 20:07:25 599KB 编译原理 代码 实验报告
1
C0编译器编译原理实验 C0编译器的 设计与实现原创-当年我们交的作业被评为优秀作业!!!要不是毕业好几年我都不舍得分享出来!!!还有配套代码在我的博客 CTRL+D收藏一下或者关注走一波-有你所需!不断更新! 其他相关下载,配套代码以及PPT。稳妥的小老弟 https://me.csdn.net/download/qq_27500493
2021-10-14 19:39:39 1.26MB 编译原理c0 c0编译器
1
这个是c0的 编译器
2021-06-02 23:53:29 31KB c0 编译器
1
c0文法的编译器,词法分析, 文法分析,目标代码生成,目标代码的执行系统一应俱全。为北航编译技术的课程设计之一。 另有c0文法编译器的java实现,包含代码优化(dag图优化,删除公共子表达式、删除无效赋值等)、寄存器分配,目标代码为汇编码。需要者请单独跟本人联系。
2020-01-03 11:17:15 9KB c0 编译器 pcode c语言实现
1
自己做的编译课程大作业,简单的C0编译器,生成至中间代码(四元式)
2019-12-21 21:36:41 317KB c 编译器 中间代码 四元式
1
一个能编译运行大部分C0语句的编译器。北航大三上编译原理课设作业,最终得分88。有充足的注释说明,供需要的同学参考(切勿抄袭哦~)。
2019-12-21 21:28:28 31KB C0 编译器 北航 编译课设
1
本人大三期间做的作业,支持函数调用、多层循环、条件判断等,除全局变量外基本功能大致都有实现,里面有十几个测试程序
2019-12-21 21:12:18 99KB C0、编译原理
1