系統識別號 | U0002-3107200718420500 |
---|---|
DOI | 10.6846/TKU.2007.01047 |
論文名稱(中文) | Java的樹狀編輯器 |
論文名稱(英文) | Java Tree Editor |
第三語言論文名稱 | |
校院名稱 | 淡江大學 |
系所名稱(中文) | 資訊管理學系碩士班 |
系所名稱(英文) | Department of Information Management |
外國學位學校名稱 | |
外國學位學院名稱 | |
外國學位研究所名稱 | |
學年度 | 95 |
學期 | 2 |
出版年 | 96 |
研究生(中文) | 高志銘 |
研究生(英文) | Chih-Ming Kao |
學號 | 693521162 |
學位類別 | 碩士 |
語言別 | 繁體中文 |
第二語言別 | |
口試日期 | 2007-06-09 |
論文頁數 | 40頁 |
口試委員 |
指導教授
-
廖賀田(htliaw@mail.tku.edu.tw)
委員 - 林至中 委員 - 呂芳懌 委員 - 魏世杰 |
關鍵字(中) |
Java 語法樹 樹狀編輯器 |
關鍵字(英) |
Java syntax tree tree editor |
第三語言關鍵字 | |
學科別分類 | |
中文摘要 |
目前市面上所提供的編輯軟體(editor)在編修程式碼時,都是以字元(character)或單行(line)為編修單位。這樣的編輯方式在瀏覽上並不方便,而且還常令人在無意間破壞程式碼的樹狀結構。本論文提出Java語言的樹狀編輯器。它以語法樹(syntax tree)當做內部資料結構。當游標落在節點資料內時,仍是以字元或單行為編輯單位;而當游標落在次級子樹之間時,則是以次級子樹為編輯單位。 系統畫面包含有專案區、類別區和編輯區。專案區以樹狀結構展示程式專案(project)中的套件(package)與檔案(file);類別區以條列方式展示類別(class)的內容;而內含多視窗的編輯區用來展示類別中的方法(method)。編輯區內的每個視窗都以層層套疊的方式呈現Java原始碼,其中每個層級皆可自由收展,並提供局部捲軸供瀏覽。 系統會自動對修改後的原始碼進行剖析與連結,並以檢查燈號讓使用者了解目前的程式是否含有語法錯誤。本系統已完成製作,並已經用大量的實例程式進行測試,驗證了編輯與剖析的功能。 |
英文摘要 |
The basic editing units of conventional text editors are based upon characters or lines. These editors are inconvenient for browsing and the users are easily to spoil the tree structures of the source while editing the code. In this paper, we present Java Tree Editor, a Tree Editor for Java Language which uses syntax tree as its internal data structures. With the editor, the users manipulate the sub-trees instead of characters or lines which improve the correctness and the efficiency of programming. The Java Tree Editor consists of project pane, class pane, and editing area. The project pane shows the packages and files of the project; the class pane lists the contents of classes while editing area displays methods in multiple windows. The source codes are presented in windows which layered on other windows. Each layer can collapse and expand freely, and equipped with a local scroll pane for browsing. In addition to editing, the editor also parses and links the code, and an indicator will notify the user whether the program syntax is correct or not. The Java Tree Editor is fully implemented, and is experimented with numerous examples to prove the ability of editing and parsing. |
第三語言摘要 | |
論文目次 |
目錄 目錄 I 圖目錄 IV 1. 緒論 1 1.1. 研究背景 1 1.2. 相關研究 2 1.2.1. 純文字編輯器 2 1.2.2. 整合開發環境 2 1.3. 論文組織 3 2. 系統的模型與展示 5 2.1. 編輯器的組成 5 2.1.1. 編輯區 5 2.1.2. 專案區 6 2.2. 節點資料與子樹 8 2.2.1. 專案單元 9 2.2.2. 套件單元 9 2.2.3. 檔案單元 10 2.2.4. 類別單元 10 2.2.5. 方法單元與建構子單元 11 2.2.6. 敘述單元 11 2.2.7. 算式單元 12 2.3. 局部捲軸 14 3. 樹狀操作 16 3.1. 目前工作樹(CWT) 16 3.2. 樹狀的收展操作 17 3.3. 基本編修 18 3.4. 特種編修 19 3.5. 復原與逆復原 21 4. 樹狀文件的剖析 23 4.1. 全文剖析與局部剖析 23 4.2. 剖析與連結 24 5. 系統實作與評估 25 5.1. 編輯窗的運作 25 5.1.1編輯窗的製作 25 5.1.2編輯窗與模型的運作 29 5.2. 局部捲軸的運作 31 5.3. 復原與逆復原的實作 32 5.4. 系統測試 34 5.5. 評估與比較 35 6. 總結與展望 36 6.1. 總結 36 6.2. 未來展望 37 參考文獻 39 圖目錄 圖 2 1編輯區內的編輯窗 6 圖 2 2專案區與類別區 8 圖 2 3敘述繼承圖 12 圖 2 4 IF敘述展示與樹狀結構 13 圖 2 5局部捲軸 15 圖 3 1目前工作樹(CWT) 17 圖 3 2 JAVA API樹狀窗 19 圖 3 3敘述下推圖 20 圖 3 4敘述上拉圖 21 圖 5 1編輯窗繼承圖 26 圖 5 2 TREEWIN套疊關係圖 27 圖 5 3枝型節點的套疊圖 28 圖 5 4編輯窗與語法樹互動-1 29 圖 5 5編輯窗與語法樹互動-2 30 圖 5 6 UNDO的雙堆疊機制 33 |
參考文獻 |
1.Borland Software Corporation ,"JBuilder", http://www.borland.com/index.html,2006 2.Harvey M. Deitel and Paul J. Deitel, "Java How to Program, 5/e”, Prentice Hall, 2003 3.IDM Computer Solution, "UltraEdit",http://www.idmcomp.com/index.php,2006 4.International Business Machines Corporation, "Eclipse ",http://www.eclipse.org/,2006 5.James Gosling, Bill Joy, Guy Steele and Gilad Bracha, "The Java Language Specification, Second Edition ", Addison-Wesley, 2000. 6.JetBrains, “Intellij IDEA”,http://www.jetbrains.com/idea/, 2006 7.K.Arnold, J.Gosling and D.Holmes, "The Java Programming Language 3rd Edition ", Addision Wesley, June 2000. 8.K.Warlrath and M.Campione, "The JFC Swing Tutorial " ,Addision Wesley, June 1999. 9.Martin Fowler, "Refactoring, improving the design of existing code. ", Addison-Wesley, 1999. 10.Microsoft Corporation "Microsoft Office Word 2003 ",http://office.micosoft.com/word/ 11.周敬斐, "XML文件的樹狀編輯器 ",淡江大學資訊管理所碩士論文, 民國94年. 12.郭肇安, "Java語法樹與直譯機制 ",淡江大學資訊管理所碩士論文, 民國95年 |
論文全文使用權限 |
如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信