표제지
감사의 글
목차
Abstract 9
제1장 서론 11
제2장 관련연구 14
제1절 NXT의 개요 14
제2절 NXT 프로그래밍 언어 16
제3장 언어 정의 19
제1절 문법 19
제2절 내장함수 22
(1) 입력 모듈 22
(2) 출력 모듈 23
(3) 디스플레이 모듈 24
제3절 변환된 내장함수 25
(1) 입력 모듈 25
(2) 출력 모듈 26
(3) 디스플레이 모듈 27
제4장 목적코드 29
제1절 NBC 데이터 세그먼트 29
제2절 코드부 30
제5장 컴파일러 개발 34
제1절 어휘분석 34
제2절 구문분석 36
2.1. 추상구문트리의 노드구조 36
2.2. 추상구문트리 37
제3절 코드 생성 44
(1) 선언부에 대한 코드 생성 44
(2) 주 프로그램에 대한 코드 생성 46
제6장 구현 56
제1절 구현 환경 56
제2절 테스트 프로그램 57
(1) 선 추적 프로그램 57
(2) 블록 색깔 구분 프로그램 64
(3) 골굴리기 프로그램 67
제7장 결론 70
참고문헌 71
Table 1. 언어의 문법 19
Table 2. 프로그램 구조 20
Table 3. 데이터 세그먼트 형식 30
Table 4. 코드부 형식 30
Table 5. 서브루틴 형식 31
Table 6. 스레드 형식 31
Table 7. 추상구문트리의 노드 구조 36
Table 8. 선언부에 대한 예제 44
Table 9. 선언부에 대한 예제를 NBC코드로 변환 44
Table 10. 선추적(line tracing) 프로그램 58
Table 11. 선추적(line tracing) 프로그램을 컴파일하여 생성된 nbc 코드 59
Table 12. 블록 색깔 구분 프로그램 64
Table 13. 블록 색깔 구분 프로그램을 컴파일하여 생성된 nbc 코드 65
Table 14. 공굴리기 프로그램 67
Table 15. 공굴리기 프로그램 컴파일하여 생성된 nbc 코드 68
Fig. 1. 컴파일 단계 34
Fig. 2. IF노드의 추상구문트리(1) 38
Fig. 3. IF노드의 추상구문트리(2) 39
Fig. 4. WHILE노드의 추상구문트리 40
Fig. 5. ASSIGN 노드의 추상구문트리 41
Fig. 6. CALL 노드의 추상구문트리(1) 42
Fig. 7. CALL 노드의 추상구문트리(2) 43
Fig. 8. 원시코드로부터 로봇 제어까지의 단계 56
Fig. 9. 선 추적 로복의 동작 63
Fig. 10. 블록 색깔 구분 로봇의 동작 66
Fig. 11. 공굴리기 로봇의 동작 69