- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章是词汇分析的最终分析
第三章 词法分析;知识结构;词法分析;3.1 词法分析程序的设计;一.词法分析程序与语法分析程序的接口方式;二.词法分析程序的输出;(标识符,指向该标识符所在符号表中位置的指针)
单词的种别可以用整数编码表示,假如标识符编码为1
,常数为2,关键字为3,运算符为4,界符为5,
if i=5 then x:=y
关键字 if (3, ‘ if’)
标识符 i (1,指向i的符号表入口)
等号 = (4, ‘= ’)
常数 5 ( 2, ‘5’ )
关键字 then ( 3, ‘then ’ )
标识符 x ( 4,指向x的符号表入口)
赋值号:= ( 4, ‘:= ’ );标识符y ( 1, 指向y的符号表入口 )
分号; ( 5, ‘; ’ );3.2 单词的描述工具;例3.1:
无符号数 d余留无符号数|.十进小数e指数部分
余留无符号数 d余留无符号数|.十进小数e指数
部分| ?
十进小数 d余留十进小数
余留十进小数 e指数部分| d余留十进小数 |?
指数部分 d余留整指数 |s整指数
整指数 d余留整指数
余留整指数 d余留整指数 |?
其中,s表示正或负号(+,-);二.正规式
正规表达式(regular expression)是说明单词的
pattern的一种重要的表示法(记号),是定义正规集
的工具
定义(正规式和它所表示的正规集):
设字母表为?,辅助字母表?`={?,?,?,?,?,?,?}
?和?都是?上的正规式,它们所表示的正规集分别为
{?}和{ }
任何a? ?,a是?上的一个正规式,它所表示的正规集
为{a};假定e1和e2都是?上的正规式,它们所表示的正规集分别
为L(e1)和L(e2),那么,(e1), e1? e2, e1?e2, e1?也都是正规
式,它们所表示的正规集分别为L(e1), L(e1)?L(e2),
L(e1)L(e2)和(L(e1))?
仅由有限词使用上述三步骤而定义的表达式才是?上的
正规式,仅由这些正规式所表示的字集才是?上的正规
集;其中的“?”读为“或”(也有使用“+”代替 “?” 的
)???“? ”读为“连接”;“?”读为“闭包”(即,任
意有限次的自重复连接)。在不致混淆时,括号可省去,
但规定算符的优先顺序为“?”、“?”、“?”、“? ”、
“?” 。连接符“? ”一般可省略不写。“?”、“? ”和
“?” 都是左结合的;例3.2 令?={a,b}, ?上的正规式和相应的正规集的例子有:
正规式 正规集
a {a}
a?b {a,b}
ab {ab}
(a?b)(a?b) {aa,ab,ba,bb}
a ? {? ,a,a, ……任意个a的串}
(a?b)? {? ,a,b,aa,ab ……所有由a和b组成 的串}
(a?b)?(aa?bb)(a?b)? {??上所有含有两个相继的a或两个
相继的b组成的串};例3.3 ?={d,?,e,+,-},则?上的正规式
d?(?dd ?? ? )(e(+?- ??)dd? ??) 其中d为0~9的数字
表示的是:
无符号数的集合。
若两个正规式e1和e2所表示的正规集相同,则说e1和e2等价,写
作e1=e2
例如: e1= (a?b), e2 = b?a
又如: e1= b(ab)? , e2 =(ba)?b e1= (a?b)? , e2 =(a??b?)?;设r,s,t为正规式,正规式服从的代数规律有:
r?s=s?r “或”服从交换律
r?(s?t)=(r?s)?t “或”的可结合律
(rs)t=r(st) “连接”的可结合律
r(s?t)=rs?rt
(s?t)r=sr?tr 分配律
?r=r
r?=r ?是“连接”的恒等元素(零一律)
r?r=r
r?=??r?rr?… “或”的抽取律;三.正规文法和正规式的等价性
1.将?上的一个正规式r转换成文法G=(VN,VT,P,S):
令VT=∑,确定产生式和VN的元素用如下办法:
选择一个非终结符S生成产生式S r,并将S定为G的
识别符号。若x和y都是正规式 , B?VN ,则:
(R1) 对形如 A xy的正规产生式,重写为:
A xB,B y
(R2)对形如A x*y的正规产生式,重写为:
A xB,A y,B xB,B y
(R3)
文档评论(0)