Re 2

[컴파일러 이론] 2. FSA, DFA, NFA

2025.11.20 - [컴파일러] - [컴파일러] 1. lexical analysis, scanner, regular expression [컴파일러] 1. lexical analysis, scanner, regular expression보통 우리가 코딩을 하면 어셈블리어로 컴파일되어 기계가 알아들을 수 있게 변환된 다음 코드가 실행된다. 이 과정에서 분명 사람은 거의 영어에 가까운 언어로 코딩을 하는데, 기계가 이걸 어april2901.tistory.com 이전 글에서 RE를 사용해 각 token의 pattern을 만드는 것까지 알아봤었다.이번에는 이 pattern들을 인식하는 법을 알아보자.Finite State Automata(FSA)먼저 Finite State Automata(FSA)라는 개념에..

CS/컴파일러 2025.11.21

[컴파일러 이론] 1. lexical analysis, scanner, regular expression

보통 우리가 코딩을 하면 어셈블리어로 컴파일되어 기계가 알아들을 수 있게 변환된 다음 코드가 실행된다. 이 과정에서 분명 사람은 거의 영어에 가까운 언어로 코딩을 하는데, 기계가 이걸 어떻게 알아듣고 어셈블리어로 바꿀지 의문이 들 수 있다. 이 변환을 수행해주는 컴파일러의 원리에 대해 알아보자. 위 그림을 보면 source code가 assembly code로 변환될 때까지 꽤 많은 과정이 필요함을 볼 수 있다. 이번 글에서는 첫 단계인 Lexical Analysis에 대해 조금 살펴보자. ScannerLexical Analysis를 수행해주는 프로그램(?)의 이름을 Scanner라고도 하는데, 이름처럼 source code를 스캔하는 작업을 하기 때문이다.사람들의 언어로 예시를 들면 문장을 받아서 한 ..

CS/컴파일러 2025.11.20