CAFE

자연과학대학

[컴퓨터과학과]방통대 컴파일러구성 기말시험 요약자료_컴파일러구성 기출문제 정리

작성자방통대 길잡이|작성시간06.11.28|조회수414 목록 댓글 0

제4장 Context-free언어와 푸시다운 오토마타
제5장 구문분석

? 구문분석의 종류

(1) 파스트리의 제작 순서에 따라 Top-Down과 Bottom-Up으로 나뉜다.

① Top-Down 방법 : 시작 - 루트노드-> 터미널 노드로 만들어 나가는 방법

                     시작기호로부터 출발하여 정의된 문법 규칙을 적용하여 유도에 의하여

                     주어진 문자열을 찾아가는 방법.

   - 구문분석기 : recursive decent 구문분석 방법, LL(k) 문법

② Bottom-Up 방법 : 시작 - 터미널노드->루트노드

                      주어진 문자열로부터 reduce 하여 시작기호를 찾아가는 방법

   - 구문분석기 : 단순순위, 확장순위, 한정순위, 혼합순위, 및 LR(k) 문법들

                  (연산자 순위문법으로는 보통의 산술식 표현 가능, 하지만 일반적 프로그램 언어 모두

                  표현 불가능) -> 현재 실용화된 문법 : LR(1)


? Bottom-Up 구문분석

(1) 정의

reduce : S * αAw αβw의 유도과정이 존재할 때, 문장형태 αβw에서 β를 A로 대체하는 것.

   handle : β (αβw의 handle) ; 한 문장형태에서 reduce 되는 부분.


(2) Shift-reduce 구문분석

① 방법 : 스택과 입력버퍼를 사용하여 구현가능.

  - 스택 : handle을 찾을때까지 현재의 입력기호를 유지

  - 입력버퍼 : 주어진 문자열 간직

② Shift : 스택의 top에 handle이 나타날 때까지 입력기호를 하나씩 스택으로 옮기는 것

③ Shift-reduce 구문분석 : Shift 계속 -> handle 발견시 handle에 해당되는 문자열이 생성규칙의 오른쪽에 있는 것을 찾아서, 왼쪽에 있는 기호를 reduce, 작업 반복.

시작기호가 나타나면 구문분석을 멈추고 구문분석에 의해 주어진 문자열은 주어진 문법에 의해 받아들여 질 수 있음. 이 구문과정이 shift 와 reduce가 연속적으로 이루어지기 때문에 Shift - reduce 구문분석.


제6장 의미분석과 기호표
제7장 중간코드 생성
제8장 코드의 최적화
제9장 코드의 생성

<출제예상문제 - 40문제>

<02-05학년도 기출문제>

 

http://www.knoupia.com/Contents/Data_view.asp?code=209&b_name=Board_Lcomputer&page=1&order=&term=1&dur=lt&txt_knou=&title=컴파일러구성%20기말시험%20핵심요약


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼