• 大小: 31KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-03
  • 标签: 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数组,指针;数组怎么实现 第八章介绍数组的翻译

资源截图

代码片段和文件信息

#include “com.h“
#include “gen.h“
#include “myparser.h“
#include
int blank = 0;//存储树中的空格
int opn = 0;//数据段符号的编号
int stmn = 0;//语句的编号
int labeln = 0;//比较符号的label
void print_type(ExpType type){//打印节点的类型
switch (type)
{
case Void:
fprintf(pt “Void“);
break;
case Integer:
fprintf(pt “Integer“);
break;
case Char:
fprintf(pt “Char“);
break;
case Type_error:
fprintf(pt “Type_error“);
break;
case Boolean:
fprintf(pt “Boolean“);
break;
}
fprintf(pt “\n“);
}
void printf_tree(TreeNode * node){//写入文件
blank += 2;//打印树前面的空格
while (NULL != node){
print_space(blank);
if (StmtK == node->nodekind){
switch (node->kind.stmt)
{
case IfK:
fprintf(pt “If 语句\t “);
if (node->child[0]->type != Type_error){

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-30 11:33  lex_yacc03\
     文件        1074  2016-12-30 11:15  lex_yacc03\com.h
     文件       28881  2016-12-30 11:15  lex_yacc03\gen.c
     文件        1036  2016-12-30 11:13  lex_yacc03\gen.h
     文件         745  2016-11-08 10:06  lex_yacc03\lex_yacc03.pgp
     文件         452  2016-12-30 11:33  lex_yacc03\lex_yacc03.pgw
     文件         358  2016-12-30 11:12  lex_yacc03\main.c
     文件       16277  2016-12-29 17:54  lex_yacc03\mylexer.c
     文件        1107  2016-12-29 17:54  lex_yacc03\mylexer.h
     文件        3166  2016-12-29 17:54  lex_yacc03\mylexer.l
     文件       16792  2016-12-29 17:54  lex_yacc03\mylexer.v
     文件       47707  2016-12-29 21:02  lex_yacc03\myparser.c
     文件        2219  2016-12-29 21:03  lex_yacc03\myparser.h
     文件       50614  2016-12-29 21:02  lex_yacc03\myparser.v
     文件       12559  2016-12-29 21:02  lex_yacc03\myparser.y

评论

共有 条评论