- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《編译原理》实验指导书
编译方法
实验指导书
柴本成 赵晨 编写
浙江万里学院
2010.01
目 录
实验一 有限自动机的构造与实现 1
实验二 词法分析器的设计 3
实验三 语法分析-递归下降分析器 5
实验四 LL(1)文法预测分析表的实现 6
附 录 9
附录一 实验结果的提交与检查 9
附录二 实验报告参考格式 9
附录三 Visual C++上机环境简介 10
附录四 参考程序 13
实验一 有限自动机的构造与实现
实验目的
正确理解正规式和正规集以及有限自动机的定义;
熟练掌握用状态转换图表示有限自动机的方法。
实验预习提示
正规表达式就是一种形式化的表示法,它可以表示单词符号的结构,从而精确地定义单词符号集。正规表达式简称为正规式,它表示的集合即为正规集。
状态转换图是一张当输入不同内容时选择不同分析路径的有向图。一个状态转换图可用于识别一定的字符串。
有限自动机(FA)是更一般化的状态转换图,可用来识别正规集;分为DFA和NFA两种。
实验内容
构造识别如下字符串的状态转换图,并将其编程实现。
识别标识符(以字母开始由字母和数字构成的字符串,要求长度不超过10);
参考程序:
#include iostream.h
#include string.h //字符串处理的头文件
//判断一个字符是不是字母
bool Isletter(char ch)
{
if(ch=a ch=z || ch=A ch=Z) return true;
return false;
}
//判断一个字符是不是数字
bool IsDigit(char ch)
{
if(ch=0 ch=9) return true;
return false;
}
//判断一个字符串是不是标识符
bool IsId(char *str)
{
if(!Isletter(str[0]) ) return false;
int l=strlen(str); //计算字符串的长度
for(int i=1;il;i++)
if(Isletter(str[i]) || IsDigit(str[i])) continue; //如果是字母或数字就继续循环
else return false; //否则,返回不是字符串
return true;
}
void main()
{
char *str=1abc; //初始化字符串,也可键盘输入
if(IsId(str)) coutaccept!endl;
else cout not accept!endl;
}
识别实数(要求正负号可有可无,长度不超过20,不要求识别用科学记数法表示的实数)。
(选做)识别实数(包含科学计数法)。
实验要求
编程语言可用C/C++中任意一种;
自行设计测试数据对程序进行测试,对输入的字符串(以’#’作为结束符)如果能识别,则显示“接受”,否则,显示“不接受”;
写出从文件读入源代码,输出测试结果至文件保存。
书写实验报告;实验报告的格式可参见附录《实验报告参考格式》。
实验二 词法分析器的设计
实验目的
通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示)
二、实验预习提示
词法分析器的功能和输出格式
词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。本实验中,采用的是一类符号一种别码的方式。
单词的BNF表示
标识符- 字母字母数字串
字母数字串-字母字母数字串|数字字母数字串|
下划线字母数字串|ε
无符号整数- 数字数字串
数字串- 数字数字串 |ε
加法运算符- +
减法运算符- -
大于关系运算符-
大于等于关系运算符- =
“超前有哪些信誉好的足球投注网站”方法
词法分析时,常常会用到超前有哪些信誉好的足球投注网站方法。如当前待分析字符串为“a+”,当前字符为’’,此时,分析器到底是将其分析为大于关系运算符还是大于等于关系运算符呢?显然,只有知道下一个字符是什么才能下结论。于是分析器读入下一个字符’+’,这时可知应将’’解释为大于运算符。但此时,超前读了一个字符’+’,所以要回退一个字符,词法分析器才能正常运行。在分析标识符,无符号整数等时也有类似情况。
三、实验过程和指导
(一)准备:
阅读课本有关章节
您可能关注的文档
最近下载
- 社会心理指导师理论考试复习题库(含答案).docx VIP
- 社会心理指导师理论考试复习题库资料(含答案).pdf VIP
- 社会心理指导师考试题库.doc VIP
- 起重装卸机械操作工(叉车司机)四级(中级工)理论题库.docx VIP
- 2025年年基础电信企业专业公司网络与信息安全工作考核要点与评分.pdf VIP
- 交通事故中二次撞击现象法律分析.doc VIP
- 2025高考语文64篇古诗文理解性默写.docx VIP
- 2024-2025学年江苏省苏州市高一(上)期中数学试卷(含答案).pdf VIP
- 城投集团招投标管理办法(2020修订).docx VIP
- 代谢性血管疾病的发病机制与防治策略.pdf VIP
文档评论(0)