文件名称:编译原理简易C编译器
文件大小:1.09MB
文件格式:ZIP
更新时间:2020-03-09 14:40:19
LEX YACC 南开 王刚
只能实现斐波那契数列,没有实现pi.c,得分五分 上机大作业——简化C编译器实现 总体要求 一、要求实现的语言特性 1. 基本要求 1数据类型:int,char 2语句:赋值(=),if,while,for;赋值 循环 条件判断 3算术运算:+,-,*,/,%,++,--,&,|,^,~,<<,>> 4关系运算:==,>,<,>=,<=,!= 5逻辑运算:&&(与),||(或),!(非);构造与算数相同 6复合语句:{、}括起来的语句;要求识别 if、while中使用 7注释语句;识别注释 然后丢弃 8简单的输入输出 2. 选作功能 1数组,指针;数组怎么实现 第八章介绍数组的翻译 2函数 3其他特性(浮点运算、结构/类、连接C标准库等等) 生成的目标代码 生成x86汇编语言程序。;不要求二进制 由编译器编译成二进制 要求提交的内容 1C语言子集的描述:词法结构的正则表达式定义、语法结构的CFG定义。 ;简化子集的描述 2编译器源程序文本,包括Lex、Yacc等程序和C/C++程序。;两种语言工具 构造词法分和语法分析部分 passive generate 3编译器演示程序,可将C语言子集测试程序编译为目标代码——汇编程序,用汇编器转换为二进制程序后运行无误,如斐波那契数列程序,应能翻译为正确的汇编程序。
【文件预览】:
complier_第五次作业_小型C编译器
----scan.v(15KB)
----parse.y(15KB)
----analyze.h(314B)
----main.sdf(2.44MB)
----main.opt(52KB)
----scan.l(3KB)
----main.dsw(533B)
----main.c(2KB)
----main.vcxproj(7KB)
----util.h(650B)
----main.v12.suo(23KB)
----main.ncb(289KB)
----main.dsp(4KB)
----main.plg(1KB)
----scan.h(1KB)
----编译原理大作业.pgp(739B)
----symtab.c(6KB)
----analyze.c(8KB)
----util.c(7KB)
----main.sln(953B)
----UpgradeLog2.htm(33KB)
----symtab.h(1KB)
----tmp.asm(6KB)
----parse.c(54KB)
----tmp.c(637B)
----Backup1()
--------main.sln(953B)
----CodeGen.c(25KB)
----编译原理大作业.pgw(448B)
----parse.h(2KB)
----Backup()
----CodeGen.h(2KB)
----scan.c(15KB)
----UpgradeLog.htm(33KB)
----Debug()
--------symtab.obj(13KB)
--------parse.obj(75KB)
--------CodeGen.obj(74KB)
--------main.ilk(1.04MB)
--------analyze.obj(15KB)
--------vc60.idb(73KB)
--------main.obj(9KB)
--------main.exe(248KB)
--------vc60.pdb(52KB)
--------util.obj(27KB)
--------scan.obj(13KB)
----globals.h(3KB)
----parse.v(50KB)
----tmp.txt(7KB)