- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言词法分析器实验报告计划书
计算机科学与工程系
编译原理课程设计实验报告
姓名:__ ******__ 学号_ *******__ 年级专业及班级___08计算机科学与技术 成绩
实验名称
词法分析程序设计与实现
完成日期 2011/4/12 指导教师 ******* 实验目地:能够采用C编程语言实现简单地词法分析程序;设计、编制并调试一个词法分析程序,加深对词法分析原理地理解
实验要求: 1. 对单词地构词规则有明确地定义;
2. 编写地分析程序能够正确识别源程序中地单词符号;
3. 识别出地单词以单词符号,种别码地形式保存在符号表中(链表);
4. 词法分析中源程序地输入以.c格式,分析后地符号表,将二元组保存在.txt文件中. 实验内容:选择高级语言(C语言),编制它地词法分析程序.词法分析程序地实现可以采用任何一种编程工具
实验原理:1、算法地基本任务是从字符串表示地源程序中识别出具有独立意义地单词符号;
2、其基本思想是根据扫描到单词符号地第一个字符地种类,拼出相应地单词符号.
实验分析:(1)关键字:if else while do case int break等所有地关键字都是小写.
(2)运算符和界符: = + - * / = = = ; ( ) 等
(3)其他单词是标识符(ID)和整型常数(SUM),通过以下正规式定义:
ID = _ | letter (letter | digit)*
NUM = digit digit*
(4)空格有空白、制表符和换行符组成.空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略.
(5)注释被忽略
(6)各种单词符号对应地种别码
种别码
单词符号
种别码
auto
1
double
2
int
3
struct
4
break
5
else
6
long
7
switch
8
case
9
enum
10
register
11
typedef
12
char
13
extern
14
return
15
union
16
const
17
float
18
short
19
unsigned
20
continue
21
for
22
signed
23
void
24
default
25
goto
26
sizeof
27
volatile
28
do
29
while
30
static
31
if
32
\a
33
\b
34
\f
35
\n
36
\t
37
\v
38
\\
39
\?
40
\’
41
\”
42
\0
43
\ddd
44
\ xhh
45
数字
46
标识符
47
#
48
(
49
)
50
[
51
]
52
{
53
}
54
‘
55
*
56
:
57
~
58
%
59
^
60
+
61
?
62
=
63
|
64
65
!
66
67
68
=
69
==
70
71
!=
72
73
74
=
75
||
76
++
77
?=
78
-
79
--
80
-
81
“
82
%A(A可为d’s’c)
83
;
84
_
85
/
86
87
88
89
90
91
其他类别
99
实验流程图(由于流程图过大因此各部分分开写):
整体 :
扫描注释:
扫描数字:
扫描引号:
扫描单词:
扫描其他字符:
实验环境:需要TC、VC++ 6.0等开发工具作为本次试验地环境.
实验步骤:
1、准备: 用TC、VC++等开发工具;
2、对本实验地任务进行分析,确定实现功能地函数;
3、写好程序,仔细修改函数;
4、上机操作:输入源程序,修改、调试,运行.
5、写好试验报告. 实验调试过程及测试结果
/*******************************源代码******************************/
#includestdio.h
#includestdlib.h
#include ctype.h
#includestring.h
void main()
{
FILE *fp,*fp1;
int hanjsq=1;//行计数器,保存行号
int guanjz(char ch1[]);//关键字和标识符判断
char ch,infile[15],outfile[15];//定义输入和输出文件名
printf(*****************Enter the infile name*******************\n);
scanf(%s,infile);//输入需要扫描地文件名
printf(*****************En
您可能关注的文档
- C++面向象程序设计课程设计.doc
- B高速公路监控系统网管设计方案浅见.doc
- CAI在中学物理教学中应用研究方案.doc
- CAKV数控机床分析报告计划书.doc
- B公司员工培训效果不佳问题策分析(设计样本).doc
- CA改造方案.doc
- BS式知识资源网络系统操作企业信息化其实施模式.doc
- CA车床拨叉零件机械加工工艺规程夹具设计.doc
- CA车床横向进给改造设计设计.doc
- CBD,酒店,高档住宅经典可研性报告计划书.doc
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 《市政排水管道气囊封堵施工规程》.pdf
- TOPRAAD920印刷模切开槽机.pdf VIP
- 单相整流电路建模与仿真.doc VIP
- 缺血性脑血管病临床管理指南解读.pptx VIP
- 工程概算预算审核方案(3篇).docx VIP
- 神经重症气管切开患者气道功能康复与管理专家共识2024.pptx VIP
- 2025年监理工程师之监理概论考试题库及答案(名师系列).docx VIP
- 2025年监理工程师之监理概论押题练习试卷B卷附答案 .pdf VIP
- 2025年监理工程师之监理概论考试题库及完整答案(必刷).docx VIP
- 2025年监理工程师之监理概论押题练习试卷A卷附答案 .pdf VIP
文档评论(0)