Ứng dụng code template hỗ trợ lập trình

79 20 0
Ứng dụng code template hỗ trợ lập trình

Đ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

Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ MINH NGỌC ỨNG DỤNG CODE TEMPLATE HỖ TRỢ LẬP TRÌNH Chun ngành: Cơng Nghệ Thơng Tin LUẬN VĂN THẠC SỸ TP HỒ CHÍ MINH, Tháng 12 năm 2006 Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ MINH NGỌC ỨNG DỤNG PHÂN TÍCH NGỮ CẢNH ĐỂ TRỢ GIÚP VIỆC LẬP TRÌNH Chuyên ngành: Công Nghệ Thông Tin LUẬN VĂN THẠC SỸ TP HỒ CHÍ MINH, Tháng 12 năm 2006 CƠNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học : Tiến sỹ Nguyễn Văn Hiệp Cán chấm nhận xét : Tiến sỹ Nguyễn Hứa Phùng Cán chấm nhận xét : Tiến sỹ Trần Đan Thư Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 25 tháng 12 năm 2006 BIỂU MẪU TRƯỜNG ĐẠI HỌC BÁCH KHOA PHÒNG ĐÀO TẠO SĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC Tp HCM, ngày tháng năm NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Hà Minh Ngọc Phái: Nam Ngày, tháng, năm sinh: 26/12/1981 Nơi sinh: Thái Bình Chuyên ngành: Công Nghệ Thông Tin MSHV:00704169 I- TÊN ĐỀ TÀI: Ứng dụng Code Template hỗ trợ lập trình II- NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu tổng kết vấn đề hỗ trợ lập trình trạng thực ý tưởng cơng cụ có Nghiên cứu phương pháp hỗ trợ lập trình dựa việc phân tích ngữ cảnh : dùng thuộc tính đối tượng code template Tìm hiểu cơng nghệ cho việc thực, thực chương trình demo III- NGÀY GIAO NHIỆM VỤ (Ngày bắt đầu thực LV ghi Quyết định giao đề tài): IV- NGÀY HOÀN THÀNH NHIỆM VỤ:25/12/2006 V- CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): Tiến sỹ Nguyễn Văn Hiệp CÁN BỘ HƯỚNG DẪN (Học hàm, học vị, họ tên chữ ký) CN BỘ MÔN QL CHUYÊN NGÀNH Nội dung đề cương luận văn thạc sĩ Hội đồng chun ngành thơng qua TRƯỞNG PHỊNG ĐT – SĐH Ngày tháng năm TRƯỞNG KHOA QL NGÀNH Lời cảm ơn Trong thời gian làm luận văn, nhận giúp đỡ người thân Điều nguồn động viên tơi cố gắng hồn thành u cầu đề tài Tôi chân thành cảm ơn thầy Nguyễn Văn Hiệp nhiệt tình hướng dẫn tạo điều kiện tốt cho tơi hồn thành luận văn Cảm ơn khoa CNTT trường ĐH Bách Khoa TP Hồ Chí Minh cho tơi mơi trường tốt để học tập làm việc Cảm ơn tất đồng nghiệp bạn bè góp ý cho luận văn, giúp đỡ công việc, động viên lúc khó khăn Và xin cảm ơn bố, mẹ dành cho tình cảm yêu thương Tóm tắt Sự phát triển mạnh mẽ ngành cơng nghiệp phần mềm địi hỏi phát triển tương ứng phương pháp, công nghệ, kỹ thuật làm phần mềm Trong kỹ thuật lập trình có vai trị lớn thành cơng dự án phần mềm Chủ đề có nhiều nghiên cứu ứng dụng thực tế Và nhiều vấn đề cần tiếp tục nghiên cứu để đáp ứng yêu cầu phát triển Đề tài luận văn nghiên cứu ứng dụng phương pháp phân tích ngữ cảnh để nâng cao khả hỗ trợ lập trình Phân tích ngữ cảnh việc hiểu vấn đề mà lập trình viên thể mã chương trình Phương pháp phân tích dựa hai khái niệm thuộc tính đối tượng Code Template Thuộc tính đối tượng biểu diễn cho nhận thức ngữ cảnh thông qua đối tượng mã Code Template biểu diễn tính chất, cấu trúc, trình tự thực đoạn mã chương trình Nó khái niệm mở rộng so với giải thuật, cho phép biểu diễn nhiều tình lập trình linh động dựa khả phân tích ngữ cảnh biễu diễn tri thức liên quan đến vấn đề Mục đích đề tài nghiên cứu phương pháp ứng dụng cho vấn đề: Sinh mã thông minh, Nhận dạng, Đánh giá mã Đề tài giới hạn phạm vi ứng dụng mơi trường lập trình cụ thể VC++ Phần ứng dụng gồm công việc sau: Xây dựng mơ hình mã (Code Model), chứa đối tượng mã có khả biểu diễn cấu trúc, quan hệ, nhận thức Xây dựng cơng cụ phân tích mã, tổng hợp thuộc tính, thực việc hỗ trợ Abstract Fast - growth of the current software industry requires a correlative development of methods, technologies and software engineering Programming technique plays a critical part in the success of any software project Although this subject has many researches and applications, there have many issues which need be to studied more to meet present development requirements This thesis will study and apply analyzing context method to enhance abilities supporting programming Analyzing context is to understand problems which programmers show in their code Analyzing methods base on two concepts: Object's argument and code template Object's argument represents for awareness of context through a code object Code template demonstrates for properties, structures and statement orders of a code segment This is a broadened concept of algorithm, allowing to show many flexible programming situations, basing on manipulation of analyzing context and representing knowledge of a problem My thesis aim to study a method for supporting these issues: Generation sophisticated code segment, Inspection code, Recognition code template The application part will be limited for one programming environment, VC++ It includes two sections: Build Code Model to manage code objects which represent structures, relation-ships, and awareness of code concept Build module for analyzing code segment and apply Code Template for programming problems Bảng thuật ngữ viết tắt IDE Integrate Development Environment, môi trường lập trình tích hợp nói chung Visual C++ (VC++) Mơi trường ngơn ngữ lập trình hỗ trợ Visual Studio Visual Studio Cơng cụ lập trình hãng Microsoft, hỗ trợ ngôn ngữ như: C++, Visual Basic, C#, Visual J Design Pattern Các mẫu thiết kế kiểm định tốt cho vấn đề thông dụng Coding Standard, Kỹ thuật lập trình, bao gồm quy định thực Coding Convention, tình cụ thể Coding Effective Đối tượng mã Đối tượng hình thành từ thành phần mã chương trình như: Class, Method, Variable Chúng tạo để lưu trữ thuộc tính nhận thức Code Template Mẫu quy định trình tự tính chất đối tượng đoạn mã chương trình Ngữ cảnh Các đối tượng mối quan hệ thể đoạn mã chương trình COM Component Object Model, kỹ thuật xây dựng thành phần mà cho phép tương tác với thơng qua Interface ATL Active Template Library, thư viện lập trình cho COM Automation Kỹ thuật dựa tảng COM cho phép ngôn ngữ Script tương tác với ứng dụng VBScript, JavaScript Hai ngôn ngữ Script thông dụng, sử dụng nhiều ứng dụng Automation Script Engine Module phân tích thực thi Script Active Scripting Khái niệm nói chung kỹ thuật Scripting, bao gồm: Script Language Script Engine Mục lục Danh sách hình vẽ Danh sách bảng Chương 1: Giới thiệu 11 1.1 Khái quát 11 1.2 Vai trò thiết kế thực .12 1.3 Yêu cầu 13 1.4 Nội dung luận văn 15 Chương 2: 2.1 Tổng quan 18 IDE cơng cụ tích hợp .18 2.1.1 Chức soạn thảo .18 2.1.2 Chức soạn thảo mở rộng .19 2.1.3 Chức tạo mã chương trình 20 2.1.4 Chức phân tích 21 2.1.5 Chức tạo report document .21 2.1.6 Nhận xét 22 2.2 Kỹ thuật thiết kế lập trình 23 2.2.1 Kỹ thuật lập trình 23 2.2.2 Design Pattern .24 2.2.3 Lược đồ mã chương trình .24 2.3 Kết luận .24 Chương 3: 3.1 3.1.1 Khái niệm ngữ cảnh 25 Ngữ cảnh 25 Khái niệm 25 3.1.2 Phương pháp 26 3.2 Thuộc tính đối tượng .27 3.3 Code template 29 3.3.1 Khái quát .29 3.3.2 Khái niệm code template .31 3.4 Áp dụng 33 3.4.1 Sinh mã thông minh 33 3.4.2 Nhận dạng mẫu .36 3.4.3 Đánh giá mã chương trình 36 3.5 Kết luận .37 Chương 4: 4.1 Phân tích ngữ cảnh 39 Phân tích thuộc tính đối tượng 39 4.1.1 Biểu diễn .39 4.1.2 Phân tích 42 4.1.3 Thiết kế 45 4.2 Phân tích code Template 46 4.2.1 Biểu diễn .46 4.2.2 Phân tích: .48 4.2.3 Nhận xét 52 4.3 Kết luận .54 Chương 5: 5.1 Xây dựng chương trình 56 Automation 56 5.1.1 Giới thiệu .56 5.1.2 Hiện thực .57 5.2 VBScript 59 5.2.1 Giới thiệu VBScript 59 5.2.2 Biểu thức quy 60 5.3 Script Engine 62 Chương 5: Xây dựng chương trình • Tìm kiếm chuỗi văn bản, so trùng với mẫu • Thay chuỗi văn bản, chuỗi phần mẫu để so trùng Biểu thức quy biểu diễn dạng chuỗi cấu trúc tương tự biểu thức toán học Biểu thức quy gồm nhiều biểu thức liên kết ký hiệu đặc biệt xếp có cấu trúc Những đặc điểm biểu thức quy ký hiệu sử dụng: Operator(s) Description \ Escape (), (?:), (?=), [] Parentheses and Brackets *, +, ?, {n}, {n,}, {n,m} Quantifiers ^, $, \anymetacharacter Anchors and Sequences | Alternation Bảng 5-2: Ký hiệu đặc biệt RegExp • Lượng số: So trùng số lần xác định cho chuỗi con: *, +, ?, {n}, {n,}, {n,m} • Tập hợp: Yêu cầu chuỗi phải thuộc/không thuộc tập đó: [xyz], [^xyz], [a-z], [^a-z], (?=pattern), (?!pattern) • Biểu thức đặc biệt, có ý nghĩa chung, phổ biến: \num Ỉ So trùng số ngun dương Tìm kiếm chuỗi thay thế: Ta truy xuất đến chuỗi so trùng thực phép toán thay với chuỗi tương ứng Một ví dụ hồn chỉnh hai phần trên: VBScript biểu thức quy Function NormalizeDeclareVariable(declStr) 61 Int aaa,bbb,ccc,ddd; Chương 5: Xây dựng chương trình Ỉ Int aaa; Int bbb; Int ccc; Int ddd; Dim oRe, oMatch, oMatches Set oRe = New RegExp oRe.IgnoreCase = True oRe.Global = True oRe.Pattern = "(\w+)\s+(\w+(,\w+)+);" Set oMatches = oRe.Execute(declStr) vType = oMatches(0).SubMatches(0) varList = oMatches(0).SubMatches(1) newText = varList & vbCRLF oRe.Pattern = "\w+" Set oMatches = oRe.Execute(varList) For Each oMatch in oMatches newText = newText & vType & vbTab & vbTab & oMatch.Value & ";" & vbCRLF Next NormalizeDeclareVariable = newText End Function *MsgBox(NormalizeDeclareVariable("Int aaa,bbb,ccc,ddd;")) Bảng 5-3: Ví dụ sử dụng biểu thức quy áp dụng chỉnh sửa mã 5.3 Script Engine 5.3.1 Giới thiệu Theo phần yêu cầu trên, ta cần xây dựng module để thực thi Script, ngôn ngữ biểu diễn cho Code Template (Rule) Luận văn trình bày Automation VBScript, kết hợp hai công nghệ cho phép xây dựng module thực thi hiệu quả, nhanh chóng, có khả đáp ứng yêu cầu đặt Giải pháp để xây dựng module thực thi sử dụng cơng nghệ Active Scripting Microsoft Nó hỗ trợ Script Engine cho hai ngôn ngữ script thông dụng 62 Chương 5: Xây dựng chương trình VBScript, JavaScript Nó tích hợp tất phiên Window từ năm 98 trở Tuy nhiên, tất ngôn ngữ Script thông dụng cung cấp Script Engine hãng thứ ba Điều cho phép ta chọn lựa ngôn ngữ đặc tả Template cách linh hoạt 5.3.2 Kiến trúc Active Scripting xây dựng tảng COM, bao gồm Interface định nghĩa giao thức cho phép kết nối ScriptEngine với ứng dụng Mỗi ScriptEngine có khả đọc, phân tích, thực thi mã viết ngôn ngữ Script tương ứng Ứng dụng phải cung cấp automation interface đối tượng đăng ký vào namespace ScriptEngine, để cịn truy xuất đến thuộc tính, phương thức đối tượng, nhận xử lý kiện (outbound mehod calls) từ đối tượng khác Hình 5-2: Kiến trúc Active Scripting [12] Hình vẽ mơ tả kiến trúc Active Scripting Các bước hoạt động bao gồm: Khởi tạo ScriptEngine, kết ứng dụng với ScriptEngine phương thức 63 Chương 5: Xây dựng chương trình SetScriptSite, sau cung cấp mã Script để phân tích thực thi thời điểm 64 Chương 5: Xây dựng chương trình Hình 5-3: Lược đồ hoạt động ActiveScripting [12] 65 Chương 5: Xây dựng chương trình 5.3.3 Hiện thực Các bước thực, để khởi tạo gọi ScriptEngine thực thi: Khai báo lớp thực interface IActiveScriptHost, interface để ScriptEngine truy xuất đến ứng dụng, gồm số hàm bảng Bảng 5-4 IActiveScriptSite HRESULT GetItemInfo( [in] LPCOLESTR pstrName, [in] DWORD dwReturnMask, [out] IUnknown **ppiunkItem, [out] ITypeInfo **ppti); HRESULT OnScriptError([in] IActiveScriptError *pscripterror); Được gọi ScriptEngine để tìm kiếm tên đối tượng ứng dụng Được sử dụng để ánh xạ tên biến script vào automation interface ứng dụng Lớp bắt buộc phải thực hàm để cung cấp theo tên đối tượng để ScriptEngine thực thi Được gọi việc thực thi phân tích Script gặp lỗi Biến pscripterror đến đối tượng thực interface IactiveScriptError Bảng 5-4: Phương thức IActiveScriptSite Khởi tạo ScriptEngine: tất Window hỗ trợ hai ScriptEngine VBScript JavaScript Chúng COM object, ta khởi tạo chúng hàm: CoCreateInstance() với tham số “VBScript” “JavaScript” Yêu cầu phân tích mã thực thi: Sau khởi tạo ứng dụng cần phải cung cấp mã cho ScriptEngine, ParseScriptText(…), yêu cầu thực thi thời điểm đó, SetScriptState(…) 5.4 Mơ hình thực 66 Chương 5: Xây dựng chương trình Phần thực xây dựng công cụ Addin vào Visual Studio Nó hoạt động với Visual Studio, để thực hỗ trợ trình lập trình Visual Studio cung cấp mơi trường lập trình tồn diện, quản lý Solution, Project, đối tượng Code, nhiều tiện ích khác Xây dựng cơng cụ Addin để sử dụng tiệc ích mà Visual Studio cung cấp Mơ hình hoạt động hình vẽ Hình 5-4, cơng cụ gồm hai thành phần: Phần quản lý giao diện phần phân tích: Visual Studio Code Parser Environment Manager Code Template Manager IDE Code Model Manager Hình 5-4: Mơ hình thực 5.4.1 Environment Manager Là thành phần Addin, kết nối vào Visual Studio, có nhiệm vụ phân tích hoạt động mơ hình lưu trữ Visual studio để tạo quản lý module phân tích cho project solution Nó có vai trị tách biệt phần giao diện lập trình phần phân tích, đồng thời kết nối thành phần phân tích với • Lắng nghe kiện đối tượng: IDE, SolutionItem, ProjectItem, TextEditor, CodeItem, CodePane • Tương ứng với kiện, ta phải cập nhật cho module phân tích: Tạo cập nhật thơng tin cho đối tượng Project, đối tượng mã; Phân tích phát yêu cầu thực từ CodeEditor 67 Chương 5: Xây dựng chương trình 5.4.2 Code Parser Có nhiệm vụ phân tích mã C++, khởi tạo đối tượng thuộc tính cho thành phần cấu tạo nên đoạn mã, bao gồm hai phần: Phân tích file header, phân tích project Thư viện lập trình C hay C++ ln phải cung cấp file header chứa định nghĩa đối tượng mà thư viện cung cấp Module có nhiệm vụ phân tích File Header để khởi tạo tất đối tượng thuộc tính cho thành phần mà thư viện cung cấp Khó khăn việc phân tích thư viện VC++ tập thư viện lớn, thêm vào Microsoft đưa vào nhiều từ khóa khơng có Standard C++ Phần thực, luận văn sử dụng chỉnh sửa lại phần mềm: GCCXML, để phân tích tồn thư viện VC++ chuyển sang XML Phần thứ hai khởi tạo đối tượng thuộc tính cho đối tượng thuộc project Nó bao gồm tất đối tượng tương ứng với khái niệm ngơn ngữ lập trình như: Class, Method, Variable Tham khảo chi tiết Bảng 4-2 Hiện luận văn sử dụng tiện ích cung cấp sẵn Visual Studio để phân tích đối tượng mã mức khai báo Ở mức thực hàm cụ thể cần có Parser C++ mà luận văn chưa thực 5.4.3 Code Model Manager Là thành phần quản lý đối tượng mã, đối tượng Project Được xây dựng tảng Automation, với hỗ trợ thư viện ATL Nó cho phép ngơn ngữ Script truy xuất thuộc tính thực thi phưong thức đối tượng Vai trị bao gồm: • Khởi tạo đối tượng thư viện đối tượng Project • Quản lý thời gian sống tất đối tượng, cho phép truy xuất tìm kiếm đối tượng theo tên Id 68 Chương 5: Xây dựng chương trình • Phân tích, cập nhật thơng tin có thay đổi 5.4.4 Code Template Manager Là module quản lý thực thi Code Template Có có vai trị sau: • Khởi tạo ScriptEngine liên kết vào Code Model • Hiện thực giải thuật thực thi Code Template cho đối tượng tương ứng • Cung cấp giao diện soạn thảo Code Template 5.5 Kết luận Chương trình bày vấn đề liên quan đến việc thực, bao gồm công nghệ: Automation, VBScript, Active Scripting; mơ hình thực Mơ hình đáp ứng yêu cầu đặt chương 4, phù hợp với điều kiện thực tế 69 Luận văn cao học: Ứng dụng phân tích ngữ cảnh để trợ giúp việc lập trình Chương 6: Kết luận Chương tóm tắt lại ý tưởng đề tài, vấn đề phương pháp giải luận văn Luận văn đạt kết quan trọng việc đề giải pháp mơ hình ứng dụng, cịn tồn vấn đề cần phải hoàn thiện thêm Phần cuối chương đề nghị số hướng phát triển cho đề tài 6.1 Tóm tắt Ý tưởng đề tài xuất phát từ quan sát công việc hàng ngày lập trình viên Họ phải giải toán nhiều vấn đề kỹ thuật liên quan, mà chiếm nhiều thời gian Các vấn đề liên quan giải cách tự động bán tự động với trợ giúp cơng cụ, giúp lập trình viên tập trung vào vấn đề Mục đích trợ giúp bao gồm ứng dụng: Sinh mã thông minh, nhận dạng, đánh giá mã chương trình Yêu cầu ứng dụng phải có khả phân tích nhận thức ngữ cảnh chương trình để áp dụng tri thức kinh nghiệm chuyên gia vào vấn đề cụ thể Ý tưởng cho phương pháp giải vấn đề xuất phát từ ý tưởng xử lý ngôn ngữ tự nhiên Ta xem xét đoạn mã giống đoạn văn ngôn ngữ tự nhiên Q trình phân tích để hiểu ý nghĩa đoạn mã thành phần Sự hiểu biết ứng dụng phần xử lý Ngữ cảnh thể thông qua đối tượng mã, bao gồm tính chất, quan hệ chúng, vai trò chúng đoạn mã Các đối tượng góp phần biểu diễn ngữ cảnh thơng qua tập thuộc tính Tập thuộc tính hình thành theo trình Chương 6: Kết luận tự đọc mã chương trình Nó phản ánh ý nghĩa mối quan hệ xem xét với tất đối tượng tham gia Phương tiện cho phép nhận thức, xử lý ứng dụng thuộc tính đối tượng Code Template Nó kết hợp hai vai trị: 1/ Biểu diễn tính chất, trình tự, định dạng cho đoạn mã chương trình 2/ Biểu diễn cho việc suy luận xử lý Code Template biểu diễn cho tập vấn đề lập trình Nó áp dụng cho đối tượng đoạn mã để nhận diện kiểm tra thuộc tính đối tượng tham gia Luận văn sử dụng phương pháp nhận dạng cho việc phân tích, cách áp dụng trực tiếp mẫu vào đoạn mã để nhận diện mẫu phù hợp mà khơng cần phân tích có hệ thơng Nó khắc phục nhược điểm phương pháp phân tích hệ thống để cung cấp hỗ trợ có tính tương tác tốt với điều kiện có Về mặt thực, luận văn sử dụng ngôn ngữ Script để biểu diễn cho Code Template Đó kết hợp hai vai trò: biểu diễn mẫu biểu diễn chế xử lý Nó đủ mạnh để giải vấn đề đặt với Code Template, đồng thời tận dụng công nghệ sẵn có cho việc thực - Active Scripting Có số trở ngại cho việc hoàn thành toàn yêu cầu đặt Các vấn đề giải phạm vi khác, nhiên điều kiện chưa cho phép luận văn có kết phần thực Chúng tiếp tục phát triển thêm 6.2 Kết Luận văn đạt kết quan trọng để chứng minh cho giải pháp đề ra: • Khái qt hóa vấn đề gặp phải lập trình mà cần hỗ trợ • Phân tích vấn đề đề phương pháp giải phù hợp • Tìm hiểu tập hợp công nghệ phù hợp cho việc thực 71 Chương 6: Kết luận • Thiết kế thực chương trình mơ Tuy nhiên cịn số vấn đề tiếp tục hồn thiện: • Xây dựng cơng cụ phân tích C++ cho phần mã thực • Hồn thiện GCCXML để phân tích thư viện VC++ • Xây dựng Code Template cho vấn đề Coding Standard, Coding Effective, Design Pattern • Xây dựng module quản lý Code Template 6.3 Đề nghị Phương pháp giải phân tích ngữ cảnh cần hoàn thiện nhiều vấn đề khác Một số chúng cần thực đề tài riêng Kết đề tài góp phần tạo sở cho hướng phát triển sau: • Xây dựng thư viện Code Template cho vấn đề thơng dụng • Xây dựng ngôn ngữ cho phép biểu diễn ngữ cảnh thống nhận dạng sinh mã • Mở rộng Parser cho phép nhận diện đối tượng mức độ trừu tượng: Token, biến nhớ, sau phân tích ngữ cảnh cho cấp độ • Mở rộng phương pháp cho mơi trường lập trình: Net Java 72 Luận văn cao học: Ứng dụng phân tích ngữ cảnh để trợ giúp việc lập trình Tài liệu tham khảo Juval Lowy, C# Coding Standard, www.idesign.net, 2003 The programming research group, High-integrity C++ coding standard manual, www.programmingresearch.com, 2004 Kosmas Karadimitriou, Coding standards and guidelines for good software engineering practice in C++, http://www.csc.lsu.edu/~kosmas/C++guidelines.pdf, 2001 Scott Meyers, Effective C++, Addison Wesley, 1997 Scott Meyers, More Effective C++, Addison Wesley, 1999 Erich Gamma, Richard Helm, Ralph Johnson, John M Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1994 MSDN, Visual Studio Automation and Extensibility, http://msdn.microsoft.com/library/default.asp?url=/library/enus/vsintro7/html/vxoriextensibilityreference.asp, 2006 MSDN, Visual C++ Automation and Extensibility, http://msdn.microsoft.com/library/default.asp?url=/library/enus/vsintro7/html/vxoriextensibilityreference.asp, 2006 MSDN, VB Script Programming Guide, http://msdn.microsoft.com/library/default.asp?url=/library/enus/script56/html/dd5dc02a-71e4-412b-8b30-9cc2d3d5e6fb.asp, 2006 10 MSDN, Regular Expression, http://msdn.microsoft.com/library/default.asp?url=/library/en- Tài liệu tham khảo us/script56/html/3f3e319c-18c2-46df-90b2-023d6a53dac9.asp, 2006 11 MSDN, Automtion, http://msdn.microsoft.com/library/default.asp?url=/library/enus/automat/html/75622ac1-a458-4e74-9e7f-371f8c7dbe19.asp, 2006 12 MSDN, Active Scripting, http://www.microsoft.com/mind/0297/activescripting.asp, 1997 13 Kitware, GCCXML, http://www.gccxml.org/HTML/Index.html, 2002 14 ANTLR, ANTLR, http://www.antlr.org, 2006 15 David Wigg , C++ grammar with C++ output Version 3.1, http://www.antlr.org/grammar/1132152279791/CPP_parser_v_3.1.zip, 2005 16 G Sheppard, B King, Inside ATL, Microsoft Press, 1999 74 Lý lịch trích ngang: Họ tên: Hà Minh Ngọc Ngày, tháng, năm sinh: 26/12/1981 Nơi sinh: Thái Bình Địa liên lạc: 108/14/24 đường 3-2 phường 14 quận 10 Tp Hồ Chí Minh Email: haminhngoc@gmail.com Q TRÌNH ĐÀO TẠO • 1999 – 2004: Sinh viên khoa Công Nghệ Thông Tin trường ĐH Bách Khoa Tp Hồ Chí Minh • 2004 – 2006: Học viên cao học chuyên ngành Công Nghệ Thơng Tin trường ĐH Bách Khoa Tp Hồ Chí Minh ... chương trình 3.5 Kết luận Nội dung chương trình bày khái niệm ngữ cảnh lập trình khái quát phạm vi ứng dụng việc hỗ trợ lập trình Ngữ cảnh đoạn mã chương trình biểu diễn, xây dựng, ứng dụng dựa... thông dụng chương trình soạn thảo bao gồm: Sử dụng màu sắc khác cho thành phần chương trình, làm cho chương trình dễ đọc Trình bày chương trình ứng với cấu trúc khối ngơn ngữ lập trình Trình bày code. .. I- TÊN ĐỀ TÀI: Ứng dụng Code Template hỗ trợ lập trình II- NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu tổng kết vấn đề hỗ trợ lập trình trạng thực

Ngày đăng: 10/02/2021, 09:27

Từ khóa liên quan

Mục lục

  • Danh sách hình vẽ

  • Chương 1: Giới thiệu

    • 1.1 Khái quát

    • 1.2 Vai trò của thiết kế và hiện thực

    • 1.3 Yêu cầu

    • 1.4 Nội dung của luận văn

    • Chương 2: Tổng quan

      • 2.1 IDE và các công cụ tích hợp

        • 2.1.1 Chức năng soạn thảo

        • 2.1.2 Chức năng soạn thảo mở rộng

        • 2.1.3 Chức năng tạo mã chương trình

        • 2.1.4 Chức năng phân tích

        • 2.1.5 Chức năng tạo report và document

        • 2.1.6 Nhận xét

        • 2.2 Kỹ thuật thiết kế và lập trình

          • 2.2.1 Kỹ thuật lập trình

          • 2.2.2 Design Pattern

          • 2.2.3 Lược đồ và mã chương trình

          • 2.3 Kết luận

          • Chương 3: Khái niệm ngữ cảnh

            • 3.1 Ngữ cảnh

              • 3.1.1 Khái niệm

              • 3.1.2 Phương pháp

              • 3.2 Thuộc tính đối tượng

              • 3.3 Code template

                • 3.3.1 Khái quát

                • 3.3.2 Khái niệm code template

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

Tài liệu liên quan