词法分析器设计
1、界面部分: 需要对文件有打开、保存、另存为的功能;对文本有撤销、剪切、复制、粘贴、复制、删除、全选的功能 2、词法分析器: 对读入的程序一个字符一个字符的进行词法分析,识别出一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪种错误显示出来。
计算机专业软件类课程实验报告 课程名称:
实验题目:
实验小组成员:
实验小组组长:
任课教师:
专业名称:
班级名称:
实验起止时间:
编译原理 词法分析器设计 计算机科学与技术 计科1班 2014-5-8~2014-5-15
1、界面部分: 需要对文件有打开、保存、另存为的功能;对文本有撤销、剪切、复制、粘贴、复制、删除、全选的功能 2、词法分析器: 对读入的程序一个字符一个字符的进行词法分析,识别出一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪种错误显示出来。
一、实验目的
1、要求设计交互界面,能输入能转换能输出,形式和风格自定。
2、设计一个词法分析程序,理解词法分析器实现的原理,掌握程序设计语言中的各类单词的词法分析方法,加深对词法分析原理的理解。
二、实验内容
1、对给定的程序通过词法分析器能够识别一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪种错误显示出来。
2.本程序自行规定:
(1)关键字
"program", "example", "const", "var", "interger","begin", "void", "String", "System", "out", "println", "end", "if","else", "for" ,"char","to","do","then"
(2)运算符
"=", "<=", "++", ":", "|", "*", "+", "%","-","/"
(3)界符
";", "{", "}", "(", ")", ","
(4)标识符
以字母或下划线开头的字符串表示
(5)常量
用数字表示
(6)空格、回车、换行符跳过
3、在屏幕上显示如下:
(1)Token表中显示:
1 program 保留字
1 example 保留字
1 ; 界符
2 const 保留字
2 k 标识符
2 = 运算符
2 200 常量
(2)错误信息显示:
2errors
4 2a 格式不正确
4 034 不能以0开头
1、界面部分: 需要对文件有打开、保存、另存为的功能;对文本有撤销、剪切、复制、粘贴、复制、删除、全选的功能 2、词法分析器: 对读入的程序一个字符一个字符的进行词法分析,识别出一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪种错误显示出来。
三、实验需求
1、界面部分:
需要对文件有打开、保存、另存为的功能;对文本有撤销、剪切、复制、粘贴、复制、删除、全选的功能
2、词法分析器:
对读入的程序一个字符一个字符的进行词法分析,识别出一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪种错误显示出来。
四、主要数据结构介绍
使用三个数组分别来存放关键字、运算符、界符,凡是不属于这三个数组的所有合法字符串当做标识符处理,凡是不属于这三个数组的所有合法数字当做常量处理,其余情况则进行出错处理
五、主要模块算法介绍
1、对输入的程序进行处理:空格、回车、换行符跳过,并按照";"、"="、","、":"等符号将字符串切割开来,同时对字符串使用toCharArray()转换成单个字符,求出切割符号在字符串中的位置,并将它们与切割好的字符串重新组合,使它们与输入程序相同
2、对第一步得到的字符串数组进行一个一个的检查,如果字符串在table1中,则表明是运算符,将状态标记为1;如果字符串在table2中,则表明是保留字,将状态标记为2;如果字符串在table3中,则表明是界符,将状态标记为3
3、如果对当前的字符串不在这三个数组中,且数字序列又是合法的,则表明是常量,将状态标记为4;如果对当前的字符串不在这三个数组中,且字符序列又是合法的,则表明是标识符,将状态标记为5
4、如果对当前的输入不满足前5个状态,且字符序列不是以下划线、字母开头,则表明输入的格式不正确,将状态标记为6;如果对当前的输入不满足前5个状态,且字符序列是以0开头的数字序列,则表明输入的常量是以0开头的,这是非法格式,将状态标记为7
5、将最终的结果打印输出到文本框中
六、程序实现环境及使用说明
本次实验采用Eclipse进行代码的编写、编译及运行;
1、界面部分: 需要对文件有打开、保存、另存为的功能;对文本有撤销、剪切、复制、粘贴、复制、删除、全选的功能 2、词法分析器: 对读入的程序一个字符一个字符的进行词法分析,识别出一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪种错误显示出来。
编写语言为java语言;
程序的运行环境为jdk1.8;
系统为windows 8.1
七、实验测试用例设计说明
1、正常的测试,这种情况下不会报错
program example;
const k=2;
var
a:interger;
begin
end
2、错误的测试,这个例子中含有非法标识符和非法常量的错误 program example;
const k=2a,c=300,d=034;
var
a:interger;
begin
end
八、实验结果测试情况
1、界面部分: 需要对文件有打开、保存、另存为的功能;对文本有撤销、剪切、复制、粘贴、复制、删除、全选的功能 2、词法分析器: 对读入的程序一个字符一个字符的进行词法分析,识别出一个个单词符号,并以三元式(单词行号,单词符号的属性值,单词符号类别)显示。如果有错误,统计总共有多少个错误,并且将每个错误所在行号,以及属于哪种错误显示出来。
内容需要下载文档才能查看 内容需要下载文档才能查看下载文档
热门试卷
- 2016年四川省内江市中考化学试卷
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
- 山东省滨州市三校2017届第一学期阶段测试初三英语试题
- 四川省成都七中2017届高三一诊模拟考试文科综合试卷
- 2017届普通高等学校招生全国统一考试模拟试题(附答案)
- 重庆市永川中学高2017级上期12月月考语文试题
- 江西宜春三中2017届高三第一学期第二次月考文科综合试题
- 内蒙古赤峰二中2017届高三上学期第三次月考英语试题
- 2017年六年级(上)数学期末考试卷
- 2017人教版小学英语三年级上期末笔试题
- 江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
- 重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
- 江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
- 江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
- 山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
- 【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
- 四川省简阳市阳安中学2016年12月高二月考英语试卷
- 四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
- 安徽省滁州中学2016—2017学年度第一学期12月月考高三英语试卷
- 山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
- 福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
- 甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷
网友关注
- 小学英语网上学习新课标——考试资料
- 焊接英语学习资料
- 英语学习口诀
- 英语姓名词典【外研社李慎廉 等编著】 W[资料]
- 专业英语缩写
- 电力系统专业英语
- 路桥工程专业英语第一课翻译-2
- 课外英语学习共同体与平时表现相关研究
- 谈谈英汉词典中新词的译名的论文
- 大学英语写作中的语篇迁移现象——广西中医学院的个案研究
- [指南]英语俚语词典
- 高中英语写作训练[精品]
- HR专业英语词汇表
- [资料]英语写作全能公式----新西方英语的秘密
- 不可多得的英语学习资料
- 推荐免费英语学习网站
- 谈谈成人高校学生英语写作能力的培养
- Heart Of Ice_英语故事
- 一些英语学习教材和原版书的整理推荐
- 高职职场英语写作课程模式的思考与实践(陈丽竹)
- 机械专业英语名词
- [指南]机械专业英语68147
- 提高英语写作如何提高英语成就英语写作短语词组[精华]
- 大学英语教学中使用词典的必要性
- 机械专业英语79221069
- 小词典英语
- 财经英语词典
- 英语写作的整体模式
- 衣服英语电子小词典_1520414833[整理版]
- 高级英语第一册第十一课翻译词典的用途究竟安在[精彩]
网友关注视频
- 苏科版八年级数学下册7.2《统计图的选用》
- 七年级英语下册 上海牛津版 Unit5
- 七年级英语下册 上海牛津版 Unit3
- 沪教版八年级下册数学练习册一次函数复习题B组(P11)
- 【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,江苏省
- 第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
- 第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
- 精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
- 二年级下册数学第一课
- 人教版历史八年级下册第一课《中华人民共和国成立》
- 冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
- 小学英语单词
- 19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T502436
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市
- 冀教版小学数学二年级下册第二单元《租船问题》
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
- 三年级英语单词记忆下册(沪教版)第一二单元复习
- 外研版英语七年级下册module3 unit1第二课时
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
- 【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
- 沪教版八年级下册数学练习册21.3(2)分式方程P15
- 六年级英语下册上海牛津版教材讲解 U1单词
- 北师大版数学四年级下册第三单元第四节街心广场
- 19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,辽宁省
- 冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
- 第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
- 冀教版英语五年级下册第二课课程解读
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理