23 - LL Parsing (FOLLOW operation)

2021. 8. 25. 22:53개발 관련 학습정리/컴파일러 만들기 (이론)

반응형

 

FOLLOW


follow 연산도 first와 마찬가지로 여러가지 룰이 적용된다.

먼저 정의이자 룰은,

 

1. FOLLOW란 해당 터미널/논터미널 바로 뒤에 따라오는 요소를 말한다.

first는 해당 논터미널이 전개되었을때 가장 앞에 오는 요소라면,

follow는 해당 논터미널 뒤에 가장 근접한 요소를 찾는다.

S -> aAtB 일때, A의 follow는 t가 되는것이다.

 

2. S -> AB에서, B가 epsilon이 아닐때 First(B)는 Follow(A)와 같다.

이는 AB가 있을때 A의 Follow는 B의 가장 앞쪽과 같기 때문에 이가 성립된다

 

3. S -> aB에서, Follow(B)는 Follow(S)와 같다.

B뒤에 뭐가 없는 상황일때, S의 마지막과 B의 마지막이 동일하기 때문에 부분집합으로 보아 이가 성립된다.

 

4. Follow()에 들어가는 요소가 스타트 심볼일때, 무조건 string이 포함된다.

이 룰은 하나의 규칙이므로 외우면 좋다.

 

 

 

 

 

 

 

반응형