-
- 주제분류
- 공학 >컴퓨터ㆍ통신 >소프트웨어공학
-
- 강의학기
- 2012년 2학기
-
- 조회수
- 18,694
-
- 강의계획서
- 강의계획서
본 교과목에서는 컴파일러의 구현 방법과 이론을 배운다. Part 1에서는 컴파일러 구현에 중점을 두어, 구문중심 컴파일 과정을 살펴보고 컴파일러 자동 생성 도구인 Lex와 Yacc을 배운다. 또 이를 기반으로 컴파일러를 각자 설계하고 구현하도록 한다. Part 2에서는 어휘분석과 구문분석의 기반이론인 형식언어, 정규언어, 오토마타, LR파서 이론 등을 배운다.
차시별 강의
| 1. | ![]() |
Part 1-1: 컴파일러 개요 | 컴파일러의 구축 단계 및 컴파일러 구성 기법을 활용한 예 등을 소개한다. | ![]() |
| 2. | ![]() |
Part 1-2: 구문 정의 및 구문 중심 컴파일 | 프로그램언어의 구문 정의 방법, 파싱 방법, 구문 중심 컴파일 기법 등을 배운다. | ![]() |
| 3. | ![]() |
Part 1-3: 예측 파싱 | 하향식 파싱 방법인 예측 파싱 방법을 알아보고 간단한 파서를 설계하고 구현하며, 왼쪽 순환 문법을 처리하는 방법을 배운다. | ![]() |
| 4. | ![]() |
Part 1-4: 어휘 분석 | 컴파일러용 어휘 분석기 구축 방법을 배우고, 그에 필요한 정규 표현 및 전이 다이어그램에 대해 배운다. | ![]() |
| 5. | ![]() |
Part 1-5: 코드생성 | 컴파일 단계의 하나인 코드 생성을, 가상 스택기계와 8086 기계어에 대한 생성 예를 통해 배운다. | ![]() |
| 6. | ![]() |
Part 1-6: 자동 어휘분석기 생성기 (Lex) | 정규표현을 사용하여 어휘분석기를 자동생성하는 Lex 및 Lex의 소스 작성 방법을 간단한 예를 통해 배운다. | ![]() |
| 7. | ![]() |
Part 1-7: 자동 파서 생성기 (Yacc) | 문법을 사용하여 파서를 자동생성하는 Yacc 및 Yacc의 소스 작성 방법을 간단한 예를 통해 배운다. | ![]() |
| 8. | 컴파일러 구현 실습 – 강의자료 없음 | Part 1에서 학습한 내용 및 Lex와 Yacc을 활용하는 실습으로 간단한 예제 컴파일러를 구현한다. | ||
| 9. | ![]() |
Part 2-1: 형식언어 | 형식언어 정의 방법, 형식 문법 정의 방법, 언어 및 문법 계층 구조를 배운다. | ![]() |
| 10. | ![]() |
Part 2-2: 정규언어 | 어휘분석기 모형을 위한 정규문법 이론과 정규 표현, 정규 표현식을 배운다. | ![]() |
| 11. | ![]() |
Part 2-3: 오토마타 | 결정적 유한 오토마타(DFA), 비결정적 유한 오토마타(NFA)의 이론을 배우고, 정규표현에서 NFA로, NFA에서 DFA로 바꾸는 방법을 배운다. | ![]() |
| 12. | ![]() |
Part 2-4: LR 파서 | 상향식 파서의 기본 개념을 배우고, LR 파서의 종류와 그 작동예를 배운다. | ![]() |
| 13. | ![]() |
Part 2-5: SLR 파싱테이블 | SLR 파싱의 핵심인 파싱 테이블을 문법으로부터 차례로 작성하는 방법을 배운다. | ![]() |
| 14. | ![]() |
Part 2-6: CLR 및 LALR 파싱테이블 | SLR 파싱의 문제점을 분석하고, 예측기호를 이용하는 CLR 파싱 테이블 구축 방법과, CLR과 SLR의 장점을 이용하는 LALR 파싱 테이블 구축 방법을 배운다. | ![]() |
| 15. | 개별 프로젝트 발표 - 발표자료 없음 | 이 교과 과정를 통해 배운 내용을 이용하여 컴파일러를 구축하고 이를 발표한다. |
연관 자료








