3DRX

// post

形式语言与自动机:语言及文法

Formal language and automata: language and grammer

Updated

符号语言

大写字母表示串,小写字母表示单个字符(终结符), ϵ\epsilon 表示空串。

A|A|: 字符串 AA 的长度

A~\widetilde{A}: 字符串 AA 的逆(翻转)

格局:(q,ω)(q, \omega) 其中 q 是状态,ω\omega 是待输入串。

  • 初始格局:(q0,ω)(q_0, \omega)
  • 终止格局:(q1,ϵ)(q_1, \epsilon)

例如:

(q0,0010)(q1,010)(q2,10)(q2,0)(q0,ϵ)(q_0, 0010) |- (q_1, 010) |- (q_2, 10) |- (q_2, 0) |- (q_0, \epsilon)

文法

G=(N,T,P,S)G = (N, T, P, S)
  • NN: 非终结符集合
  • TT: 终结符集合
  • PP: 生成式
  • SS: 起始符

文法的分类

0 型文法

无限制性语言。

1 型文法

上下文有关文法,形式为 αβ\alpha \rightarrow \beta, 其中 αβ|\alpha| \leq |\beta|α\alpha 至少含有一个 非终结符号。

2 型文法

上下文无关文法,形式为 AαA \rightarrow \alpha

3 型文法

正则文法。形式为 AωBA \rightarrow \omega BAωA \rightarrow \omega 的称右线性文法, 形式为 ABωA \rightarrow B \omegaAωA \rightarrow \omega 的称左线性文法。

例题

由语言生成文法

由文法生成式得到语言

没有特别统一的算法,看造化构造。