출처: https://3months.tistory.com/307 [Deep Play]

3-2/기초컴파일러

Introductory Concept

코딩하는 랄뚜기 2021. 9. 5. 14:50

 

배커스-나우르 표기법(Backus–Naur form), 약칭 BNF 문맥 자유 문법을 나타내기 위해 만들어진 표기법이다. 여기에서 기호는 말단 기호가 될 수 없고, 표현식은 다른 기호의 조합, 또는 여러 가지의 표현식 중 하나를 사용한다는 의미로 |를 사용한다. 다른 표현식으로 정의되지 않은 기호는 자동적으로 말단 기호가 된다. 또한, 기호가 아닌 상수에는 따옴표를 붙여서 구별한다.

Assembly 언어는 Label, OP, Operand 이렇게 3가지로 구성되어 있다.

① Label : 데이터를 기억할 기억장소, 또는 분기할 위치, 기호 상수 등에 대한 기호(Symbol)를 기술하는 부분으로 생략할 수 있다.

② OP : 명령어(OP-code)를 기술하는 부분

③ Operand : OP-code가 연산을 수행하기 위한 연산의 대상이 되는 Literal(상수, 데이터)이나 주소, Register 번호 등을 기술하는 부분

 

첫 번째 패스에서는 어셈블리 코드를 가지고 기호표를 작성한다. 

 

'3-2 > 기초컴파일러' 카테고리의 다른 글

NFA->DFA, State Minimization  (0) 2021.09.18
Finite Automata  (0) 2021.09.18
Chomsky hierarchy  (0) 2021.09.10
Formal language, Formal grammar  (0) 2021.09.09
컴파일러 구조 개요  (0) 2021.09.05