- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
莅 For pers onal use only in study andresearch; not for commercial use
For pers onal use only in study and research; not for commercial use
聿计算机科学与工程系
葿编译原理课程设计实验报告
For personal use only in study and research; not for commercial use
For pers onal use only in study and research; not for commercial use
袀姓名:__ ******_ 学号_ *******_ 年级专业及班级 _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
羄 exter n
莂14
芀 retur n
肅15
蚃 union
蒂16
蚁 const
祎17
螆 float
薂18
袇 short
薈19
蒄 un sig ned
薂20
芈 con ti nue
羆21
芃for
蚂22
虿 sig ned
蚈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
肇VV
蒇73
膂&&
膂74
蒈<=
羅75
膅II
节76
衿++
蚇77
羄?=
莂78
芀-
肅79
蚃--
蒂80
蚁->
祎81
a
螆
薂82
袇%A (A可为d '')
薈83
蒄;
薂84
芈
羆85
芃/
蚂86
虿
蚈87
肂
螂88
肀
膆89
肅
袁90
腿
袈91
袄其他类别
羁99
莆实验流程图(由于流程图过大因此各部分分开写):
薃整体 :
罿扫描注释:
莀扫描数字:
蚅扫描引号:
螄扫描单词:
Ch为字母或卜
Ch[1++]='ch 賦怕茁
Ch[i++. ^(:h
4
否
把亡
文档评论(0)