没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
编译原理
课程设计报告
院 系
专 业
年 级
学 号
姓 名
年 月 日
课程设计一:手工设计 C 语言的词法分析
器
一、设计内容
手工设计 语言的词法分析器,结合状态转换图的原理完成对 语言源程序的基本单
词的分析及提取,并设计相应的数据结构保存提取出来的单词。以及对 语言中的保留字
的处理策略,实现一个完整的 语言的词法分析器的编写。
二、设计目的
通过本实验的设计更具体的理解词法分析器的工作机制。同时更理解 语言的结构体
系。从而更深刻的透析编译原理过程。
三、设计平台
、硬件环境
()
()内存
、软件环境
() !"##
()$#%&''( 开发软件
、开发语言: 语言。
四、需求分析:
词法分析程序又称词法分析器或词法扫描器。可以单独为一个程序;也可以作为整个
编译程序的一个子程序,当需要一个单词时,就调用此法分析子程序返回一个单词,这里,
作为子程序
词法分析器的结构:
状态转换图的程序实现
为便于程序实现)假设每个单词间都有界符或运算符或空格隔开)并引入下面的全局变量
及子程序*
+存放最新读进的源程序字符
#,存放构成单词符号的字符串
-%. 字符缓冲区
)#%,//0存放保留字的符号和种别
五、概要设计
保留字表的设计结构:
基本功能状态转换:
源程序
输入缓冲区
预处理子程序
扫描缓冲区 扫描缓冲区
词法分析子程序
返回一个单词
调用
数据
六、详细设计
12读一个字符到 +中
1-读一个非空白字符到 +中
342把 2中字符连接到 #,之后
511判断 2中字符是否为字母
6判断 +中字符是否为数字
171$1 用 #, 中的字符串查找保留字表)并返回保留字种别码)若返
回零)则非保留字
12把 2中字符回送到缓冲区
源程序:
保留字个数
!" 存放最新读进的源程序字符
#$%!& !" 存放构成单词符号的字符串
'%& !" 字符缓冲区
())))))))))))保留字结构)))))))))))))(
$*#*+,
$*-%&"
."
/0*%&,,1234!/4,12#4/4,4/4,$4/4,4/4
,4/4,4/4,54/4,647/4,48/4
,4!/4,4/4,-4/4,94/4,:4/4
,64/4,4/4,64/4,47/4,48/4,4!/4
,4/4,4/4,4/4,;64/4,54/4
剩余16页未读,继续阅读
资源评论
悠闲饭团
- 粉丝: 155
- 资源: 3306
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功