Tiểu luận: Các nguyên lý sáng tạo và áp dụng vào xây dựng trình biên dịch

12 15 0
Tiểu luận: Các nguyên lý sáng tạo và áp dụng vào xây dựng trình biên dịch

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đề tài Các nguyên lý sáng tạo và áp dụng vào xây dựng trình biên dịch nhằm trình bày về các phương pháp nghiên cứu khoa học ứng dụng trong xây dựng biên dịch, các phương pháp nghiên cứu khoa học ứng dụng trong xây dựng trình biên dịch.

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TR ƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA : CÔNG NGHỆ THÔNG TIN  CÁC NGUYÊN LÝ SÁNG TẠO VÀ ÁP DỤNG VÀO XÂY DỰNG TRÌNH BIÊN DỊCH Mơn học:Phương phá p nghiên cứu khoa học Giảng viên hướng dẫn:GS.TSKH Hoàng Kiếm Học v iên t hực hiên:Võ Ngọc Tâ n – 1212034 Khóa:Cao học K22 – Hệ Thống Thơng Tin TP.Hồ Chí Minh, ngày 14 tháng 12 năm 2012 Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 Lời cám ơn Lời đầu tiên, em xin chân thành cám ơn thầy GS.TSKH Hồng Kiếm nhiệt tình giảng dạy em bạn học viên cao học khóa 22 môn Phương pháp nghiên cứu k hoa học Thầy giúp chúng em nắm rõ phương pháp luận sáng tạo khoa học nói chung lĩnh vực cơng nghệ thơng tin nói riêng Mơn học tối cần thiết cho việc định hướng công trình nghiên cứu khoa học, đồng thời hỗ trợ tốt việc nghiên cứu hoàn thành luận văn tốt nghiệp thạc sĩ Xin trân trọng cảm ơn thầy.Kính chúc thầy nhiều sức khỏe, nhiều niềm vui để đạt nhiều thành tựu nghiên cứu khoa học công việc giảng dạy Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 MỤC LỤC CÁC PHƯƠNG PHÁ P NGUY ÊN CỨU KHOA HỌC ỨNG DỤNG TRONG XÂY DỰNG TRÌNH BIÊN DỊCH NGUY ÊN TẮC PHÂ N NHỎ 2 NGUY ÊN TẮC TÁCH KHỎI NGUY ÊN TẮC VẠN NĂNG .4 NGUY ÊN TẮC CHỨA TRONG NGUY ÊN TẮC KẾT HỢP NGUY ÊN TẮC THỰC HIỆN SƠ BỘ 7 NGUY ÊN TẮC PHẢ N ĐỐI XỨNG 8 NGUY ÊN TẮC SỬ DỤNG ĐỐI TƯỢNG TRUNG GIAN NGUY ÊN TẮC SAO CHÉP .8 10 NGUY ÊN TẮC RẺ THAY ĐẮT 11 NGUY ÊN TẮC TÁC ĐỘNG THEO CHU KỲ .9 12 NGUY ÊN TẮC DỰ PHÒNG 13 NGUY ÊN TẮC LINH ĐỘNG 14 NGUY ÊN TẮC ĐẢO NGƯỢC .9 15 NGUY ÊN TẮC CHUY ỂN SANG CHIỀU KHÁ C 10 KẾT LUẬN 10 TÀI LIỆU THA M KHẢO 11 CÁC PHƯƠNG PHÁP NGUYÊN CỨU KHOA HỌC ỨNG DỤNG TRONG XÂY DỰNG TRÌNH BIÊN DỊCH NGUYÊN TẮC PHÂN NHỎ  Về l ý thu yết ta xâ y dựng ngơn ngữ lập trình cấp cao thao tác trực tiếp với lõi phần cứng máy tính tạo thành khối thống nhất,nhưng ngơn ngữ lập trình chạy hệ thống máy tính hệ thơng máy tích thực thi ngơn ngữ lập trình =>khơng khả chuyển  Để cho ngơn ngữ lập trình chạy hệ thống phần cứng khác hệ thống phần cứng thực thi chương Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 trình xâ y dựng ngơn ngữ lập trình khác nhau,Ta chia nhỏ hệ thống trình biên dịch thành nhiều phần khác sau: Hình 1:Cấu trúc hệ thống Máy Tính  Bare Mechine :lõi phần cứng CPU  Macroinstruction Interpreter :Bộ thông dịch thị Macro(Mã máy)  Operating System :hệ điều hành  C++ compiler,ada Compiler… trình biên dịch(máy ảo)  Về l ý thu yết xâ y dựng ngơn ngữ lập trình cấp cao thao tác trực tiếp với lõi phần cứng máy tính ngơn ngữ lập trình chạy hệ thống máy tính hệ thơng máy tích thực thi ngơn ngữ lập trình =>khơng khả chuyển  Một chương trình viết ngơn ngữ thơng qua trình biên dịch ngơn ngữ để chuyển thành mã máy mà hệ điều hành thực thi,thông qua hệ điều hành sẻ giao tiếp với phần cứng máy tinh(ảo hóa máy tính:cho phép chạy trực tiếp ngơn ngữ lập trình cấp cao) Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 NGUYÊN TẮC TÁCH KHỎI  Việc xây dựng trình biên giúp người lập trình khơng xây dựng phần mềm thao tác trực tiếp đến lõi phần cứng mà giao tiếp với trình biên dịch,điều giúp xây dựng nhiều ngơn ngữ lập trình người lập trình dễ dàng xây dựng ứng dụng ngôn ngữ lập trình khác  Bộ phân tích cú pháp trình biên dịch chia làm phần :  Phần mức thấp gọi phân tích từ vựng(Scaner) automatch hữu hạn dựa vào văn phạm qui  Phần mức cao cao gọi phân tích cú pháp automatch đẩy xuống dựa vào ngôn ngữ phi ngữ cảnh BNF  Lý chia phân tích cú pháp thành phần :  Đơn giản – phân tích từ vựng đơn giản =>việc xây dựng phân tích từ vựng đon giản  Hiệu :việc phân chia thành khối giúp tối ưu hóa  Tính khả chuyển :bộ phân tích từ vựng khơng khả chuyễn bơ phân tích cú pháp khả chuyễn(đẩu phân tích từ vựng token đưa vào máy phân tích cú pháp khác ) NGUYÊN TẮC VẠN N ĂNG  Một ứng dụng sau trình biên dịch dịch mã máy ứng với hệ thống phần cứng đó, ứng dụng chạy hệ thống phần cứng này, trình gọi trình biên dịch  Vấn đề đặt chương trình sau biên dịch chạy hệ thống, để thực trình thơng dịch đời với ngơn ngữ tiêu biểu Java,chương trình nguồn biên dịch thành mã trung gian, trình biên dịch java có hệ thống gọi máy ảo,máy ảo có nhiệm vụ biên dịch mã trung gian thành mã máy phù hợp với hệ thống mà thực thi,đều giúp chương trình viết Java thực thi hệ thống khác NGUYÊN TẮC CHỨA TRONG  Một trình biên dịch chia thành nhiều phần  Bộ phận phân tích cú pháp :kiểm tra cú pháp lệnh viết chương trình, phân tích cú pháp chia làm phần Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034  Bộ phận phân tích từ vựng(Scanner) cho luồn đơn vị từ vựng ID,các toán tử  Chia chương trình thành “tokens” đơn thể nhỏ có đầy đủ ý nghĩa  Cơ sở lý thuyết Scanner ngơn ngữ quy DFA  Bộ phận phân tích cú pháp(Parser),Parser kiểm tra cú pháp xâ y dựng phân tích cú pháp  Cơ sở lý thuyết Pars er ngơn ngữ phi ngữ cảnh PDA  Tìm cấu trúc phi ngữ cảnh chương trình  Bộ phận phát sinh mã trung gian  Bộ phân chuyển mã lệnh sanh mã trung gian  Bộ phận tối ưu mã liên qua đến việc sử dụng tài nguyên phần cứng  Bộ phận chuyển Mã trung gian thành mã máy  Mã tối ưu chuyển vào Bộ phận chuyễn mã kết mã máy, hay mã hợp ngữ ngôn ngữ khác, định vị lại địa dòng mã lệnh  Kết chuyển vào giai đoạn tối ưu liện qua đến việc sử dụng tài nguyên phần cứng Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 Hình :Cấu trúc trình biên dịch Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 NGUYÊN TẮC KẾT HỢP  Kết hợp biên dịch thông dịch  Kết hợp ưu điểm thông dịch biên dịch  Ngôn ngữ lập trình cấp cao biên dịch sang ngơn ngữ trung gian (dịch lần)để dễ dàng thông dịch  Nhanh thơng dịch truyền thơng  Ví dụ : NNLT Perl :sẽ biên dịch để kiểm tra lỗi trươc thông dịch Java :ý tưởng ban đầu java biên dịch mã nguồn sang mã trung gian Byte code thực tất hệ thống thông qua máy ảo JVM Hình 3:Hệ thống kết JMV NGUYÊN TẮC THỰC HIỆN SƠ BỘ  Trong trình biên dịch kết hợp biên dịch thông dịch, việc thực thi chương trình chia làm giai đoạn  Giai đoạn 1:Kiểm tra lổi chương trình,biên dịch mã nguồn thành mã trung gian  Giai đoạn :thông dịch mã trung gian sang mã máy Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034  Việc chia trình thực thi thành hai giai đoạn giúp việc thực thi chương trình nhanh chóng NGUN TẮC PHẢN ĐỐI XỨNG  Chương trình nguồn qua phận phân tích từ vựng(Scanner) cho luồn đơn vị từ vựng ID,các toán tử gọi “tokens” , dãy token có thứ thự  Dãy token có thứ tự tiến tính đưa vào phận phân tích cú pháp(Parser),Parser kiểm tra cú pháp xâ y dựng phân tích cú pháp(khơng theo thứ tự tuyến tính NGUYÊN TẮC SỬ DỤNG ĐỐI TƯỢNG TRUNG GIAN  Trong chương trình liệu lưu trữ nhớ,để truy xuất đến liệu,chương trình phải truy xuất đến địa vật lý liệu  Khi viết chương trình, để truy xuất đến liệu nguyên tắc người lập trình phải truy cập vào địa vật lý,đều gâ y khó khăn cho người lập trình  Các ngơn ngữ lập trình cho phép truy xuất đến ô nhớ thông qua đối tượng trung gian biến, thơng qua biến chương trình truy xuất đến địa nhớ NGUYÊN TẮC SAO CHÉP  Khi truyền giá trị cho tham số hình thức cho chương trình con, người lập trình dùng phương pháp truyền theo trị,trong phương pháp trình biên dịch chép liệu từ tham số thực vào tham số hình thức tiến hành xữ l ý 10 NGUYÊN TẮC RẺ THAY ĐẮT  Trong phương pháp truyền tham số cho chương trình con,phương pháp truyền theo trị chép liệu từ tham số thực sang tham số hình thức =>hệ thống phải cấp pháp vùng nhớ cho tham số hình thức vùng nhớ tham số thực phải tốn thời gian thực thao tác chép liệu  Để không tiêu tốn thời gian nhớ,trình biên dịch cung cấp phương pháp truyền tham biến.truyền tham biến cách truyến địa ô nhớ chứa liệu cho chương trình Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 11 NGUYÊN TẮC TÁC ĐỘNG THEO CHU KỲ  Trong trình biên dịch ln có chương trình chuyên “dọn rác” hệ thống, chương trình thực theo chu kỳ,khi tới chu kỳ chương trình kiểm tra vùng nhớ Head xem vùng nhớ khơng cịn dùng giải phóng đưa vùng nhớ dùng 12 NGUN TẮC DỰ PHỊNG  Khi chương trình thực thi,chương trình yêu cầu hệ thống cung cấp vùng nhớ để chứa liệu chương trình  Tại thời điểm có nhiều chương trình thực thi, nên yêu cầu vùng nhớ lớn kích thước nhớ hữu hạn=>có thể xảy tình trạng hết nhớ nhớ cấp phát chưa thu hồi  Để đề phòng trường hợp này, trình biên dịch ln có chương trình “dọn rác” để thu hồi lại ô nhớ cấp phát cho biến chương trình sau chương trình thực thi xong 13 NGUYÊN TẮC LINH ĐỘNG  Từ chương trình để chuyển thành mã máy chạy hệ thống phần cứng, trước tiên chương trình phải kiểm tra có cú pháp khơng?việc kiểm tra trực tiếp từ mã nguồn gặp khó khăn  Để đơn giản trình , trước chuyển qua giai đoạn phân tích cú pháp, chương trình nguồn đưa vào phận phân tích từ vựng,chương trình nguồn tách thành danh sách từ vựng.sau danh sách từ vựng chuyển cho phận phân tích để tiến hành phân tích cú pháp chương trình nguồn 14 NGUN TẮC ĐẢO NGƯỢC  Sau phân tích cú pháp chương trình nguồn, trình biên dịch tạo phân tích cú pháp  Thơng thường Cây tạo từ gốc đến  Nhưng phân tích cú pháp có phương pháp Buttom-Up :Xây dựng phân tích cú pháp từ nút Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 15 NGUYÊN TẮC CHUYỂN SANG CHIỀU KHÁC  Khi định nghĩa mảng chiều ngơn ngữ lập trình,người lập trình tưởng tượng mảng chiều bảng bảng lưu vào nhớ  Bộ nhớ máy tính dãy tu yến tính nhớ nên để lưu trữ mảng nhiều chiều, trình biên dịch chuyển mảng nhiều chiều thành mảng chiều, vị trí lưu trữ phần tử mảng tùy thuộc vào ngôn ngữ hỗ trợ lưu trữ mảng theo thứ tự dòng hay thứ tự cột  Để truy xuất đến phần tử mảng nhiều chiều, trình biên dịch xâ y dựng hàm truy xuất đến vị trí lưu trữ dựa vào số chiều phần tử KẾT LUẬN Qua ta thấy việc vận dụng nguyên tắc sáng tạo trongquá trình nghiên cứu khoa học, giải vấn đề lĩnh vực công nghệ thông tin lĩnh vực khác sống điều tối cần thiết, quan trọng Nó giúp cho có hướng mới, cách nghĩ để giải vấn đề Điều mấu chốt cấp kỳ thay đổi cách tư để sáng tạo tiếp cận đến thành công Hiện Việt Nam số sáng chế năm so với nước giới Nguyên nhân tư theo lối mòn, s ự dạy học thụ động, vận động, khuyến khích sáng tạo đổi giảng viên đến sinh viên khơng nhiều Do phần đơng sinh viên trường làm theo mà doanh nghiệp yêu cầu, có khả tựsáng tạo Vì vậ y việc đưa môn họcPhương pháp nghi ên cứu khoa học vào chương trình đại học cần thiết, để sinh viên có dịp tiếp cận phương pháp luận sáng tạo đặc biệt 40 nguyên lý sáng tạo giáo sư Atlshuller Có Việt Nam cạnh tranh bạn bè giới tương lai không xa 10 Phương pháp nghiên cứu khoa học Võ Ngọc Tân - 1212034 TÀI LIỆU THAM KHẢO [1] Slides giảng môn PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC, GS.TSKH Hoàng Kiếm [2] GS.TS Phan Dũng, 40 thủ thuật (nguyên tắc) sáng tạo bản, Trung tâm sáng tạo khoa học kỹ thuật thuộc ĐH Khoa học tự nhiên TP Hồ Chí Minh, 1994 [3] Tham khảo khoá trước [4] www.wikipedia.org [5] http://www.techz.vn/Lich-su-Laptop -Nhung-buoc-di-manh-meylt13477.html [6] http://www.lethanglaptop.com/Tin-tuc/2468224/44808/Lich-su-laptop-quacac-thoi-dai.html [7] http://sohoa.vnexpress.net/tin-tuc/doi-song-so/8-y-tuong-laptop-doc-daocho-tuong-lai-1515314.html 11 ... mà giao tiếp với trình biên dịch, điều giúp xây dựng nhiều ngơn ngữ lập trình người lập trình dễ dàng xây dựng ứng dụng ngôn ngữ lập trình khác  Bộ phân tích cú pháp trình biên dịch chia làm phần... đưa vào máy phân tích cú pháp khác ) NGUYÊN TẮC VẠN N ĂNG  Một ứng dụng sau trình biên dịch dịch mã máy ứng với hệ thống phần cứng đó, ứng dụng chạy hệ thống phần cứng này, trình gọi trình biên. .. chương trình nguồn, trình biên dịch tạo phân tích cú pháp  Thơng thường Cây tạo từ gốc đến  Nhưng phân tích cú pháp có phương pháp Buttom-Up :Xây dựng phân tích cú pháp từ nút Phương pháp nghiên

Ngày đăng: 18/04/2021, 02:55

Tài liệu cùng người dùng

Tài liệu liên quan