둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
컴파일러 문서 원본 보기
이름공간
문서
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
컴파일러
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
== 개요 == 컴파일러({{Llang|en|Compiler}}, {{Llang|ko|해석기}})는 어떤 [[프로그래밍 언어]]를 다른 프로그래밍 언어로 옮기는 작업인 [[컴파일]]을 수행하는 프로그램이다. 원본 프로그래밍 언어로 작성된 문서를 원시 코드({{Llang|en|Original Code}}), 컴파일 과정이 끝나고 생성되는 결과물을 목적 코드({{Llang|en|Object Code}})라고 한다. 목적 코드는 경우에 따라 그대로 사용되기도 하지만 [[링커]] 프로그램을 이용해 다른 목적 코드와 병합하여 결과물을 내기도 한다. 링커 프로그램은 경우에 따라 컴파일러의 구성요소로 포함하기도 한다. 컴파일러의 핵심 구성 요소는 다섯 가지에서 여섯 가지 정도로 요약해볼 수 있다. # 어휘 분석기(lexer): 해당 소스 코드에서 어떤 어휘가 어떤 순서에 따라 쓰였는지를 파악하고, 필요 없는 기호를 제거하며, 사용자가 선언한 식별자들의 사전을 만든다. # 구문 분석기(parser): 어휘 분석기의 결과에 따라 정돈된 중간 코드를 입력받아, 해당 프로그래밍 언어의 문법(syntax)에 맞추어 파스 트리를 생성한다. # 의미 분석기: 파스 트리를 토대로 프로그램의 의미(작동방식)를 규정하여 이진 코드로 만든다. # 최적화: 파스 트리를 토대로 프로그램을 더 최적화할 수 있는지 확인하여, 파스 트리나 이진 코드를 변형한다. # 링커 및 부수적 작업 == 역사 == 최초의 컴파일러는 1952년에 개발된 [[그레이스 호퍼]] 제독의 [[A-0(프로그래밍 언어)|A-0]] 언어 컴파일러이다. 컴파일러라는 이름은 그레이스 호퍼 제독이 맨 처음 사용했다. 최적화 기능까지 탑재된 완전한 컴파일러는 1957년에 [[존 배커스]]가 개발한 [[포트란]] 컴파일러이다. 1972년에는 이후 매년 집계할 때마다 프로그래밍 언어 사용 순위 1~3순위를 오가는 [[데니스 리치]]의 [[C(프로그래밍 언어)|C]] 언어의 컴파일러가 만들어졌다. == 같이 보기 == * [[어셈블러]] * [[링커]] * [[인터프리터]] * [[컴파일]] * [[JIT 컴파일]] * [[가상 머신]] [[분류:분야/컴퓨터]]
이 문서에서 사용한 틀:
틀:Lang
(
원본 보기
)
틀:Llang
(
원본 보기
)
틀:Llang/언어 고리
(
원본 보기
)
틀:언어 이름
(
원본 보기
)
컴파일러
문서로 돌아갑니다.
다른 언어