<th id="wu2k2"><s id="wu2k2"></s></th> <blockquote id="wu2k2"></blockquote>
  • <tr id="wu2k2"></tr>
  • <samp id="wu2k2"><tbody id="wu2k2"></tbody></samp><samp id="wu2k2"><tbody id="wu2k2"></tbody></samp>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java parser

    文檔

    java parser

    Java Parser是基于JavaCC作為Java語言詞法解析的工具,支持Java語言生成AST,AST結構允許以一種簡單的編程方式使用Java代碼,它提供了一種方便的機制,可以使用我們稱為“訪客支持”的功能來導航樹。
    推薦度:
    導讀Java Parser是基于JavaCC作為Java語言詞法解析的工具,支持Java語言生成AST,AST結構允許以一種簡單的編程方式使用Java代碼,它提供了一種方便的機制,可以使用我們稱為“訪客支持”的功能來導航樹。

    java parser是什么,讓我們一起了解一下?

    Java Parser是基于JavaCC作為Java語言詞法解析的工具,支持Java語言生成AST(Abstract Syntax Tree抽象語法樹),在AST基礎上進行類型推斷分析,支持修改AST從而生成新的Java文件內容,支持從Java 1.0到14所有的版本的AST解析。

    AST結構允許以一種簡單的編程方式使用Java代碼。可以專門操作Java文件,使用起來也更簡單。它提供了一種方便的機制,可以使用我們稱為“訪客支持”的功能來導航樹。這使開發人員能夠專注于在源代碼中識別有趣的模式,而不必編寫費力的樹遍歷代碼。該庫的最終主要功能是能夠操縱源代碼的基礎結構。然后可以將其寫入文件,為開發人員提供構建自己的代碼生成軟件的便利。

    那么我們使用JavaParser theere時,總是希望進行很多操作。

    例如,我們希望對整個項目進行操作,因此在給定目錄的情況下,我們將探索所有Java文件。 此類應有助于完成此任務:

    package?me.tomassetti.support;
    import?java.io.File;
    public?class?DirExplorer?{
    public?interface?FileHandler?{
    void?handle(int?level,?String?path,?File?file);
    }
    public?interface?Filter?{
    boolean?interested(int?level,?String?path,?File?file);
    }
    private?FileHandler?fileHandler;
    private?Filter?filter;
    public?DirExplorer(Filter?filter,?FileHandler?fileHandler)?{
    this.filter?=?filter;
    this.fileHandler?=?fileHandler;
    }
    public?void?explore(File?root)?{
    explore(0,?"",?root);
    }
    private?void?explore(int?level,?String?path,?File?file)?{
    if?(file.isDirectory())?{
    for?(File?child?:?file.listFiles())?{
    explore(level?+?1,?path?+?"/"?+?child.getName(),?child);
    }
    }?else?{
    if?(filter.interested(level,?path,?file))?{
    fileHandler.handle(level,?path,?file);
    }
    }
    }
    }

    對于每個Java文件,我們首先要為每個Java文件構建一個抽象語法樹(AST),然后對其進行導航。 這樣做有兩種主要策略:

    1、使用訪客:要在特定類型的AST節點上進行操作時,這是正確的策略。

    2、使用遞歸迭代器:這允許處理所有類型的節點。

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java parser

    Java Parser是基于JavaCC作為Java語言詞法解析的工具,支持Java語言生成AST,AST結構允許以一種簡單的編程方式使用Java代碼,它提供了一種方便的機制,可以使用我們稱為“訪客支持”的功能來導航樹。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java request java partial java requests java rest java result java resultset java resume java retrofit java reverse() java reverse java rotate java rsa加密 java path java paypal java phoenix java ping java pipeline java rsa公鑰加密 java rsa私鑰加密 java rtp java repeat java parse java pandas java override java render java region java require java resolve java resources java overload java outofmemory java outer java orm java openssl java regex java reflect java reference java redirect java rectangle java openjdk
    Top 久久久国产精品四虎| 精品国产_亚洲人成在线高清| 米奇777四色精品人人爽| 久久久久人妻一区精品果冻| 麻豆精品无码国产在线果冻| 久久99国内精品自在现线| 四虎国产精品免费永久在线| 国产精品无码专区在线播放| 日本h在线精品免费观看| 久久久久亚洲精品影视| 99精品免费视品| 亚洲无码日韩精品第一页| 热久久综合这里只有精品电影| 精品一区精品二区制服| 精品亚洲永久免费精品| 国产91精品一区二区麻豆亚洲| 青青青国产精品视频| 亚洲精品无码久久久久A片苍井空 亚洲精品无码久久久久YW | 69久久夜色精品国产69| 无码国产精品一区二区免费式芒果 | 精品人妻无码专区中文字幕 | 国产精品小黄鸭一区二区三区| mm1313亚洲国产精品无码试看 | 97久久精品国产精品青草| 香港aa三级久久三级老师2021国产三级精品三级在 | 成人午夜精品网站在线观看| 大伊香蕉在线精品视频人碰人| 久久精品国产亚洲AV蜜臀色欲| 久草精品视频在线播放| 国产美女精品一区二区三区| 中文字幕精品无码亚洲字| 国产精品福利在线观看免费不卡| 欧洲精品一区二区三区在线观看 | 国产精品久操视频| 国产成人精品综合在线观看| 国产成人精品高清免费| 精品视频一区二区| 四虎精品影库4HUTV四虎| 久草这里只有精品| 国产成人精品视频2021| 久草热久草热线频97精品|