1 / 33

정규언어와 정규문법

정규언어와 정규문법. 정규언어에 대한 정규표현. 일반전이 그래프 Generalized transition graph 간선의 라벨에 정규 표현을 부여하는 전이 그래프 라벨은 여러 정규표현들의 접합 <= 그 자체도 정규 표현이 된다 . a -> a a, b -> a + b. Figure 3.8. a. c*. a + b. L(a* + a*(a + b)c*). Figure 3.9. e. d. c. qj. qi. q. b. a. ce*b. ae*d. ce*d. qj. qi. ae*b.

charde-lynn
Download Presentation

정규언어와 정규문법

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 정규언어와 정규문법

  2. 정규언어에 대한 정규표현 • 일반전이 그래프Generalized transition graph • 간선의 라벨에 정규 표현을 부여하는 전이 그래프 • 라벨은 여러 정규표현들의 접합 <= 그 자체도 정규 표현이 된다. • a -> a • a, b -> a + b

  3. Figure 3.8 a c* a + b L(a* + a*(a + b)c*)

  4. Figure 3.9 e d c qj qi q b a ce*b ae*d ce*d qj qi ae*b

  5. Figure 3.11 b b a,b a q2 b q0 q1 a a + b b+ab*a q2 q0 ab*b

  6. Relation of RG, RE, Automata Regular Expression Finite Automata Regular Grammars

  7. Grammars(1/2) • A boy runs • <sentence> -> <noun_phrase><predicate> • <noun_phrase> -> <article><noun> • <predicate> -> <verb> • Pascal identifier • <id> -> <letter><rest> • <rest> -> <letter><rest> | <digit><rest> | • <letter> -> a|b|…| <digit> -> 0|1|…9

  8. Grammars(2/2) • A grammar G is defined as a quadruple G = (V, T, S, P) • V is a finite set of objects called variables • T is a finite set of objects called terminal symbols, • S is a special symbol called the start variable • P is a finite set of productions

  9. Example 1.10 • G = ( {S}, {a, b}, S, P) • P : S -> aSb S ->  • S => aSb => aaSbb => aabb • L(G) = {anbn : n  0}

  10. Example 1.11 • L = {anbn+1 : n > 0} • G = ({S, A}, {a, b}, S, P) • S -> Ab, • A -> aAb, • A -> 

  11. 정규문법

  12. Definition 3.3 문법 G = (V, T, S, P)에서 모든 생성규칙들이 다음의 형태를 갖는 경우 이를 우선형right-linear문법이라 한다. A -> xB, A -> x, 여기서 A, B V 이고x  T*이다. 문법의 생성규칙들이 모두 다음의 형태를 갖는 경우 이 문법을 좌선형left-linear 문법이라 한다. A -> Bx, A -> x. 정규문법은 우선형 문법이거나 좌선형 문법이다.

  13. Example 3.12 • 우선형 문법Right-linear 문법 G1 = ({S}, {a,b}, S, P1)에서 생성규칙 P1이 다음과 같이 주어졌다면 S -> abS | a r = (ab)*a

  14. Example 3.12 • 좌선형 문법Left-linear 문법 G2 =({S, S1, S2}, {a,b}, S,P2) 에서 생성규칙 P2가 다음과 같이 주어졌다면 S -> S1ab, S1 -> S1ab | S2, S2 -> a r = (a(ab)*)

  15. Example 3.13 • 문법 G = ({S,A,B}, {a,b}, S, P)가 다음과 같은 생성규칙들을 갖는 경우 이는 정규 문법이 아니다. S -> A, A -> aB|, B -> Ab • 선형문법 linear grammar은 각 생성규칙의 우변에 하나 이하의 변수만 있을 수 있으며, 이 변수의 위치에는 제한이 없는 문법을 말한다. • 정규문법 선형문법

  16. Theorem 3.3 • G = (V,T,S,P) 가 우선형 문법right-linear grammar 이면 L(G)는 정규 언어이다. • 증명 • V={V1,V2,…} • S=V0 • 생성규칙 : V0->v1Vi, Vi->v2Vj,…

  17. Figure 3.15 a1 a2 . . . am Vi Vj Represents Vi ->a1a2 … am Vj a1 a2 . . . am Vi Vf Represents Vi -> a1a2 … am

  18. Example 3.15 • 다음 문법에 의해 생성되는 언어를 인식하는 유한 오토마타를 구성해 보자. V0 -> aV1 V1 -> abV0| b L((aab)*ab)

  19. Vf Figure 3.16 L((aab)*ab) a b V1 V0 a b V1

  20. Example 1 • S -> aS | aA • A -> bA| b • L = {anbm | n, m  1}

  21. Theorem 3.4 • L 이 알파벳 에 대한 정규 언어일 때, L = L(G)를 만족하는 우선형 문법G=(v, , S, P)가 항상 존재한다.

  22. Example 3.15 Construct a right-linear grammar for L(aab*a). q0 => aq1 => aaq2 => aabq2 => aabaqf => aaba (q0, a) = {q1} q0 -> aq1 (q1,a) = {q2} q1 -> aq2 q2 -> bq2 (q2,b) = {q2} (q2,a) = {qf} q2 -> aqf qf  F qf -> 

  23. Example 2-1 • G = (N, T, P, A) P : A -> aA A -> aB B -> bB A -> a A -> b B -> b

  24. Example 2-2 b a a B A b a,b Qf

  25. C Example 3-1 0 1 1 A 1 0 1 1 B

  26. Example 3-2 N = {A, B, C} S = A M의 전이 G의 규칙 1 A -> A A -> C, CF B -> A B -> B B -> C, C  F C -> C, C  F C -> B A -> 1A A -> 1, A -> 1C B -> 0A B -> 1B B -> 1. B -> 1C C -> 0, C -> 0C C -> 1B 1 0 1 1 0 1

  27. r Example 4-1 q 0 0 1 1 0,1 p

  28. Example 4-2 • G = ({ p,q,r}, {0,1}, P, p) P : p -> 0q p -> 1p q -> 0r q -> 1p r -> 0r r -> 1r r -> 

  29. Theorem 3.5 • A language L is regular if and only if there exists a left-linear grammar G such that L = L(G).

  30. Theorem 3.6 • A language L is regular if and only if there exists a regular grammar G such that L = L(G).

  31. Theorem 3.1 • Let r be a regular expression. Then there exists some nondeterministic finite accepter that accepts L(r) • Consequently, L(r) is a regular language.

  32. Theorem 3.2 • Let L be a regular language. Then there exists a regular expression r such that L = L(r)

  33. Figure 3.15 Regular expressions Theorem 3.2 Theorem 3.1 dfa or nfa Theorem 3.3 Theorem 3.4 Regular grammars

More Related