반응형

수업내용정리/컴파일러 3

1.2 형식언어

[형식언어 기초] 형식언어 ( formal language ) : 어떤 알파벳에서 얻은 기호(symbol)들로 구성되는 문자열들의 집합 알파벳 : 기호들의 유한집합 문자열 : 알파벳을 구성하는 기호가 0개 또는 1개 이상 나열된 것 ex ) 집합 T = { a, b, c}가 주어졌을 때, 집합 T는 기호 a, b, c들의 집합이므로 알파벳이다. T로부터 만들어지는 문자열은 a, b, c, ab, ac, ca,..... 등이다. 문자열의 길이 : 문자열을 이루는 기호들의 갯수를 문자열의 길이라고 한다. |w|로 표시한다. ex) w1 = abc, w2 = abab 의 문자열에 대한 길이는 |w1| = 3 , |w2| = 4라고 할 수 있다. 공문자열 : 문자열의 길이가 0 인것을 공문자열이라고 한다. ε ..

1.1.1 컴파일러 개요 요약

어셈블러 : 저급언어를 저급언어로 번역하는 기능을 갖고 있는 번역기 어셈블러는 저급언어인 어셈블리어를 입력으로 하여 저급언어인 기계어로 번역하는 번역기 컴파일러 : 고급언어를 저급언어로 번역하는 기능을 갖고 있는 번역기 저급언어란 기계의 구성과 관련이 깊은 언어로 기계 중심 언어 ( low - level - language ) 프리프로세서 : 고급언어를 다시 고급언어로 번역하는 번역기 프리프로세서는 프로그래밍 언어에 유용한 기능들을 추가하여 언어를 확장하는 경우 주로 사용된다. C언어에서의 표제 파일 (header), 매크로, 조건번역 등의 기능도 프리프로세서이다. 인터프리터 : 고급언어를 입력받아 실행결과를 바로 출력하는 것 고급언어로 작성된 원시 프로그램을 중간코드로 변환하고, 변환된 중간코드를 명령..

1.1 컴파일러

컴파일러 - 간단하게 말해서 언어를 번역하는 번역기 - 컴퓨터와 인간사이에 의사전달을 하기 위한 것 고급언어를 저급언어(기계어)로 번역한다. - 번역기에는 어셈블러(assembler), 컴파일러(compiler), 인터프리터(interpreter), 프리프로세서(preprocessor) 등이 있는데 이들 중 가장 대표적인 번역기가 컴파일러이다. 번역기 종류 컴파일러와 인터프리터 1). 컴파일러 - 번역 후에 실행된다. - 효율적이며 반복문 처리에 효과가 있다. - 큰 기억장소를 요구한다. - FORTRAN, COBOL, PASCAL, C, C++, JAVA - 컴파일러의 논리적 구조 어휘분석 : 원시 프로그램을 읽어 토큰단위로 분리하여 출력 구문문석 : 토큰들이 주어진 문법에 맞는지 검사 의미분석 : 구..

반응형