<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    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 亚洲国产午夜中文字幕精品黄网站 | 久久精品无码一区二区WWW | 国产精品特级毛片一区二区三区| 国产精品国产香蕉在线观看网 | 中文字幕日韩精品在线| 午夜精品福利在线观看| 精品久久久噜噜噜久久久| 久久精品国产亚洲麻豆| 久久精品国产精品亚洲人人 | 久久夜色撩人精品国产| 国产日韩精品一区二区三区| 国产精品成人久久久| 亚洲精品456在线播放| 久久久影院亚洲精品| 99精品国产高清一区二区三区 | 热99re久久精品2久久久| 国产精品视频白浆合集| 久久成人国产精品免费软件| 四虎国产精品永久免费网址| 九九热在线视频观看这里只有精品| 国产精品成人一区二区| 亚洲AV无码之日韩精品| 国产成人精品无码专区| 日韩成人精品日本亚洲| 国内精品自在自线视频| 亚洲爆乳无码精品AAA片蜜桃| 国产精品久久久久久搜索| 久久精品中文騷妇女内射| 无码人妻精品一区二区三18禁| 久久精品免视看国产成人| 久久成人影院精品777| 国产午夜福利精品一区二区三区| 99免费精品视频| 日韩A∨精品日韩在线观看| 久久久WWW免费人成精品| 久久青青草原精品国产不卡| 国产亚州精品女人久久久久久| 中文字幕日本精品一区二区三区| 日韩A∨精品日韩在线观看 | 2018国产精华国产精品| 无码国内精品久久综合88|