[컴퓨터과학과] 2016년 2학기 컴파일러구성 교재 전 범위 핵심요약노트
메인프리
- 최초 등록일
- 2016.01.13
- 최종 저작일
- 2016.01
- 58페이지/
어도비 PDF
- 가격 7,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
목차
제1장 컴파일러의 개요
제2장 형식언어와 오토마타
제3장 어휘분석
제4장 Context-free 언어와 푸시다운 오토마타
제5장 구문분석(syntax analysis, parsing)
제6장 의미분석과 기호표(semantic analysis and symbol table)
제7장 중간언어와 중간코드 생성
제8장 코드의 최적화(code optimization)
제9장 코드의 생성(code generation)
* 각 장별 출제예상문제 (해설 포함) *
본문내용
제4장 Context-free언어와 푸시다운 오토마타
1. Context-free언어와 푸시다운(Push-Down) 오토마타
① 촘스키에 의하면 A α, A ∈ VN, α ∈ V*의 형태를 가짐
② 산술이나 블록구조를 표현하는데 효율적
③ 자연언어를 표현하기 위해서 도입됨
④ Context-free 언어는 정규언어보다 표현범위가 넓으나 push-down 오토마타를 구현하는 일은 유한 오토마타를 구현하는 것보다 훨씬 복잡하고 어렵다.
2. 유도트리
(1) 유도(derivation)
① 좌단유도: 유도과정의 각 단계에서 문장형태(sentential form)의 가장 왼쪽에 있는 논터미널기호를 계속해서 대체하는 경우
② 우단유도: 가장오른쪽의 논터미널기호를 계속해서 대체하는 경우
(2) 파스
① 좌파스(left parse): 좌단유도에 의해 적용된 일련의 생성규칙 순서
② 우파스(right parse): 우단유도에 의해 적용된 생성규칙 순서의 역순
(3) 유도트리(derivation tree) 또는 파스트리(parse tree)
① 구문분석과정에서 문장이 유도되는 과정을 트리형태로 표현
② CFG(Context Free 문법) G = (VN, VT, P, S)에 대한 유도트리는 다음과 같이 정의
- 모든 노드는 문법기호를 레이블로 가짐
- 루트(root)의 레이블은 시작기호 S이다.
- 만약 어떤 노드가 하나 이상의 자노드(child node)를 갖는다면, 이 노드는 논터미널 기호를 레이블로 가짐
- 왼쪽부터 순서적으로 X1, X2, ,,, Xn의 n개의 자노드를 갖는 어떤 노드 A가 존재한다면, 생성규칙 A X1X2 ,,, Xn이 존재
- 만약 어떤 노드가 자노드를 하나도 갖고 있지 않다면, 이 노드를 잎(leaf, termnal node)이라 하고, 잎은 터미널기호를 레이블로 가짐
- 중략 -
참고 자료
없음