1 / 11

2.3 푸쉬다운 자동장치의 한계

2.3 푸쉬다운 자동장치의 한계. 문맥-무관 언어의 범위 결정적 푸쉬다운 자동장치 Lookahead principle. PDA 의 한계. 문맥-무관 언어의 범위 컴파일러 설계 - 결정성. 문맥-무관 언어의 범위. 정리 2.5 : Pumping Theorem 만약 L 이 무한히 많은 스트링을 가지고 있는 문맥-무관 언어이면, s v u w t  L  s v n u w n t  L, n  N + v 와 w 중 적어도 하나는 공백 스트링이 아니다. 정리 2.5 증명.

stu
Download Presentation

2.3 푸쉬다운 자동장치의 한계

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.3 푸쉬다운 자동장치의 한계 • 문맥-무관 언어의 범위 • 결정적 푸쉬다운 자동장치 • Lookahead principle

  2. PDA의 한계 • 문맥-무관 언어의 범위 • 컴파일러 설계 - 결정성

  3. 문맥-무관 언어의 범위 • 정리 2.5 : Pumping Theorem • 만약 L이 무한히 많은 스트링을 가지고 있는 문맥-무관 언어이면, • svuwt  L  svnuwnt  L, n  N+ • v와 w 중 적어도 하나는 공백 스트링이 아니다.

  4. 정리 2.5 증명 • G = (N, T, S, R) • 용어 • m : 생성 규칙들 중 가장 긴 우변의 길이 • j = |N| • Parse tree의 깊이

  5. {xnynzn: n  N+} • 이 언어는 문맥-무관 언어가 아니다. • 정리 2.5를 이용해 증명. • 워드 프로세서(word processor) • 같은 기호의 단어 • 역행 문자(back space) • 같은 개수의 밑줄

  6. 결정적 푸쉬다운 자동장치 • 컴파일러의 routines은 결정적이어야 한다 • 결정적인 파싱 루틴 개발의 설계 도구 : PDA • Deterministic pushdown automaton • 어느 순간에나 꼭 한 개의 전이만 적용 가능한 푸쉬다운 자동장치 • T에는 (p, u, v; q, z) 형태의 전이가 꼭 한 개만 존재 • (u, v)는 {(x, y), (x, ), (, y), (, )}의 원소 • 즉, 위 네 경우에서 반드시 한 경우만 존재

  7. DPDA의 설계 방법 • 그림 2.20b • 원하지 않는 스택의 기호는 POP후에 다시 PUSH. • 스택 기호 #을 도입한다.

  8. 정리 2.6 • DPDA에 의해 수락되지 않는 문맥-무관 언어가 있다. • L = {xnyn: n  N+}  {xny2n: n  N+} • 문맥-무관 언어 : 그림 2.21 • L은 결정적 푸쉬다운 자동장치에 의해 수락될 수 없다 : • 증명은 귀류법(by contradiction) • {xnynzn: n  N+}을 수락하게 된다 : 오류

  9. 결정적 문맥-무관 언어 • 그림 2.23 • 스트링을 수락하기 전에 자신의 스택을 비우는 결정적 푸쉬다운 자동장치에 의해 수락되는 언어 • 그림 2.22 • L(M) = {xn: n  N}  {xnyn: n  N} • 스택을 비우게 하면, xn+myn도 수락된다. • L(M)이 아니다 : 오류 발생

  10. 입력 스트링 수락 방식 • 푸쉬다운 자동장치가 스트링을 수락하기 위해서는, 그 스트링을 읽은 뒤 테이프 헤드를 더 이상 테이프의 뒤로 옮기지 않고 자신의 수락 조건을 만족해야만 한다. • PDA가 EOS 표지를 실제로 읽지 않고도 수락 상태에 도달해야 한다. • PDA가 현재 테이프 헤드의 바로 오른쪽에 있는 다음 기호를 엿볼 수 없었다.

  11. 룩어헤드 원리(Lookahead principle) • 다가오는 기호들을 실제로 읽어 들이지는 않고 엿보는 기법 • 그림 2.24의 변수 symbol • 다음 입력 기호를 위한 저장소 또는 buffer • While 구조 종료 뒤에도 buffer에 남는다 • 적용 • PDA의 비결정성을 극복하는 프로그램 구성 • 문맥-무관 문법에 대한 파싱 루틴 개발의 발판 • 파서(Parser)에 적용

More Related