- 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.3正规表达式与有限自动机 四、正规文法与有限自动机的等价性 关系定理: 对每一个右线性正规文法G或左线性正规文法G, 都 存在一个有限自动机 M, 使得 L(M) = L( G) . 2. 对每一个FA M, 都存在一个右线性正规文法GR和左线性正规文法GL, 使得 L(M) = L(GR) = L(GL) . §3.3正规表达式与有限自动机 证明1: (1) 右线性正规文法G(VT,VN,S,P)→ NFA M(S,∑,δ,S0,F),使得L(M)=L(G): ①字母表∑与VT相同,则 ∑=VT ②令G中的? A∈VN为M的一个状态, G的开始符号S是开始 状态S, 增加一个新状态Z作为NFA 的终态, 则 ③ 对G中的形如A?aB的产生式,构造M的一个转换函数 δ(A, a)=B ④对G中形如A?a 的产生式,其中a为终结符或? ,构造M的一 个转换函数δ(A, a)=Z 1. 正规文法→FA F={ Z } S0 = { S }, S=VN∪{ Z }, §3.3正规表达式与有限自动机 例题: 已知文法G[S],画出与其等价的NFA M G[S]:S?aA S?bB S?? A?aB A?bA B?aS B?bA B?? A S B Z b a b a b a ? ? §3.3正规表达式与有限自动机 证明1: (2) 左线性正规文法G(VT,VN,S,P)→ NFA M(S,∑,δ,S0,F),使得L(M)=L(G): ①字母表∑与VT相同,则 ∑=VT ②令G中的? A∈VN为M的一个状态, (不妨取成相同的名字), 增加一个新状态q0作为NFA的初始状态, 则 S=VN∪{ q0 },S0 = { q0 }, F={ S } ③ 对G中的形如A1?Aa, … ,Ak?Aa的产生式,其中a为终结符, A, A1, …∈VN, 构造M的一个转换函数δ(A, a)={A1, …, Ak} ④对G中形如A?a 的产生式,其中a为终结符或? ,构造M的一 个转换函数δ(q0, a)=A §3.3正规表达式与有限自动机 2.FA?正规文法(实际设计中很少需要) 证明2: (1) DFA M(S,∑,δ,s0,F) → 右线性正规文法GR(VT,VN,S,P) 使得L(M)=L(GR): ①令VT= ∑,VN= S, S = s0 ; ②对任何a∈∑及A, B∈S, 若有δ(A, a) = B, 则: 当B∈F时, 令A→a∣aB ; 当B F时, 令A→aB ; §3.3正规表达式与有限自动机 例题:已知DFA如图所示,求与其等价的正规文法G D C B A a a b b a b b G=({A,B,C,D}, {a,b},A,P), 其中P为: A?aB A? b︱bD B? b︱bC C?aA C? b︱bD D?aB D? b︱bD §3.3正规表达式与有限自动机 补充: 正规文法??正规式 注: 一个正规语言可以由正规文法定义,也可以由正 规式定义。 b) 对任一个正规文法,存在一个定义同一个语言的 正规式;反之,对每个正规式,存在一个生成同 一语言的正规文法。 c) 有些正规语言很容易用文法定义,有些更容易用 正规式定义。 §3.3正规表达式与有限自动机 1、正规式?正规文法 A、规则: 将∑上的一个正规式转换成文法G=(VN,VT, S, P) (1)令VT=∑; (2)确定产生式和VN的元素用如下办法: ①对任何正规式r, 选择S∈VN, 生成产生式S?r,且定S为开始符号. ②若x,y均为正规式,则: 对形如A?xy的产生式,重写成A?xB,B?y, B∈VN且为新选; 对形如A?x*y的产生式,重写成A?xA,A?y; 对形如A?x|y的产生式,重写成A?x,A?y, B∈VN且为新选. §3.3正规表达式与有限自动机 B、例题:已知正规式R=a(a|d)*,将其转换成相 应的正规文法。 (1)S?a(a|d)* (2)S?aA A?(a|d)* (3)S?aA A?(a|d)A A? ? (4)S?aA A?aA A?dA A? ? 即S?aA A?aA|d
文档评论(0)