文件名称:编译原理 C编译器
文件大小:31KB
文件格式:ZIP
更新时间:2020-03-09 15:04:41
LEX YACC 南开 王刚 汇编
可将C语言的裴波纳契和pi.c的翻译为汇编语言。满分7分。 上机大作业——简化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语言子集测试程序编译为目标代码——汇编程序,用汇编器转换为二进制程序后运行无误,如斐波那契数列程序,应能翻译为正确的汇编程序。
【文件预览】:
lex_yacc03
----myparser.h(2KB)
----mylexer.l(3KB)
----mylexer.c(16KB)
----gen.c(28KB)
----gen.h(1KB)
----myparser.v(49KB)
----lex_yacc03.pgw(452B)
----mylexer.h(1KB)
----myparser.c(47KB)
----myparser.y(12KB)
----mylexer.v(16KB)
----lex_yacc03.pgp(745B)
----main.c(358B)
----com.h(1KB)