CHƯƠNG TRÌNH DỊCH bài 1 xây DỰNG CHƯƠNG TRÌNH DỊCH

6 290 0
CHƯƠNG TRÌNH DỊCH   bài 1 xây DỰNG CHƯƠNG TRÌNH DỊCH

Đang tải... (xem toàn văn)

Thông tin tài liệu

21/1/2010 Môn học nghiên cứu XÂY DỰNG CHƯƠNG TRÌNH DỊCH Nguyễn Thị Thu Hương - Khoa CNTT – ĐHBKHN Tel (04) 38696121 - Mobi : 0903253796 Email :huongnt@it-hut.edu.vn,huongnt-fit@mail.hut.edu.vn Cách thức làm việc máy tính (tập lệnh, ghi, mode địa chỉ, cấu trúc liệu ệ ợ sử dụng ụ g thực ự ệ ) „ Cách thức làm việc xử lý ngôn ngữ chương trình dịch „ Sinh mã máy cho cấu trúc ngôn ngữ cụ thể „ Thế thiết kế ngôn ngữ tốt? „ Tại cần nghiên cứu CT dịch? Những vấn đề Rèn kỹ phát triển ứng dụng quy mô lớn „ Làm việc với cấu trúc liệu phức tạp „ Tìm hiểu tương tác giải thuật „ „ Bước chuẩn bị cho dự án lớn tương lai „ „ „ „ „ „ „ Bộ xử lý ngôn ngữ Cấu trúc trình biên dịch (1 pha) Văn phạm sản sinh BNF sơ đồ cú pháp Phân tích từ vựng bảng ký hiệu Phân tích cú pháp xuống có quay lui Phân tích cú pháp tiền định Văn phạm LL(k) 21/1/2010 Những vấn đề Tài liệu tham khảo „ Phân tích đệ quy „ Phân tích cú pháp cho ngôn ngữ KPL „ Phân tích ngữ nghĩa „ Stack calculator „ Sinh mã trung gian „ Sinh mã đích „ Tối ưu mã Aho.A.V, Sethi.R., Ullman.J.D Compiler : Principles, Techniques and Tools Addison Wesley.1986 „ „ Bal.H E Modern Compiler Design John Wiley & Sons Inc (2000) „ William Allan Wulf The Design of an Optimizing Compiler Elsevier Science Ltd (1980) „ Charles N Fischer Crafting a Compiler Benjamin-Cummings Pub Co (1987) Tài liệu tham khảo „ Niklaus Wirth Compiler Construction Addison Westley 1996 „ Andrew.W.Appel Modern Compiler Implementation in Java Pi Princeton t University.1998 U i it 1998 „ Nguyễn Văn Ba Bài Bộ xử lý ngôn ngữ 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 ngôn ngữ phương pháp dịch www.sourceforge.net 21/1/2010 Ngôn ngữ lập trình cấp cao Ngôn ngữ lập trình hệ thứ thứ hai Các ngôn ngữ lập trình chia thành hệ „ Việc phân chia cấp cao hay thấp phụ thuộc mức độ trừu tượng ngôn ngữ „ Thế hệ thứ : ngôn ngữ máy „ Thế hệ thứ hai : Assembly „ Các ngôn ngữ thuộc hệ thứ thứ hai ngôn ngữ lập trình cấp thấp „ Cấp thấp : gần với máy Cấp cao : gần với ngôn ngữ tự nhiên Ngôn ngữ lập trình hệ thứ ba Dễ hiểu „ Cho phép thực khai báo, chẳng hạn biến „ Phần lớn ngôn ngữ cho phép lập trình cấu trúc „ Ví dụ: Fortran, Cobol, C, C++, Basic „ Ngôn ngữ lập trình hệ thứ tư Thường sử dụng lĩnh vực cụ thể (chẳng hạn thương mại) „ Dễ lập p trình,xâyy dựng gp phần mềm „ Có thể kèm công cụ tạo form, báo cáo „ Ví dụ :SQL, Visual Basic, Oracle (SQL plus, Oracle Form, Oracle Report) „ 21/1/2010 Ngôn ngữ lập trình hệ thứ năm Giải toán dựa ràng buộc đưa cho chương trình giải thuật người lập trình „ Việc giải ế toán máy tính thực „ Phần lớn ngôn ngữ dùng để lập trình logic, giải toán lĩnh vực trí tuệ nhân tạo „ Cú pháp ngữ nghĩa ngôn ngữ lập trình Đặc trưng ngôn ngữ lập trình cấp cao Độc lập với máy tính „ Gần với ngôn ngữ tự nhiên „ Chương trình dễ đọc, viết bảo trì „ Muốn thực chương trình phải dịch sang ngôn ngữ máy „ Chương trình thực chậm „ Bộ xử lý ngôn ngữ (Language Processor) Phần mềm dịch từ ngôn ngữ sang mã máy (có thể đồng thời thực thi) „ Ví dụ „ „ Cú pháp : Chính tả văn phạm cấu trúc ngôn ngữ … Compiler „ Ngữ nghĩa : Ý nghĩa hiệu cấu trúc ngôn ngữ … Assembler … Interpreter … Compiler - Compiler 21/1/2010 Compiler & Interpreter „ Compiler (trình biên dịch) Compiler : Dịch trực tiếp 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ấp p thấp p ((ngôn g ngữ g đích) ) „ Bản thân compiler viết ngôn ngữ gọi ngôn ngữ thực „ „ I t Interpreter t : Trực T tiếp tiế th thực hiệ từ lệ lệnh h mã ã nguồn „ Biến thể Interpreter : thông dịch mã trung gian Compiler Interpreter 21/1/2010 Các công cụ liên quan đến trình biên dịch Vị trí trình biên dịch xử lý ngôn ngữ Trình thông dịch (Interpreter) „ Assembler „ Linker „ Loader „ Bộ tiền xử lý (Preprocessor) „ Editor „ Debugger „ Profiler „ ... Assembler … Interpreter … Compiler - Compiler 21/ 1/2 010 Compiler & Interpreter „ Compiler (trình biên dịch) Compiler : Dịch trực tiếp mã máy Mục đích : Dịch chương trình từ ngôn ngữ cấp cao (ngôn... thể Interpreter : thông dịch mã trung gian Compiler Interpreter 21/ 1/2 010 Các công cụ liên quan đến trình biên dịch Vị trí trình biên dịch xử lý ngôn ngữ Trình thông dịch (Interpreter) „ Assembler... trình Đặc trưng ngôn ngữ lập trình cấp cao Độc lập với máy tính „ Gần với ngôn ngữ tự nhiên „ Chương trình dễ đọc, viết bảo trì „ Muốn thực chương trình phải dịch sang ngôn ngữ máy „ Chương trình

Ngày đăng: 11/11/2015, 22:58