§ 瀏覽學位論文書目資料
  
系統識別號 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年
論文全文使用權限
校內
紙本論文於授權書繳交後1年公開
同意電子論文全文授權校園內公開
校內電子論文立即公開
校外
同意授權
校外電子論文立即公開

如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信