编译原理-正规文法和有穷自动机的等价性(文法→自动机)

前言

  • 正规文法与有穷自动机的等价:若正规文法G、有穷自动机M,满足L(M) = L(G),就认为两者是等价的

正规文法转有穷自动机方法

  • 正规文法G和有穷自动机M表示如下:


    编译原理-正规文法和有穷自动机的等价性(文法→自动机)_第1张图片
    微信公众号:JavaWeb架构师
  • G与M的对应关系

      1. 状态集合 Q = VN ∪ Z
      1. 字母表 ∑ = VT
      1. 初态 q0 = S
      1. P与f的转换规则
a)  A → aB  ==>  f(A,a) = B
b)  A → a  ==>  f(A,a) = Z
    1. 画状态转换图


      编译原理-正规文法和有穷自动机的等价性(文法→自动机)_第2张图片
      微信公众号:JavaWeb架构师

例题

  • 已知G[S]:
S  →  aA
S  →  bB
S  →  ε
A  →  aB
A  →  bA
B  →  aS
B  →  bA
B  →  ε

解:

  1. Q = {S,A,B,Z}
  2. ∑ = {a,b}
  3. q0 = S
  4. P与f的转换关系
f(S,a) = A
f(S,b) = B
f(S,ε) = Z
f(A,a) = B
f(A,b) = A
f(B,a) = S
f(B,b) = A
f(B,ε) = Z
  1. 画状态转换图


    编译原理-正规文法和有穷自动机的等价性(文法→自动机)_第3张图片
    微信公众号:JavaWeb架构师

说明

  • 转换得到的是NFA,有必要的时候需要转换成DFA,DFA最简化

其它

课件下载:

关注下方微信公众号,
回复:
正规文法转有穷自动机.code
  • 欢迎加入交流群:451826376

  • 更多信息:www.itcourse.top

完整教程PDF版本下载

你可能感兴趣的:(编译原理-正规文法和有穷自动机的等价性(文法→自动机))