스크랩

각 복사하기 버튼을 이용하여 블로그나 카페에 HTML 형식으로 붙여넣기 하실 수 있습니다.

소스복사하기

2014년 2학기 컴파일러구성 기말시험 핵심체크

다운로드: icon20142_기말_컴퓨터3_컴파일러구성.pdf


목차
제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)이라 하고, 잎은 터미널기호를 레이블로 가짐


- 중략 -
2024-04-16 21:00:20 211.234.109.229/data/data_scrap.html 최근 수정일: 2019-11-06 15:55:18. 총퀴리수 : 3 총쿼리시간 : 0.00187 [0.00041]/[ DB:report] select count(*) AS CNT from psCart where SessNum='20240416210020552702'; [0.00033]/[ DB:report] SELECT seq FROM psRlist WHERE rpID=10396040; [0.00113]/[ DB:report] SELECT * FROM psReportCo WHERE rpID=10396040;