3.1 Introduction
프로그래밍 언어 구현
입력 프로그램 → Syntax → Semantics → Interpret/Compile

- 어휘 구조(Lexical) : 언어에서 사용하는 단어의 구조, 철자법을 의미
- 구문법(Syntax) : 구성요소를 이용해서 표현식, 문장, 프로그램 단위의 형식 및 구조를 의미
- 언어의 표면적인 구조를 문법을 이용하여 기술할 수 있음
- 작성된 프로그램에 대해 구문에 맞는지 확인하여 정상적인 프로그램 도출
- CFG(Context-free Grammar) → BNF (Backus-Naur Form)를 바탕으로 소스코드 검사
- 의미론(Semantics): 문장/프로그램의 의미를 정하는 것; 위 구조들이 실제로 의미하는 바
- 프로그래밍 언어 정의는 Syntax와 Semantics 둘로 구성됨
3.2 The General Problem of Describing Syntax
Terminology
- 문장 (sentence): 알파벳 문자열
- 언어 (language): 문장들의 집합
- 어휘 (Lexeme) : 언어의 가장 낮은 레벨의 구문 요소 ex) sum, *
- 토큰 (Token) : 어휘의 카테고리 ex) identifier