Blake Woo

컴파일러 - 어휘분석기 - 형식언어

형식언어 1. 형식언어 구조, 범위 등이 명확히 규정되어 있는 언어. 자연 언어의 문법 구조를 수학적 측면에서 형식화한 것으로서 자연 언어보다 훨씬 간단한 구조의 인공 언어로 볼 수 있다. 형식 언어의 이론은 알골 등의 프로그램 작성 언어에서 제반 문제로 응용되고 있다. 형식 언어는 알파벳으로부터 생성되는 모든 문자열의 부분집합을 말하는데 이러한 언...

컴파일러 - 어휘분석기 - 유한 상태 오토마타

어휘분석기 - 유한 상태 오토마타 공부해보니 오토마타에 대한 내용은 매우 크고, 언어학과 다른 지식 어딘가에 모호하게 걸쳐있는 느낌이 있어서 다른 분류로 분리해야겠지만, 일단은 현재 컴파일러에 대해서 논하고 있으므로 일단 이곳에 포스팅하기로 했다. 1. 유한 상태 기계 유한 상태 기계라는게 있다. 이는 상태가 유한한 기계를 말한다. 여기서 말하는 기...

컴파일러 - 어휘분석기 - 정규표현식

어휘분석기 - 정규표현식(regular expression) 1. 개요 정규표현식을 한마디로 말하자면 문자들의 집합(이 집합을 언어라고 한다) 간결한 패턴으로 표현하는 방법이다. 사실 정규표현식이야 개발간에 많이 사용한다. 가령 로그인간 아이디 형태 검증이나, 이메일 형태 검증만 예시를 들어도 바로 알 수 있을 것이다. 우리가 단순히 문자열 매칭에...

컴파일러 - 실행파일 구조

실행파일 구조 1. 개요 우리가 프로그램을 사용할 때 많은 파일들을 접하고 윈도우의 경우 더블클릭으로 리눅스의 경우 명령어로 간단히 실행하지만 실제로 실행하는 가능한 파일의 형태는 한정되어있다. 2. PE FILE FORMAT (윈도우) 윈도우에서 실행 가능한 파일은 모두 PE 파일 포맷을 따르며 해당 파일의 확장자는 아래와 같다. 실행 파일...

C++ - 상속

C++ 상속 1. 개요 상속이란 객체 지향 프로그래밍에서 부모 클래스(슈퍼 클래스)에서 자식 클래스(서브 클래스)로 클래스의 속성과 메서드를 물려주는 것을 말한다. 부모 클래스에서 정의된 속성과 메서드는 자식 클래스에서 사용가능하며, 부모 클래스에서 받은 메서드를 다시 정의할 수도 있다. 위 구조를 잘 사용하면 성능과 유지보수에 좋으며 아래와 같은...