c-编译器设计报告

c-编译器设计报告

ID:20360262

大小:344.54 KB

页数:15页

时间:2018-10-12

c-编译器设计报告_第1页
c-编译器设计报告_第2页
c-编译器设计报告_第3页
c-编译器设计报告_第4页
c-编译器设计报告_第5页
资源描述:

《c-编译器设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程实验报告(全日制硕士研究生)课程名称程序语言与编译实验名称C-编译器设计专业、班级计算机科学与技术4班学生张洁坤学号S07102114同组学生及学号无指导教师杨晓波目录第1章实验介绍及整体框架31.1实验目的:31.2实验环境:31.3C-编译器的整体框架3第2章词法分析42.1词法分析包括两个类:42.2C关键字表:523标识符词法:5第3章语法分析63.1ClassCParser:63.2Grammar:63.3基本树形结构:73.4支持的语句及运算:8第4章建立符号表94.1辅助类:94.2主要的类,建立符号表:9第5章类型检测10第6章代码生成n6.1PCode:116.280X

2、86ASM:12第7章总结13参考文献15第1章实验介绍及整体框架1.1实验目的:通过实验,加深对所学的关于程序语言与编译的理论知识的理解,增强对所学知识的综合应用能力。通过本实验,进一步明确编译各阶段之间的关系,掌握词法分析、语法分析、语义分析等实现技术及其实现,熟悉符号表的管理及其在编译过程中的作用,掌握错误处理机制及其应用。1.2实验环:硬件:主机:586以上,配有鼠标,内存:256MB以上显示器:VGA或以上硬盘空间:500MB以上软件:MicrosoftVisualC++6.01.3C-编译器的整体框架结柬第2章词法分析2.1词法分析包括两个类:(1)ClassCTokenizer

3、:从一个字符串中(这个把一个文件看作是一个字符串,MFC中CFile-〉CString)分离出一个一个token,配上简单的类型通过NextToken()返回:defineTT_EOL'*#defmeTT_EOF-1#dcfincTT.INTEGER-2#defineTT.REAL-3#defineTT_WORD-4#defineTT_STRING""#defineTT.CHAR丫(2)ClassCScaner:得到具体的的token类型,定义TokenType如下:enumTokenType//reservedKeyword_AUTO,.DOUBLE,_INT,_STRUCT,.BRE

4、AK,.ELSE,.LONG,—SWITCH,_CASE,_ENUM,.REGISTER,_TYPEDEF,_CHAR,.EXTERN,_RETURN,.UNION,.CONST,.FLOAT,.SHORT,.UNSIGNED,.CONTINUE,_FOR,_SIGNED,_VOID,.DEFAULT,一GOTO,一S1ZEOK.VOLATILE,_DO,JF,一STATIC,.WHILE,_READ,_WRITE,_PRINTF,//operationsASSIGN,PLUS,MINUS,TIMES,DIV,MOD,BITWISE_AND,BITWISE_OR,BITWISE_NOT,LO

5、GICAL_NOT,LT,GT,//intcrpunctionsLPARAN,RPARAN,LBRACE,RBRACE,LSQUARE,RSQUARE,COMMA,DOT,SEMI,COLON,//complexoperationsEQ/*==*/,NEQ/*!=*/,PLUS一PLUS/*++*/,MINUS_MINUS/*-*/,PLUS.ASSIGNZ*+=MINUS_ASSIGN/*-=*/,TIMES_ASSIGN/**=*/,DIV_ASSIGN/*/=*/,NGT/*<=*/,NLT/*>=*/,LOGICAL一AND/*&&*/,LOGICAL一0R7*

6、

7、*/,//othe

8、rs_EOF,_ID,_NUM,.STRING,.CHARACTER,_LABEL,.ERROR,_NONE);CScaner通过一个CMap

9、ultgotosizeofvolatileDoifstaticwhile2.3标识符词法:identifier:nondigitidentifiernondigitidentifierdigitnondigit:oneof^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZdigit:oneof0123456789escape:,r,b,-7第

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。