Slide Chương trình dịch (UNIT1) - GV Nguyễn Thị Thu Hương

LI
lienhejb
0 lượt tải
6
0

Nội dung tài liệu

Trang 1

21/1/2010 Môn học sẽ nghiên cứu XÂY DỰNG „ Cách thức làm việc của máy tính (tập lệnh, thanh ghi, mode địa chỉ, các cấu trúc CHCHƯƠƯƠNG TRÌNHNG TRÌNH DDỊỊCHCH dữ liệệu đượợc sử dụụngg khi thựực hiệện. . . )) „ Cách thức làm việc của bộ xử lý ngôn ngữ Nguyễn Thị Thu Hương - Khoa CNTT – ĐHBKHN và chương trình dịch Tel (04) 38696121 - Mobi : 0903253796 „ Sinh mã máy cho những cấu trúc ngôn Email :huongnt@it-hut.edu.vn,huongnt-fit@mail.hut.edu.vn ngữ cụ thể „ Thế nào là một thiết kế ngôn ngữ tốt? Tại sao cần nghiên cứu CT dịch? Những vấn đề chính „ Rèn kỹ năng phát triển ứng dụng quy mô „ Bộ xử lý ngôn ngữ lớn „ Cấu trúc của một trình biên dịch (1 pha) Làm viLàm việệc vc vớớii các ccác cấấu trúc du trúc dữữ liliệệu phu phứức tc tạạpp „ Văn phạm sản sinh „„ „ BNF và sơ đồồ cú pháp „ Tìm hiểu sự tương tác giữa các giải thuật Phân tích từ vựng và bảng ký hiệu „ Bước chuẩn bị cho những „ Phân tích cú pháp trên xuống có quay lui dự án lớn trong tương lai. „ Phân tích cú pháp tiền định „ Văn phạm LL(k) goupee.com fb.com/groups/goupee 1

Trang 2

21/1/2010 Những vấn đề chính Tài liệu tham khảo „ Aho.A.V, Sethi.R., Ullman.J.D. „ Phân tích đệ quy trên dưới Compiler : Principles, Techniques and Tools. Addison Wesley.1986 „ Phân tích cú pháp cho ngôn ngữ KPL „ Bal.H. E. Phân tích ngPhân tích ngữữ nghnghĩĩaa Modern Compiler Design. „ John Wiley & Sons Inc (2000)John Wiley & Sons Inc (2000) „ Stack calculator „ William Allan Wulf. The Design of an Optimizing Compiler „ Sinh mã trung gian Elsevier Science Ltd (1980) Sinh mã đích „ Charles N. Fischer. „ Crafting a Compiler „ Tối ưu mã Benjamin-Cummings Pub Co (1987) Tài liệu tham khảo „ Niklaus Wirth Compiler Construction. Bài 1. Addison Westley. 1996 „ Andrew.W.Appel Modern Compiler Implementation in Java BBộộ xxửử lý ngôn nglý ngôn ngữữ P iPrincetton UU iniversitity.19981998 „ Nguyễn Văn Ba Giáo trình kỹ thuật biên dịch Đại học Bách Khoa Hà Nội.1994 „ Vũ Lục Phân tích cú pháp Đại học Bách Khoa Hà Nội.1990 „ Bài giảng về ngôn ngữ và phương pháp dịch „ www.sourceforge.net goupee.com fb.com/groups/goupee 2

Trang 3

21/1/2010 Ngôn ngữ lập trình cấp cao Ngôn ngữ lập trình thế hệ thứ nhất và thứ hai „ Các ngôn ngữ lập trình được chia thành 5 thế hệ. „ Thế hệ thứ nhất : ngôn ngữ máy „„ ViViệệcc phânphân chiachia ccấấpp caocao hayhay ththấấpp phphụụ „„ ThThếế hhệệ ththứứ haihai : Assembly: Assembly thuộc mức độ trừu tượng của ngôn ngữ Các ngôn ngữ thuộc thế hệ thứ nhất và „ Cấp thấp : gần với máy thứ hai là ngôn ngữ lập trình cấp thấp Cấp cao : gần với ngôn ngữ tự nhiên Ngôn ngữ lập trình thế hệ thứ ba Ngôn ngữ lập trình thế hệ thứ tư „ Dễ hiểu hơn „ Thường được sử dụng trong một lĩnh vực Cho phép thực hiện các khai báo, chẳng cụ thể (chẳng hạn thương mại) „ hhạạn bin biếếnn „ Dễ lậpp trình,xâyy dựngg pphần mềm Phần lớn các ngôn ngữ cho phép lập trình „ Có thể kèm công cụ tạo form, báo cáo „ cấu trúc „ Ví dụ :SQL, Visual Basic, Oracle (SQL plus, Oracle Form, Oracle Report). . . . „ Ví dụ: Fortran, Cobol, C, C++, Basic . . . . goupee.com fb.com/groups/goupee 3

Trang 4

21/1/2010 Ngôn ngữ lập trình thế hệ thứ năm Đặc trưng của ngôn ngữ lập trình cấp cao „ Giải quyết bài toán dựa trên các ràng buộc „ Độc lập với máy tính đưa ra cho chương trình chứ không phải „ Gần với ngôn ngữ tự nhiên giải thuật của người lập trình. ChChươươngng trìnhtrình ddễễ đọđọc,c, viviếếtt vàvà bbảảoo trìtrì „ „ Việc giải quyếết bài toán do máy tính thực Muốn thực hiện chương trình phải dịch hiện „ sang ngôn ngữ máy „ Phần lớn các ngôn ngữ dùng để lập trình logic, giải quyết các bài toán trong lĩnh vực „ Chương trình thực hiện chậm hơn trí tuệ nhân tạo Cú pháp và ngữ nghĩa của ngôn ngữ lập trình Bộ xử lý ngôn ngữ (Language Processor) „ Phần mềm dịch từ một ngôn ngữ nào đó „ Cú pháp : Chính tả và văn phạm của sang mã máy (có thể đồng thời thực thi) cáccác ccấấuu trúctrúc ngônngôn ngngữữ „„ Ví dVí dụụ …Compiler …Assembler „ Ngữ nghĩa : Ý nghĩa và hiệu quả của …Interpreter các cấu trúc ngôn ngữ Compiler - Compiler … goupee.com fb.com/groups/goupee 4

Trang 5

21/1/2010 Compiler & Interpreter Compiler (trình biên dịch) „ Compiler : Dịch trực tiếp ra mã máy „ Mục đích : Dịch chương trình từ ngôn ngữ cấp cao (ngôn ngữ nguồn) sang ngôn ngữ cấpp thấp ( gp (ngôn nggữ đích)). „ I tInterpretter : TTrực titiếếp ththực hihiệện ttừừng llệệnhh mãã nguồồn „ Bản thân compiler được viết trên một ngôn ngữ gọi là ngôn ngữ thực hiện „ Biến thể của Interpreter : thông dịch mã trung gian Compiler Interpreter goupee.com fb.com/groups/goupee 5

Trang 6

21/1/2010 Các công cụ liên quan đến trình biên dịch Vị trí của trình biên dịch trong bộ xử lý ngôn ngữ „ Trình thông dịch (Interpreter) „ Assembler „ Linker „„ LoaderLoader „ Bộ tiền xử lý (Preprocessor) „ Editor „ Debugger „ Profiler goupee.com fb.com/groups/goupee 6

Hiển thị 6 trang đầu. Tải tài liệu để xem đầy đủ.

Bình luận (0)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!