- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chap3词法分析
第三章 词法分析;3.1 词法分析(扫描)器的功能;1) 单词符号的表示;例 3-1: 单词符号序列while(*pointer!=\0){pointer++;} ;3.2正规语言的描述3.2.1正规文法;正规文法:
单词 → 标识符 | 整数|算符|界符|关键字
标识符 → 标识符 字母 | 标识符 数字 | 字母
整数 → 整数 数字 | 数字
字母 → A | B | … | Y | Z
数字 → 1 | 2 | … | 8 | 9 | 0
界符 → , |; | … | ( | )
关键字 → if |while | … | for
算符 → + |- | … | * | /
;1) 正规式:正规语言的另一种描述方法;定义:设∑是一个字母表,
⑴ Φ是∑上的正规式,L(Φ)=Φ;
⑵ ε是∑上的正规式,L(ε)={ε};
⑶ 对于?a∈∑,a是正规式,L(a)={a};
⑷如果r和s是正规式,L(r)=R,L(s)=S,则:
r与s的“和” (r|s)是正规式,L(r|s)=R∪S;
r与s的“乘积” (rs)是正规式,L(rs)=RS;
r的闭包(r*)是正规式,L(r*)=R*;
(r)是正规式, L((r))= L(r) =R。
⑸ 只有满足⑴、⑵、⑶、⑷的才是RE。;运算的优先级;例子; ; ;若两个正规式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为正规式,正规式服从的代数规律有:
1。r?s=s?r “或”服从交换律
2。r?(s?t)=(r?s)?t “或”的可结合律
3。(rs)t=r(st) “连接”的可结合律
4。r(s?t)=rs?rt (s?t)r=sr?tr 分配律 ;5。 ?r=r, r?=r ?是“连接”的恒等元素 零一律
6。 r?r=r r?=??r?rr?… “或”的抽取律
; 正规文法和正规式的等价 对?上的正规式r ,存在一个 RG=(VN,VT,P,S):L(G)=L(r);例 r=a(a?d)?; 正规文法和正规式 对G=(VN,VT,P,S),存在一个? =VT上的正规式r : L(r)=L(G);正规文法和正规式;3.2.3 状态转换图;利用状态转换图的运行识别句子
从开始状态出发,从其发出的弧中找到标记为当前扫描字符的弧,沿弧前进到达下一状态,以其作为当前状态,再向前扫描字符,以此类推。
若找不到弧,则不是句子;
若能达到终态且扫描到输入串右端,则是句子。;例1:部分单词的状态图;例2 C语言无符号整数的识别1)、正规定义式描述;2)、识别不同进制数的状态图;2)、识别不同进制数的状态图;(HEX,值);1、从左线性正规文法出发,构造状态图;例:文法G[Z]:
Z→Za| Aa| Bb
A→Ba | a
B→Ab| b
画出状态转换图;2、从右线性正规文法出发,构造状态图;例:语言L[G]={abn|n=1},其正规文法为G[A]:
A→aB
B→bB| b
画出状态转换图;例:;3)状态转换图构造左线性正规文法;例1:语言L[G]={(ab)i ck |i,k =1},其正规文法为?
画出状态转换图
构造正规文法
注意和语言L[G]={aibi ck |i,k =1}的区别
例2:语言L[G]={aibj ck |i,j,k =1},其正规文法为?;G[D]:
D→Bc|Dc
B→Ab
A→Ba|a
;3)状态转换图构造右线性正规文法;例:;D;3.2.3有限自动机;关于有穷自动机我们将讨论如下题目;确定的有穷自动机DFA;DFA定义;一个DFA 的例子:; DFA 的状态图表示;DFA 的矩阵表示;用DFA识别句子
若f( S0 ,x)=R R?F则称x被DFA接受
扩充f 的定义:
1)f( R ,?)=R;
2) f( R ,a ? )= δ( δ( R ,a ), ?);例:证明t=baab被下图的DFA所接受。
f(S,baab)=f(f(S,b),aab)
= f(V,aab)= f(f(V,a),ab)
=f(U,ab)=f(f(U,a),b)
=f(Q,b)=Q
Q属于终态。
得证。;DFA的确定性表现在转换函数f:K×Σ→K是一个单值函数.
也就是说,对任何状态k∈K,和输入符号a∈Σ,f(k,a)唯一地确定了下一个状态.
DFA的确定性还表现在
文档评论(0)