프로그래밍 언어와 컴퓨터 구조가 다양해짐에 따라 많은 컴파일러가 필요하게 되었다. 즉
N개의 언어를 M개의 기계에서 구현하고자 할때 M*N개의 컴파일러가 필요하다. 이에따라 컴파일러 제작을 도와주는 도구들이 필요하게 되었고 결과로 컴파일러 생성기 또는 컴파일러-컴파일러 라고 부른다.
컴파일러 -컴파일러는 특정한 프로그래밍 언어를 위한 언어 표현과 목적 기계에 대한 기계표현을 입력받아 하나의 컴파이러를 출력하는것 이다. // compiler_compiler(language) 결과로 컴파일러가 나옵니다!! 같은 느낌.... . _.)
생성기- 생성기는 생성될 단계의 기능을 묘사하는 메타를 입력받아 각 단계가 사용하게 될 테이블 또는 프로그램을 출력한다. 그럼 각 구동기는 이 테이블을 이용해 그 단계에서 수행해야 할 일을 처리한다.
어휘 분석 생성기는 토큰 표현을 입력받아 어휘분석기를 자동으로 생성하는 도구다.
파서 생성기는 언어의 문법 표현으로부터 파서를 자동으로 생성하는 도구를 말하며 그 기능은 문법 표편을 받아 파싱 테이블을 내놓고 파서는 이 테이블을 이용하여 주어진 문장에 대한 문법적인 검사를 하여 다음 단계에서 필요한 의미정보를 만든다.
대표적으로 YACC가 있다.
ACK는 컴파일러의 후단부를 자동화하기 위한 도구의 하나로서 이식성과 재목적성이 매우높은 컴파일러를 만들기우히나 실질적인 도구이다.
'컴퓨터 > 공부(컴파일러)' 카테고리의 다른 글
[공부] 형식 언어 - 언어편 (0) | 2016.08.16 |
---|---|
[공부]컴파일러의 일반적인 구조 (0) | 2016.08.16 |
본 개시판은 개인 공부를 목적으로 하는 개시판입니다. (0) | 2016.08.16 |