c. 对字母表中存在的字母符号如正则式a,由x射出符号为该字符的弧到y
(x,y为状态,只是构建的临时初态终态,符号即是正则表达式中读取到的字符(从左到右分解))
多个正则式,例如s,t,他们的NFA为Ns和Nt
a. R=s|t
b. R=st
c. R=s*
d. R=(s),和R=S的NFA一样
例:
1.从里开始构建NFA
2.从外开始构建
4.DFA M转正则表达式
规则:
(1)在M上加两个结点x,y。从x用空符号弧连接到M的所有初态节点,从M的所有终态节点用空符号弧连接到y,形成和M等价的的M’,此时只有一个初态一个终态。
(2)消除M’中的其他节点(除了x,y)
1.邻合并
2.并变或
3.递归加边加星号
即正则表达式转NFA倒过来
例:
5.正则文法 G转正则表达式
三个规则,可将正则文法转换为一个只剩一个开始符号的产生式,并且右侧不含非终结符,仅含对应的表达式。转换后的产生式应用扩充的BNF表示,而在标识符好的0~n次重复时应该用*代替
(1)代入规则:对A→xB,B→y转化为A→xy
(2)消除递归规则:对A→xA|y转化为A→x*y
(3)BNF规则:对A→x,A→y转化为A→x|y
注:左线性的话,对A→Ax|y转化为A→yx*
例如: