看板 java 關於我們 聯絡資訊
※ 引述《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