-
(작성중)프로그래밍 언어의 구문과 구현 기법전공/프로그래밍언어론 2020. 6. 11. 13:37
4.1 언어 구문
Lexical Analyzer → Syntax Analyzer → Intermediate Code Generator → Semantics Analyzer → Code Generator
1) Lexical Analyzer(어휘 분석기)
Identifier(식별자 = 변수)를 인식하는 역할을 한다. A = B + C 라는 코드에서 A, B, C가 Identifer이다.
2) Syntax Analyzer(구문 분석기)
어휘를 분석했으니 어휘들의 집합인 구문을 분석한다.
3) Intermediate Code Generator(중간 코드 생성기)
4) Semantics Analyzer(의미 분석기)
5) Code Generator(코드 생성기)
1~4까지는 기계 독립성을 띠고 코드 생성기만 기계 의존성을 띤다. 무슨 말이냐 하면 기계 독립성은 어떤 기계든 간에 상관없이 언어를 분석하는 것이다. 의존성은 최종 이식될 기계에 적합한 방식대로 변경된다는 뜻이다. 즉, 모토로라, 인텔에 따라서 다르게 적용되는 것이 코드 생성기 부분이다.
* BNF(Bankus Naur Form) 표기법
시험에 백퍼 나올 것 같다. BNF는 생성 규칙을 정의하는 방식이다.
* EBNF(Extender BNF) 표기법
BNF에 기호를 추가로 사용하는 방식.
4.2 언어 구현 기법
'전공 > 프로그래밍언어론' 카테고리의 다른 글
프로그래밍 언어의 변천 (0) 2020.06.10