컴파일러 구현
- 최초 등록일
- 2007.04.08
- 최종 저작일
- 2007.01
- 34페이지/ 압축파일
- 가격 5,000원
소개글
컴파일러를 간단히 구현한 소스와 다큐먼트입니다.
목차
<b>compiler2006.c
compiler2006.dsp
compiler2006.dsw
compiler2006.h
compiler2006.ncb
compiler2006.opt
compiler2006.plg
readme.txt
testfile
testfile.code
testfile.error
testfile.token
project_document.hwp</b>
1. Preface
1.1 Introduce
1.2 Restriction on project
2. Grammar
2.1 Define Grammar used in project
2.2 Transforming Context Free Grammar
3. Lexer
3.1 Define Key Word
3.2 Transforming RG to NFA
3.3 Transforming NFA to DFA
4. Parser
4.1 State Diagram
4.2 Parsing Table
5. Program document
5.1 struct
5.2 function
6. Program Result
6.1 test input file
6.2 test result
7. Conclusion
7.1 conclusion
7.2 개선점
7.3 after...
8. Compile Environment
8.1 compile environment
본문내용
우리가 구현한 프로그램은 입력 소스 파일로부터 스캐닝을 하여 토큰을 생성한 뒤, 생성된 토큰으로부터 파싱을 수행하고 코드를 생성해내는 아주 간단한 프로그램이다. 출력되는 결과 코드 또한 기계 코드가 아닌 중간 코드의 경향이 짙다고 할 수 있다.
우리의 프로그램은 토큰들을 하나의 리스트로 생성해 내는 lex()와 그 생성된 토큰 리스트로부터 개개의 토큰들을 차례로 얻어다가 파싱을 수행하는 Parsing() 그리고 그 파싱된 구성 요소로부터 결과 코드를 생성해내는 code_generater() 함수 세 가지로 크게 구성을 이룬다.
대부분의 구성은 성능보다는 구성을 이루는 데 가장 기본적인 자료구조를 택했다. 처음에는 모든 구성을 리스트 형태로 유지 관리하고자 했으나, 약간의 어려움에 봉착해 리스트로 구현 못한 부분도 있다.
참고 자료
없음
압축파일 내 파일목록
compiler2006.c
compiler2006.dsp
compiler2006.h
compiler2006.ncb
compiler2006.plg
project_document.hwp
testfile
testfile.code
testfile.error
testfile.token
readme.txt
compiler2006.dsw
compiler2006.opt
Debug/compiler2006.exe
Debug/compiler2006.ilk
Debug/compiler2006.obj
Debug/compiler2006.pch
Debug/compiler2006.pdb
Debug/vc60.idb
Debug/vc60.pdb