CS/Compiler
-
구문 분석CS/Compiler 2023. 10. 7. 15:17
컴파일러의 전반부 구조를 3단계로 나눈다면, 1. 어휘(lexical) 분석 2. 구문(syntax) 분석 3. 의미(Semantic) 분석 으로 구분할 수 있다고 하였다. 오늘은 두 번째 단계인 구문 분석에 대해 알아보자. 어휘분석 단계에서는 정규표현식으로 기술하고, 상태전이도를 따라가며 판별하여 토큰을 구분하였다. 구문분석 단계에서는, 이 토큰들을 파스트리로 나타내고자 하는 것이 목표이다. CFG(Context Free Grammar) CFG는 언어의 문법을 정의하는 일반적인 방법으로, 표현된 문법으로 인식기를 손쉽게 구현할 수 있게된다. CFG의 문법은 아래와 같이 네 종류의 집합으로 표현할 수 있다. G(문법) = (N,T,P,S) 1. N : non terminal 심벌 집합 중간과정 심벌이다...