Compiler, Compile   컴파일러, 컴파일

(2019-04-02)
Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
  2. 프로그래밍 기법
[프로그래밍 언어론]
[구조적 프로그래밍]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
시스템 소프트웨어 > [번역/번역기]
[컴파일러]
[정규표현식]
[(기타)]
번역/번역기   1. 번역
  2. 어셈블러
  3. 인터프리터
  4. 컴파일러

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
  2. 프로그래밍 기법
[프로그래밍 언어론]
[구조적 프로그래밍]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
시스템 소프트웨어 > [번역/번역기]
[컴파일러]
[정규표현식]
[(기타)]
컴파일러   1. 컴파일
  2. 전처리
  3. 링커,로더
  4. 언어
  5. 형식 언어
  6. 유한상태 머신
  7. 어휘/구문/의미 분석
  8. BNF,EBNF

1. 컴파일러

  ㅇ 고급 프로그래밍 언어로 쓰인 프로그램을 의미상으로 동등하나, 
     컴퓨터로 즉시 실행 가능한 형태의 목적 프로그램으로 변환시켜 주는 번역 프로그램

  ㅇ 즉,
     - 고급 프로그래밍 언어로 작성한 원시 코드(Source Code)를,
     - 컴퓨터 내부에서 사용하는 언어기계어(Machine Language)로 번역하고,
     - 이를 실행가능(Excecutable)하게 만들어주는 프로그램


2. 전체 컴파일 과정

  ㅇ 컴파일 실행 단계 구분 (넓은 의미의 컴파일 : 때론, 전체 과정을 build 이라고도 함)
     - 선행처리 (Preprocessing)
        . 컴파일 전에 원시 프로그램을 처리하는 컴파일러의 한부분
     - 컴파일 (Compile)
        . 좁은 의미의 컴파일
     - 결합 (Assemble)                                    ☞ 어셈블러 참조
        . 소스 코드기계어 변환
        . 어셈블러의 출력은 오브젝트 파일(object file)이라고 함
     - 링킹(Linking) & 로딩(Loading) : 실행 파일의 생성   ☞ 링커,로더 참조
        . 주 기억장치의 할당(확보)
        . 연결(Linking)
        . 재배치(Relocation)
        . 프로그램 연결 적재(Loading)

  ㅇ 컴파일 논리적 단계 구분 (좁은 의미의 컴파일)
     - 어휘 분석 : 토큰 분리 등
     - 구문 분석 : 구조화된 구문 트리 생성 등
     - 의미 분석 : 형(Type) 검사 등
     - 중간 코드 생성
        . 중간 코드 例) Pascal의 P 코드, Java바이트 코드 등
     - 코드 최적화
     - 목적 코드 생성
        . 목적 코드(Object Code) : 기계어로 번역된 파일


[번역/번역기] 1. 번역 2. 어셈블러 3. 인터프리터 4. 컴파일러

 
        최근수정     요약목록     참고문헌