编译方法实验指导书(8学时).doc

编译方法实验指导书(8学时).doc

ID:61487325

大小:731.00 KB

页数:84页

时间:2021-02-05

编译方法实验指导书(8学时).doc_第1页
编译方法实验指导书(8学时).doc_第2页
编译方法实验指导书(8学时).doc_第3页
编译方法实验指导书(8学时).doc_第4页
编译方法实验指导书(8学时).doc_第5页
资源描述:

《编译方法实验指导书(8学时).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、E->TG->FSG->iSG->i/FSG->i/iSG->i/iG->i/i-TG->i/i-FSG->i/i-iSG->i/i-iG->i/i-i《编译原理》实验课程教学大纲1.实验课程名称:《编译原理实验》2.实验课程名称(英文):CompilingMethod3.课程代码:4.实验课程性质:非独立设课5.学时:86.学分:37.适用专业:计算机科学与技术8.先修或同修课程:离散数学,数据结构,高级语言程序设计等9.开课单位:信息与计算机工程学院10.制定实验教学大纲的依据:东北林业大学《编译方

2、法》教学大纲。11.本实验课在培养实验能力中的地位及作用通过本实验课程培养学生以下几方面的能力:加深学生对编译方法所涉及的概念、算法、理论的理解;体验编译方法所涉及的抽象思维的具体实现;激励学生在编译方法设计方面的创新精神;培养正规系统程序设计的能力; 12.应达到的实验能力标准本课程的实验主要培养学生的抽象思维能力和正规的程序设计能力,加强对编译方法基本原理、基本概念的理解,使学生初步具备将算法或理论转化为正确程序的能力。13.实验内容(1)实验一  词法分析实验目的:编制一个类c语言的词法分析程序。

3、实验要求:画好类c语言的有穷状态自动机。在进行本实验之前,应熟练课程内容,在上机之前做好实验计划,编写好相应的代码 .实验内容:根据有穷状态自动机编制一个类c语言的扫描程序。(2)实验二语法分析实验目的:编写一个类c语言的语法分析程序实验要求:阅读课本有关章节,花一周时间确定语法部分的文法,设计出LL(1)分析表;考虑好设计方案;设计出模块结构、测试数据,初步编制好程序。实验内容:根据LL(1)分析表和文法编制类c语言的语法分析程序实验指导书(1)实验一 词法分析实验目的:编制一个类c语言的词法分析程序

4、。一、实验内容实验目的:建立一个词法分析器,其功能是输入一段源程序,经过处理后,按程序顺序并以二元式输出单词符号(即程序语言的语法单位),并且,如果该单词是关键字或符号(包括界符和运算符),则在相应的关键字表或符号表中找出其位置;如果该单词是关键字或常数,则直接输出。二、程序设计原理与方法程序设计原理:根据各个单词的状态转换图,可以进行合成,给出能够识别Simple-C语言中各类单词的DFA,如图2-8所示。三、示例程序#include"stdio.h"#include"string.h"//状态名表t

5、ypedefenum{S_state,A_state,B_state,C_state,D_state,E_state,F_state,G_state,H_state,I_state,J_state,K_state,L_state,M_state,N_state,O_state,P_state,Q_state,R_state,T_state,U_state,V_state,W_state,X_state,Y_state,Z_state,END_state}STATE;//单词类别标识typedefenum

6、{KEY_WORD=0,IDENTIFIER,UNSINED_INT,REAL_CONST,SINGLE_DELIMITER,COMMENT,DIVISION_SIGN,ADDSELF_OPERATOR,ADD_OPERATOR,SUBTRACTIONSELF_OPERATOR,SUBTRACTION_OPERATOR,DOUBLERELATIONAL_OPERATOR,SINGLERELATIONAL_OPERATOR,ERROR,CHAR_CONST,STRING_CONST,NONE}WORDTY

7、PE;//单词类别名称charWordTypeExplanation[][30]={"关键字","标识符","无符号整数","实型常量","单界限符","注释","除号","自增运算符","加法运算符","自减运算符","减法运算符或取负运算符","双界限关系运算符","单界限关系运算符","出错","字符常量","字符串常量","无可处理字符"};#defineKEYWORD_COUNT18#defineKEYWORD_MAXLENGTH20//关键字表编号由位置隐含charKeyWordTable[

8、KEYWORD_COUNT][KEYWORD_MAXLENGTH]={"break","case","char","continue","default","do","double","else","float","for","if","int","return","struct","switch","unsigned","void","while"};/*GetWordType判断是关键字还是自定义标识符参数:char*str待判断标识符

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

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

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