[컴파일러 입문(개정판)7장 연습문제
- 최초 등록일
- 2009.06.16
- 최종 저작일
- 2009.06
- 20페이지/ 한컴오피스
- 가격 1,000원
소개글
연습문제 입니다
목차
없음
본문내용
7.1 다음 괄호에 알맞은 용어를 쓰시오.
1. 시작 심벌로부터시작 하여 주어진 스트링과 같은 스트링을 유도해 나가는 파싱 방법을 (Top-down)이라 부른다.
2. LL이란 용어에서 두 번째 L자는 (Left parse-좌파서) 약자이다.
3. ring sum(⊕)의 정의에서 A가 ε을 포함하고 있다면, A⊕B는 ( (A-{ε})⋃B)이다.
4. FOLLOW 계산 과정에서 A ->αB이거나 A -> αBβ에서 FIRST(β)에 ε이 속하는 경우, (A)의 FOLLOW 전체를 (B)의 FOLLOW에 추가한다.
5. 일련의 프로시저 호출로 파싱을 행하는 파서를 (Recursive-descent 파서)라 한다.
6. Predictive 구문 분석이란 문법-의존적인 (parsing table)과 문법-독립적인 (구동 루틴)으로 나누어 처리하는 방법이다.
7. Predictive 파서의 4가지 행동은 pop, (expand), accept, error이다.
8. Predictive 파싱 테이블의 크기는 ( 항상 | VN | * ( |VT| + 1 ))이 된다.
9. 주어진 문법으로부터 predictive 파싱 테이블을 만들었을 때, 중복된 엔트릴 갖지 않으면 그 문법을 (LL(1))문법 이라 말한다.
10. 일반적으로 LL(k)가 strong LL(k)보다 (지나온 심벌)의 정보가 더 있기 때문에 더 근 종류의 언어를 인식할수 있다.
7.4 다음과 같이 문법이 주어졌을 때, 각 nonterminal에 대한 FIRST와 FOLLOW를 구하시오.
(1) S → aRTb | bRR
R → cRd | ℇ
T → RS | TaT
FIRST(S) = {a,b}
FIRST(R) = {c,ℇ}
FIRST(T) = ∅
FIRST(T) = FIRST(T) ∪(FIRST(RS)∪FIRST(TaT))
= FIRST(T) ∪(FIRST(R) ⊕ FIRST(S))∪
(FIRST(T) ⊕ FIRST(a) ⊕ FIRST(T))
참고 자료
없음