- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
合肥工业大学 编译原理实验报告
合肥工业大学计算机与信息学院
编译原理实验报告
专 业 :
学 号 :
姓 名 :
指导老师 :
完成时间 :
实验一 词法分析设计
一、 实验目的
通过本实验的编程实践,使学生了解词法分析的任务,掌握词法分析程序设计
的原理和构造方法,使学生对编译的基本概念、原理和方法有完整和清楚的理解,
并且能够正确和熟练地运用。
二、 实验环境
Windows 8.1 、Visual Studio 2013 、C++
三、 实验原理
(1) 实验数据结构说明
string str[40] 存储 string
int strcount 存储 string 的数目
string name 存储 type 名
Table() 构造函数
~Table() 析构函数
Table
void setname(string strTemp) 设置 name值
string getname() 获取 name值
void update(string strTemp) 添加 strTemp 的值
void init(string filename) 初始化 table
int search(string strTemp) 在 table 中查询 strTemp
string value 存储分析单词的值
int type Type 的编号
int pointer 单词的位置
OutToken
string tyname 存储在表中位置
int line 分析单词的行的值
int row 分析单词的列的值
OutToken(string val,int t,int p,string tn,int 有参数构造函数 l,int r)
~OutToken() 析构函数 friend ostream operator (ostream output, 重
载 函数 OutToken ot)
Table Keyword Type 1:C++ 关键字 Table Seperator Type 2: 分界符 Table
sumoperator Type 3: 算术运算符 Table reloperator Type 4: 关系运算符 Table
constant Type 5: 常数 Table identifier Type 6: 标识符 OutToken outtoken 二
元式 TokenAnalyzer
TokenAnalyzer() 构造函数 ~TokenAnalyzer() 析构函数 void inittable()
初始化表 void display() 输出所有单词二元式 void strsearch(string
strin,int line,int row) 分析 strin void readcode() 读取源代码
(2) 实验算法描述
1) 词法分析设计流程图
2) 词法分析程序框图
3) 统计字符位置程序框图
四、 实验内容
使用 C++语言实现对 C++语言字集的源程序进行词法分析。通过输入源程序从
左到右对字符串进行扫描和分解,依次输出各个单词的内部编码及单词符号自身值 ;
若遇到错误则显示 ERROR,然后跳过错误部分继续显示 ; 同时进行标识符登记符号
表的管理。
词法分析设计主要工作 :
(1) 从源程序中读取字符
(2) 统计行数和列数用于错误单词的定位
(3) 删除空格类字符,包括回车、制表符空格
(4) 按拼写单词,并用 ( 内码,属性 ) 二元式来表示, ( 属性值— Token 的
机内表示 )
(5) 如
您可能关注的文档
- 2019-2020学年河南省九师联盟商开大联考高一上学期期中考试化学试题.pdf
- 2019-2020学年黑龙江省齐齐哈尔市高二(上)期末物理试卷(含答案).pdf
- 2019-2020学年四川成都青羊区六年级上学期期末数学试卷(学生版).pdf
- 2019年广州市三年级期末语文试卷+答案.pdf
- 2020~2021学年部编版语文三年级上册23父亲、树林和鸟练习卷.pdf
- 2020-2021学年部编版三年级上册期末考试语文试卷(含答案).pdf
- 2020-2021学年部编版五年级上册期末测试语文试卷(六).pdf
- 2020-2021学年部编版语文四年级上册第七单元测试卷be0.pdf
- 2020-2021学年福建省泉州市晋江市八年级上学期期末数学试卷.pdf
- 2020-2021学年高中物理第十二章电能能量守恒定律2闭合电路的欧姆定律课时作业含解析新人教版必修三.pdf
文档评论(0)