✩ ✬ 7回目:形式文法 • 形式文法:FG (Formal Grammar)–I • 形式文法:FG (Formal Grammar)–II • 正則文法:RG (Regular Grammar)–I • 正則文法:RG (Regular Grammar)–II • 正則文法から有限オートマトンへの変換 • 有限オートマトンから正則文法への変換 http://www.cit.ics.saitama-u.ac.jp/~far/Lectures/Automaton/07kaime ✫ オートマトンと形式言語 –1 ✪ ✩ ✬ 形式文法 –I 形式文法 : FG (Formal Grammar) • 形式文法はあるオートマトンの受理する言語の内特定な言語だけ を生成するシステムである. • 特定な言語を生成するために開始記号 (初期記号) (initial symbol), 終端記号 (terminal symbol), 非終端記号 (nonterminal symbol), 生成規則 (production or rewriting rules) が必要である. • 形式文法は, 生成規則の型に従って, – 正則文法 RG (Regular Grammar) – 文脈自動文法 CFG (Context Free Grammar) – 文脈依存文法 CSL (Context Sensitive Language) などに分類される. ✫ オートマトンと形式言語 –2 ✪ ✩ ✬ 形式文法 –II 形式文法の定義: G = {N, N : 非終端記号 (nonterminal symbol) Σ : 終端記号 (terminal symbol) Σ, P, S} N ∩Σ=φ P : 生成規則 (production) S : 開始記号 (initial symbol) S∈N ✫ オートマトンと形式言語 –3 ✪ ✩ ✬ 正則文法:RG (Regular Grammar) 正則文法 (正規文法) G = {N, A, B ∈ N ; a∈Σ; : 3型文法 (Type 3 Grammar) Σ, P, S} (非終端記号) (終端記号) P の要素は以下の形式となっている: P ✫ = { S → , A → aB, オートマトンと形式言語 –4 A→a} ✪ ✩ ✬ 正則文法:導出概念 導出概念 (Derive): ある終端記号列 x (x ∈ Σ∗ ) と非終端記号 A から成る記号列 xA に対 し, 正則文法 G が A −→ aB (A, B ∈ N ; a ∈ Σ) なる生成規則を 持つとき, この生成規則により xA は xaB を 直接に導出するという. ✫ x ∈ Σ∗ A∈N xA xaB −→ G A → aB x1 A1 −→ x2 A2 , x2 A2 xn An −→ xn+1 An+1 x1 A1 =⇒ xn+1 An+1 G G G −→ G x3 A3 , . . . , オートマトンと形式言語 –5 ✪ ✩ ✬ 正則文法:文形式と文 • 開始記号 S から記号列 xA が導出されたとき, 記号列 xA が文形 式 (sentential form) である. S =⇒ G xA • 文形式 w が非終端記号を1個もふくまないとき, このような文形 式を 文 (sentence) という. S =⇒ G w (w ∈ Σ∗ ) • 文法 G が生成する文全体を L(G) で表し, G の生成する言語 (language generated (by G)) という. L(G) ✫ = {w ∈ Σ∗ | s =⇒ w} G オートマトンと形式言語 –6 ✪ ✩ ✬ 正則文法から有限オートマトンへの変換 G = {N, Σ, P, M = {Q, Σ, δ, S} q0 , F} 与えられた 文法 G から -動作をもつ非決定性有限オートマトン M を以下 のように生成する。 1. 状態集合 Q = N ∪ {qf } 2. 初期状態 q0 = S 3. 最終状態 F = {qf } 4. 状態推移関数 P = {A → aB | A → aB ∈ P ; A, B ∈ N, a ∈ Σ} ∪{A → aqf δ(A, a) ✫ = (qf ∈ N ) | A → a ∈ P ; A ∈ N, a ∈ Σ ∪ {}} { B ∈ Q | A → aB ∈ P オートマトンと形式言語 –7 ; B ∈ N ∪ {qf } } ✪ ✩ ✬ 有限オートマトンから正則文法への変換 M = {Q, Σ, δ, G = {N, Σ, P, q0 , F} (Q ∩ Σ = φ) S} 与えられた決定性有限オートマトン M から正則文法 G を以下のように生成 する。 1. 非終端記号集合 N =Q 2. 初期状態 S = q0 3. 最終状態 F = {qf } 4. 生成規則集合 P0 = {A → aB | δ(A, a) = B} ∪{A → a | δ(A, a) = B, and B ∈ F } ✫ オートマトンと形式言語 –8 ✪
© Copyright 2024 Paperzz