출처: https://3months.tistory.com/307 [Deep Play]

3-2/기초컴파일러

Syntax Analysis

코딩하는 랄뚜기 2021. 10. 16. 16:55

FIRST

즉, Nonterminal A로부터 유도되어 첫 번째 나타나는 터미널 기호들의 집합이라고 할 수 있다.


Nullable Nonterminal

𝜀으로 유도되지 않으므로 nullable하다.


Ringsum and FIRST

Ringsum에서 A에 𝜀이 포함이 되면 빠지는 개념은 매우 중요한 개념이므로 주의하자.

 


FOLLOW

FOLLOW(A)는 어떤 문장 형태에서 논터미널 기호 A다음에 나오는 터미널 기호들의 집합이다.

Sentential form에서 nonterminal A 다음에 나오는 terminal symbols의 set.

$는 입력 문자열의 끝을 나타내는 symbol.


FOLLOW(A)

 

1. 만약 A가 시작 기호이면 $는 FOLLOW(A)에 속한다.

2. 만약 B->ɑAβ,β≠𝜀인 생성규칙이 존재하면 A의 FOLLOW에 𝜀을 제외한 FIRST(β)를 첨가한다.

3. 만약 B->ɑA이거나 B->ɑAβ에서 β->*𝜀 이면 B의 FOLLOW 전체를 A의 FOLLOW에 첨가한다.

 

 

 


LL Condition

'3-2 > 기초컴파일러' 카테고리의 다른 글

Bottom-up parsing  (0) 2021.11.06
Recursive-decent, Predictive Parsing  (0) 2021.10.16
Pushdown Automata  (0) 2021.10.16
Grammar Conversion  (0) 2021.10.09
Context-free Grammar, Parse Tree, Ambiguous Grammar  (0) 2021.09.30