欢迎来到天天文库
浏览记录
ID:56792027
大小:143.50 KB
页数:14页
时间:2020-07-11
《西安邮电大学编译原理词法分析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.西安邮电大学(计算机学院)课实验报告实验名称:词法分析器专业名称:班级:学生姓名:学号(8位):指导教师:实验日期:年月日页脚.一.实验目的及实验环境设计一个词法分析器,并更好的理解词法分析实现原理,掌握程序设计语言中各类单词的词法分析方法,并实现对一种程序设计语言的词法分析。二.实验容1.对java程序语言的词法分析:单词分类表:keyvaluetypekeyvaluetype1abstractKEYWORD42throwKEYWORD2assertKEYWORD43throwsKEYWORD3booleanKEYWORD44transientKEY
2、WORD4breakKEYWORD45tryKEYWORD5caseKEYWORD46voidKEYWORD6catchKEYWORD47volatileKEYWORD7charKEYWORD48whileKEYWORD8classKEYWORD49+OPERATOR9constKEYWORD50++OPERATOR10continueKEYWORD51-OPERATOR11defaultKEYWORD52--OPERATOR12doKEYWORD53*OPERATOR13doubleKEYWORD54/OPERATOR14elseKEYWORD55=O
3、PERATOR15enumKEYWORD56==OPERATOR16extendsKEYWORD57%OPERATOR17finalKEYWORD58!OPERATOR18finallyKEYWORD59!=OPERATOR19floatKEYWORD60>OPERATOR20forKEYWORD61>=OPERATOR21gotoKEYWORD62>>OPERATOR22ifKEYWORD634、YWORD66&OPERATOR26intKEYWORD67&&OPERATOR27interfaceKEYWORD68~OPERATOR28longKEYWORD695、OPERATOR页脚.29nativeKEYWORD706、7、OPERATOR30newKEYWORD71^OPERATOR31packageKEYWORD72;DEVIDER32protectedKEYWORD73,DEVIDER33publicKEYWORD74.DEVIDER34returnKEYWORD75(DEVIDER35strictfpKEYWORD76)DEVIDER36s8、hortKEYWORD77{DEVIDER37staticKEYWORD78}DEVIDER38superKEYWORD79[DEVIDER39switchKEYWORD80]DEVIDER40synchronizedKEYWORD81“DEVIDER41thisKEYWORD82‘DEVIDER2.单词结构描述(正规式或正规文法)<字母表>→<变量><数字>9、<变量>10、<关键字>11、<字母>12、<分隔符><关键字>→abstract13、assert14、boolean15、break16、byte17、case18、catch19、char20、class21、const22、continue23、24、default25、do26、double27、else28、enum29、extends30、final31、finally32、float33、for34、goto35、if36、implements37、import38、instanceof39、int40、interface41、longnative42、new43、package44、private45、protected46、public47、return48、strictfp49、shortstatic50、super51、switch52、synchronized53、this54、throw55、throws56、transient57、tryvoid58、volatile59、while<操作符>→+60、++61、-62、--63、64、*65、/66、=67、==68、%69、!70、!=71、%72、>73、>=74、>>75、<76、<=77、<<78、&79、&&80、~81、82、83、84、85、86、^<数字>→<数字>.<数字>87、088、189、290、391、492、593、694、795、896、9<字母>→A97、B98、...99、X100、Y101、Z102、a103、b104、...105、x106、y107、z<分隔符>→;108、,109、.110、(111、)112、{113、}114、[115、]116、”117、’3.单词状态转换图字母空白字母非字母非数字非关键字210SSS关键字非字母43页脚.6非字母非数字5字母或数字数字非数字小数点数字非数字或.数字789A0分隔符BC操作符3.算法描述读取文件到存,逐个字母分析,并将连续的字母使用超前搜索组合成为变量或关键字;若是数字,则要判断是否118、为浮点数,即使用超前搜索的时候,判断扫描到的字符是否为小数点;若是分隔符或者操作
4、YWORD66&OPERATOR26intKEYWORD67&&OPERATOR27interfaceKEYWORD68~OPERATOR28longKEYWORD69
5、OPERATOR页脚.29nativeKEYWORD70
6、
7、OPERATOR30newKEYWORD71^OPERATOR31packageKEYWORD72;DEVIDER32protectedKEYWORD73,DEVIDER33publicKEYWORD74.DEVIDER34returnKEYWORD75(DEVIDER35strictfpKEYWORD76)DEVIDER36s
8、hortKEYWORD77{DEVIDER37staticKEYWORD78}DEVIDER38superKEYWORD79[DEVIDER39switchKEYWORD80]DEVIDER40synchronizedKEYWORD81“DEVIDER41thisKEYWORD82‘DEVIDER2.单词结构描述(正规式或正规文法)<字母表>→<变量><数字>
9、<变量>
10、<关键字>
11、<字母>
12、<分隔符><关键字>→abstract
13、assert
14、boolean
15、break
16、byte
17、case
18、catch
19、char
20、class
21、const
22、continue
23、
24、default
25、do
26、double
27、else
28、enum
29、extends
30、final
31、finally
32、float
33、for
34、goto
35、if
36、implements
37、import
38、instanceof
39、int
40、interface
41、longnative
42、new
43、package
44、private
45、protected
46、public
47、return
48、strictfp
49、shortstatic
50、super
51、switch
52、synchronized
53、this
54、throw
55、throws
56、transient
57、tryvoid
58、volatile
59、while<操作符>→+
60、++
61、-
62、--
63、
64、*
65、/
66、=
67、==
68、%
69、!
70、!=
71、%
72、>
73、>=
74、>>
75、<
76、<=
77、<<
78、&
79、&&
80、~
81、
82、
83、
84、
85、
86、^<数字>→<数字>.<数字>
87、0
88、1
89、2
90、3
91、4
92、5
93、6
94、7
95、8
96、9<字母>→A
97、B
98、...
99、X
100、Y
101、Z
102、a
103、b
104、...
105、x
106、y
107、z<分隔符>→;
108、,
109、.
110、(
111、)
112、{
113、}
114、[
115、]
116、”
117、’3.单词状态转换图字母空白字母非字母非数字非关键字210SSS关键字非字母43页脚.6非字母非数字5字母或数字数字非数字小数点数字非数字或.数字789A0分隔符BC操作符3.算法描述读取文件到存,逐个字母分析,并将连续的字母使用超前搜索组合成为变量或关键字;若是数字,则要判断是否
118、为浮点数,即使用超前搜索的时候,判断扫描到的字符是否为小数点;若是分隔符或者操作
此文档下载收益归作者所有