- 추상 구문 트리(Abstract syntax tree)를 이해하고 자료구조로 표현하기
- 낱말 분석(lexical analysis)과 구문 분석(syntax analysis) 이해하기
- 추상 구문 트리를 입력으로 받는 프로그램을 작성하기
- 추상 구문 트리를 출력으로 내는 프로그램을 작성하기
- 추상 구문 트리로 표현된 프로그램을 실행하기 (해석기 - interpreter)
- 컴파일러란 무엇인가
- 프로그래밍언어 Arith의 구문과 의미
- 가상기계 VM 명령어 구문과 의미
- Arith 프로그램을 VM 프로그램으로 컴파일하기
- 프로그래밍언어 Arith 파서 만들기 (처음 공부할 때 건너뛰세요)
- 파서, 컴파일러, 가상기계를 합한 시스템
- 마무리
- 강의 내용 : 통 버전-텍스트 파일
- 예제 코드 : src/org/swlab/lib/parser/examples/arith/{ast,comp,parser,vm}
- 각 예제 코드 서브 디렉토리 안에 test 디렉토리를 참고하면 코드를 이해하는데 도움이 됩니다.
- (5절은 파서를 만드는 내용으로 상대적으로 난이도가 높습니다.)
- Java에 대한 사전 지식 필요
- YAPB을 윈도우용으로 미리 빌드한 바이너리를 사용하기 때문에 윈도우에서만 동작합니다 (genlrparser-exe.exe)
- 최광훈
- 김가영 (전남대 소프트웨어공학과)
- 이윤성 (전남대 소프트웨어공학과)