반응형
어휘 분석기(lexical analyzer)
- 입력된 소스 프로그램을 읽어서 토큰(식별자(identifier), 상수(constant), 예약어(keyword), 연산자(operator), 구분자(delimiter) 등의 의미 있는 문법적 단위로 터미널 심볼) 형태로 분리하여 반환
파서(parser)
- 소스 프로그램을 구문 분석(파싱)하면서 프로그램 내의 문장들의 AST 를 생성하여 반환.
- 파싱하면서 필요 시에 getToken() 을 호출하여 어휘 분석기로 부터 다음 토큰을 요구
추상 구문 트리(Abstract Syntax Tree, AST)
- 파서는 소스 프로그램을 파싱하여 AST 를 생성. AST 는 소스 프로그램의 구문 구조를 추상적으로 보여주는 트리로 해석기의 입력이 됨
인터프리터(Interpreter)
- 프로그램 내의 각 문장의 AST 를 순회하면서 각 문장의 의미를 따라 해석하여 수행
상태(State)
- 인터프리터는 각 문장을 수행하면서 유효한 변수들의 상태를 저장하는 스택 형태의 자료구조를 사용
정규식
- X 문자 X
- M | N M 또는 N 을 표현
- MN M 다음에 N 이 나타나는 접합을 표현
- M* M 이 0번 이상 반복됨을 표현
반응형
'프로그래밍 언어론' 카테고리의 다른 글
[프로그래밍 언어론] 자료형(data type) (0) | 2022.08.22 |
---|---|
[프로그래밍 언어론] 의미론(sementics) (0) | 2022.08.22 |
[프로그래밍 언어론] 변수, 유효 범위 (0) | 2022.08.21 |
[프로그래밍 언어론] 구문법(Syntax) (0) | 2022.08.21 |
[프로그래밍 언어론] 프로그래밍 언어 (0) | 2022.08.21 |