11.06DFA最小化,语法分析初步

1.将DFA最小化:教材P65 第9题

答:

{1,2,3,4,5}

{6,7}

{1,2} -> b -> {2}

{3,4} -> b -> {6,7}

{5} -> b

{1,2,3,4,5}可区分,划分

 

{1,2},{3,4},{5}

{6,7}

 

{6,7} -> b -> {6,7}

{6,7}不可区别,等价

{1,2} -> a -> {3,4} , {3,4} -> a , {5} -> a -> {3,4}

{1,2} -> c , {3,4} -> c -> {3,4} , {5} -> c

{1,2} -> d , {3,4} -> d -> { 5} , {5} -> d

{1,2},{3,4},{5}不可区别,等价

 

DFA最小化: {1,2},{3,4},{5},{6,7}

 

 

 

  1. 构造以下文法相应的最小的DFA

S→ 0A|1B

A→ 1S|1

B→0S|0

答:

 正规式:

S = 0A + 1B

 = 0 ( 1S + 1 ) + 1 ( 0S + 0 )

 = 01S + 01 + 10S + 10

 = ( 01 + 10 )S + ( 01 + 10 )

 = (01|10)*(01|10)

NFA:

 

 

 

DFA:

 

 

0

1

1

{S} = {SAD}

{BE}

{CF}

2

{BE}

 

{ADG}

3

{CF}

{ADG}

 

4

{ADG}

{BE}

{CF}

 

 

 

 

 

 

 

 

 

简化:

{1,2,3}

{4}

{1} -> 0 -> {1,2,3} , {2} -> 0 , {3} -> 0 -> {4}

可区别,划分

 

{1},{2},{3}

{4}

 

{4} -> 0 -> {2}

{4} -> 1 -> {3}

{4}不可区别,等价

{1,2,3}

 

{1} -> 1 -> {3} , {2} -> 1 -> {4} , {3} -> 1

{1},{2},{3}不可区别,等价

 

 

 

 

 

 

 

3.给定如下文法 G[S]:

S →AB

A → aA | ɛ 

B → b | bB

给出句子aaab 的一个自顶向下语法分析过程,并说明回溯产生的原因是什么?

 答:

S -> AB

S -> aAB

S -> aaAB

S -> aaaAB

S -> aaaɛb

S -> aaab

回溯产生的原因:反复提取公共左因子

4.P100 练习4,反复提取公共左因子,对文法进行改写。

  

答:

S -> C$

C -> bA | aB

A -> aC' | bAA

B -> bC' | aBB

C' -> C | ɛ

posted @   Azan1999  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示