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. | 개별 프로젝트 발표 - 발표자료 없음 | 이 교과 과정를 통해 배운 내용을 이용하여 컴파일러를 구축하고 이를 발표한다. |