簡體   English   中英

使用ANTLR從Java提取信息

[英]Extracting Information from Java using ANTLR

我對ANTLR很陌生。 我想知道如何從項目文件中提取信息。

使用Java語法,我需要從項目中提取程序包名稱,然后提取類(包括它們來自的程序包),然后提取方法(包括它們來自的程序包和類),最后是變量及其類型(包括包,類,它們來自的方法)。

任何幫助將不勝感激。 謝謝

要確定類型,您需要全名和類型分辨率

面對范圍(考慮訪問匿名類的成員!),泛型和類型擦除規則(尤其是),這並不容易。 以及從Java的各個版本到版本8所添加的所有代碼。對於實際的軟件,該工具不僅必須讀取源文件,而且還必須讀取類文件以獲取類型信息,這一事實使情況更加復雜。 您將無法僅使用解析器來提取類型信息。

人們一直在思考,如果他們有純粹的解析器,它們將接近有趣的代碼分析功能。 解析是程序分析中最簡單的部分。 請參閱解析后的生活

如果要獲取類型信息,請找到已經對其進行計算的工具(例如Eclipse Java AST包,Java編譯器或其他一些專門設計用於支持源代碼程序分析和轉換的工具)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM