04/22/13 1
Giáo Viên HD: Nguyễn Công Nhật
Sinh Viên TH: Nguyễn Thị Nha Trang
Lớp K42E3 – Khoa Công Nghệ Thông Tin - Đại Học Vinh
Vinh ngày 17/05/2006
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC
TÌM HIỂU VỀ TRÌNH BIÊN DỊCH
VÀ XÂY DỰNG NGÔN NGỮ LẬP TRÌNH TIẾNG VIỆT
17/05/2006 2
Lời nói đầu
Từ trước tới nay các ngôn ngữ lập trình đều
bằng tiếng Anh, điều đó đã gây không ít trở
ngại cho những người lập trình. Xuất phát từ
Ý tưởng đó em xin trình bày đề tài:
“Giới Thiệu Về Trình Biên Dịch Và Xây
Dựng Ngôn Ngữ Lập Trình Tiếng Viêt”
17/05/2006 3
S l c n i dung t iơ ượ ộ đề à
Ch ng 1ươ
Ch ng 3ươ
Ch ng 4ươ
Ch ng 5ươ
Ch ng 2ươ
Tổng Quan Về Trình Biên Dịch
Bộ Phân Tích Từ Vựng
Bộ Phân Tích Cú Pháp
Bộ Xử Lý Ngữ Nghĩa
Giới Thiệu Ngôn Ngữ
17/05/2006 4
Ch ng 1ươ : Tổng Quan Về Trình Biên
Dịch
1. Giới thiệu về Trình Biên Dịch
•
Trình Biên Dịch là chương trình chịu trách
nhiệm dịch một mã văn bản chương trình
nguồn của một ngôn ngữ lập trình ra mã
máy.
•
Trình biên dịch có thể được chia thành hai
loại : Biên Dịch và Thông Dịch.
17/05/2006 5
1.1. Cơ Chế Biên Dịch
Mô Hình Biên Dịch Của Công Nghệ Dot Net
Mã văn bản chương trình nguồn được
dịch sang một dạng mã trung gian sau đó mã
trung gian sẽ được dịch xuống mã máy và mã
máy sẽ được thực thi bởi Control Process Unit
(CPU)
17/05/2006 6
1.2. Cơ Chế Thông Dịch
Mã văn bản chương trình nguồn được
dịch sang một dạng mã trung gian sau đó mã
trung gian sẽ được thực thi bởi một phần mềm.
Source Code
(Mã nguồn)
Front-End
(Analysis)
Immediate Code
(Mã trung gian)
Process By JVM
(Java Virtual
Machine)
Mô Hình Biên Dịch Của Công Nghệ Java
17/05/2006 7
2. Khái Quát Chương Trình
Trình biên dịch được xây dựng là một trình
thông dịch. khi chương trình thực thi, toàn bộ
văn bản chương trình nguồn được nạp vào bộ
nhớ. Trình biên dịch phân biệt chữ hoa, chữ
thường. Trong quá trình biên dịch chương trình
sẽ dừng lại ngay khi gặp lỗi.
Chương trình gồm 3 thành phần chính:
- Bộ phân tích từ vựng
- Bộ phân tích cú pháp
- Bộ xử lý ngữ nghĩa
17/05/2006 8
Ch ng 2ươ : Bộ Phân Tích Từ Vựng
1. Vai trò và nhiệm vụ
•
Nạp toàn bộ văn bản chương trình nguồn vào
bộ nhớ. Phân tích văn bản chương trình
nguồn thành các token riêng biệt
•
Báo lỗi khi gặp các ký hiệu không thuộc tập
ký hiệu hoặc các token không thỏa mãn luật
danh hiệu