개발 관련 학습정리/컴파일러 만들기 (이론)
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 를 찾은 뒤 마지막 스타팅 포인트를 찾는 방법이다.
반응형