词法分析器设计
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月月考生物试卷
网友关注
- ICREX-SX系列SPH模拟量 用户手册 通道间绝缘模拟模块
- 产品手册-统一模板
- 印度BALCO调试大纲(修正稿2)2011.05
- 欧姆龙 OMRON NB系列 可编程终端 安装手册
- 山西正元盛邦制药有限公司
- 常用塑料手册[新版]
- 不同环氧地坪涂料的产品介绍
- 2540膜分离实验设备介绍
- BG2005CP009 生产管理系统安装手册
- ai-517517p 型人工智能温度控制器使用说明书
- 关于平涂型环氧地坪
- 资料流程02
- 资料
- ai-518518p型人工智能温度控制器使用说明书
- 玻璃钢罐
- 兽药手册
- SAIC-TAC运作流程手册_V2_201111
- DSA8009通信管理装置调试指导书V1.00
- 点检定修制培训教材
- DF3220技术说明书
- (最新)软件用户手册
- 聚散器踏板[资料]
- MINAMI-QEP-10产品环保控制程序c0
- 欧姆龙 OMRON NB3Q-TW NB5Q-TW NB10W –TW01B 通讯连接手册
- 高德威产品手册(简本)v0.3
- 环氧地坪施工方案及报价单[1]
- 室内环境监测多少钱?如何检测甲醛?
- H2000纸质手册 精品文档
- 台湾CTS涂装工程股份无限公司
- 如何选购制氧机,怎么样挑选好的制氧机,经验总结
网友关注视频
- 六年级英语下册上海牛津版教材讲解 U1单词
- 冀教版小学英语四年级下册Lesson2授课视频
- 外研版英语三起5年级下册(14版)Module3 Unit2
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市
- 七年级英语下册 上海牛津版 Unit9
- 3月2日小学二年级数学下册(数一数)
- 第4章 幂函数、指数函数和对数函数(下)_六 指数方程和对数方程_4.7 简单的指数方程_第一课时(沪教版高一下册)_T1566237
- 沪教版八年级下册数学练习册21.3(2)分式方程P15
- 北师大版数学四年级下册第三单元第四节街心广场
- 冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
- 化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
- 二年级下册数学第二课
- 30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
- 青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
- 七年级下册外研版英语M8U2reading
- 苏科版数学七年级下册7.2《探索平行线的性质》
- 人教版历史八年级下册第一课《中华人民共和国成立》
- 化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
- 第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
- 北师大版数学 四年级下册 第三单元 第二节 小数点搬家
- 《小学数学二年级下册》第二单元测试题讲解
- 三年级英语单词记忆下册(沪教版)第一二单元复习
- 二年级下册数学第一课
- 冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
- 《空中课堂》二年级下册 数学第一单元第1课时
- 二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
- 8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
- 【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,江苏省
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
- 冀教版英语三年级下册第二课
精品推荐
- 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
- 网吧管理