作者zanyking (遙遠的旅人)
看板java
標題Re: [問題] 請問有沒有人用過CDT
時間Thu Apr 15 16:08:20 2010
※ 引述《ntouckcm (知足常樂)》之銘言:
: 請問一下
: 有沒有人用過CDT,也就是JAVA用來開發C/C++ 程式
: 然後BBCDT是用來頡取C/C++產生出來的node
: 但是他的使用方式是
CDT、DDT傻傻的分不清楚。
拜託大哥,你可不可以講清楚你在開發Eclipse Plugin啊?你這樣寫是有誰能懂?
: public void run(IAction action) {
: IFile inputFile = ((FileEditorInput) editor.getEditorInput()).getFile();
: if (CoreModel.isTranslationUnit(inputFile)) {
: try {
: TranslationUnit tu = (TranslationUnit)CCorePlugin.getDefault().
: getCoreModel().create(inputFile);
: IASTTranslationUnit ast = tu.getLanguage()
: .getASTTranslationUnit(tu,ILanguage.AST_SKIP_ALL_HEADERS);
: ast.accept(astVisitor);
: ...............................
[人腦Compile]:
你建立了一個Action可以被各種情況觸發,在這裡頭我大概看得出來你打算跟CDT Editor
要C++ file 的程式碼內容,要來後建AS Tree,然後用Visitor走訪每個節點。
: 開啟一個新視窗,然後建立BBCDT workspace,然後在新增BBCDT file
: 也就是c/c++ code 然後按一個鈕 才能parse
: 請問有沒有可能直接創建main 執行main
: 然後在code裡指定要parse的c/c++程式 位置呢 ?
: 不用再開啟一個eclipse 建立workspace 再新增要parse的file 最後還要再按一個鈕呢
根據Eclipse的License EPL,應該是允許開發者可以這麼做,不過,你就得自己做
Porting的工作。
可能的步驟大概是把CDT從讀檔到建AST這整段程式碼抄出來,然後把這些程式碼當中跟
Eclipse Resource Framework有連接關係的部份切離...我感覺這是個一個月以上的
大工程。
我大概會把CDT的程式碼準備好,丟到一個乾淨的Project裡頭,從分析CDT Plugin
import了哪些Fundation Plugin開始吧?
看看CDT切不切的乾淨囉,以我之前Hack JDT的經驗來說品質應該還OK,不過這種東西
不用肖想會有Document,Dive Dive Dive,準備潛下去就對了。
--
我所信仰的科學是一種謙卑的理性,承認自身的無知與渺小才能觀察到世界在我們貧
弱的知覺上留下來的痕跡。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.44.37
推 PsMonkey:嗚嗚... 感謝 z 大開示,不然之前的文章實在完全看不懂 04/15 16:32
推 ntouckcm:喔喔對不起啦~謝謝Z大的開示>O< 還有我小妹XDD不是大哥~~ 04/15 18:12
→ zanyking:CDT切出來會比JDT難,Java的import, package比起C++的 04/15 19:17
→ zanyking:namespace 在Resource link上簡單多了。 04/15 19:38
推 keeperkai:推簽名檔 04/17 23:48