17 - Syntax Analysis

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

반응형

어휘 분석을 마치고 구문 분석을 이야기한다.

 

Syntax Analysis란?

- 한줄 한줄 입력된 코드가 유효한지 검사한다.

- 전체를 파싱하여 트리로 만들어 낸다.

- 크게 탑다운 파싱과 바텀업 파싱으로 나뉜다.

 

Syntax

1) S -> XY
2) X -> aX
3) X -> b
4) Y -> aY
5) Y -> c

 

Top-down Parsing

탑다운 파싱은 루트 노드부터 터미널 노드까지 파싱하는 방법이다.

파싱 순서는 1 -> 2 -> 3 -> 4 -> 5 순으로 되며,

스타트 지점인 S 부터 하나씩 풀어 나간다.

 

 

Bottom-up Parsing

바텀업은 터미널 노드로 부터 루트 노드까지 파싱하는 방법이다.

파싱 순서는 3 -> 2 -> 5 -> 4 -> 1

터미널인 a b a c로 부터 non-terminal인 X ,Y 를 찾은 뒤 마지막 스타팅 포인트를 찾는 방법이다.

 

반응형