全球旧事资料 分类
细过程,并画出构造过程中的NFA、DFA的状态转换图,以及最小
DFA的状态转换图。答:(1)(3分)正规表达式:10100(2)(7分)第一步(3分):将正规表达式转换为NFA
第二步(2分):将NFA确定化为DFA:(1分)
状态输入
I0
I1
t
0
1
S

ADB
q0

q1
ADBDBC
DB
重新命名
q1
q2
q3
DBCDBCZDB
q2
q4
q3
DB
DBC
DBCZDBCZ
DFA的状态转换图(1分)
DBDB
q3
q2
q3
q4
q4
q3
第三步(2分):将DFA最小化:(1分)
将状态划分终态与非终态两个集合:A={q0,q1,q2,q3},E={q4}
根据A、E集合的情况,对A集合进行划分
状态输入
I0
I1
q0


q1


q2


q3


将状态集A划分为两个集合:A={q0,q1,q3},B={2}
根据A、B集合的情况,对A集合进行划分
状态输入
I0
I1
q0


q1


fq3


将状态集A划分为两个集合:A={q0},C={q1,q3}
根据A、C集合的情况,对C集合进行划分
状态输入
I0
I1
q1


q3


最小DFA的状态转换图(1分)
3.(20分)给定文法GE:E→ETTT→TFFF→Ei该文法是LL1文法吗?(要求给出详细过程,如果是LL(1),给出分析表)
答:(1)该文法不是LL(1)文法,因为有左递归,消除左递归可获得一个LL(1)文法(2)消除左递归,得新文法3分E→TE’E’→TE’εT→FT’T’→FT’εF→Ei3求产生式右部的First集25分FirstTE’FirstTFirstFiFirstTE’FirstFT’FirstFiFirstFT’FirstEFirstii
(4)求所有非终结符的Follow集25分FollowEFollowE’FollowEFollowTFirstE’∪FollowE∪FollowT’FollowTFollowFFirstT’∪FollowT∪FollowT’
(5)求所有产生式的Select集25分Select(E→TE’)FirstTE’iSelect(E’→TE’)FirstTE’Select(E’→ε)FollowE’Select(T→FT’)FirstFT’iSelect(T’→FT’)FirstFT’
(2分)
fSelect(T’→ε)FollowT’
Select(F→E)FirstE
Select(F→i)Firstii
(6)对相同左部的所有Select即求交集25分
Select(E’→TE’)∩Select(E’→ε)Φ
Select(T’→FT’)∩Select(T’→ε)Φ
Select(F→E)∩Select(F→i)Φ
所以,改造后的文法是LL(1)文法,其分析表如下
(7)LL1分析表(5分)
VN
r
好听全球资料 返回顶部