본문 바로가기
독서/Book

Compilers: Principles, Techniques, and Tools (3)

by 멜랑멀리 2025. 1. 30.
반응형
SMALL

 

(Book) Compilers: Principles, Techniques, and Tools

책 정보및 강의 정보 link :

compiler: principles, techniques, & tool

- Compilers: Principles, Techniques, and Tools (2)

- Compilers: Principles, Techniques, and Tools (3)

 

< Lexical Analysis >

- push back이 왜 필요한가? 

 ex) >= and > 를 구분하기위해 필요. 

 

symbol Table : 후속 단계에 대한 정보를 저장함.

어휘소(lexeme)를 저장할 공간이 고정되어 있습니다. -> 공간을 낭비하므로 권장하지 않습니다.

• 어휘소를 별도의 배열에 저장합니다.

  –각 어휘소는 eos로 구분됩니다.

  –기호 테이블에는 어휘소에 대한 포인터가 있습니다.

 

 

Transition Diagrams )

 

 

Lexical analyzer Generator 

 생성기에 대한 입력

– 우선 순위에 따른 정규식 목록

– 각 정규식에 대한 관련 작업(토큰 종류 및 기타 장부 정보 생성)

• 생성기의 출력

– 입력 문자 스트림을 읽고 토큰으로 나누는 프로그램

– 어휘 오류(예기치 않은 문자)가 있는 경우 보고합니다.

  정규식은 유한 오토마타가 인식할 수 있는 언어를 설명합니다

• 각 토큰 정규식을 NFA(Non Deterministic Finite Automaton)로 변환

• NFA를 동등한 DFA로 변환

• DFA를 최소화하여 상태 수 줄이기

• DFA 테이블에 의해 구동되는 코드를 내보냅니다.

반응형
SMALL