2011-03-01 78 views
0

我想通過所有可用的Java(或任何其他語言)的源代碼在一個給定的項目:工具來分析代碼的語法

  1. 設置關鍵字的置換及其關係
  2. 的統計分佈
  3. 挑出重複序列字符,構造(模式)。

你會推薦我什麼樣的工具集?

例如:

我希望它能夠挑選:

* (*) { 
    * 
} 

出了的

public static void main (String[] args) { 
    System.err.println("Specific Text"); 
} 

\n; 
System.err.println("Specific Text"); 
    System.err.println("Specific Text"); 
    System.err.println("Specific Text"); 
    System.err.println("Specific Text"); 
    System.err.println("Specific Text"); 
    System.err.println("Specific Text"); 
    System.err.println("Specific Text"); 
    System.err.println("Specific Text"); 
+0

ctrl + F在您的IDE與正則表達式? – 2011-03-01 16:01:24

回答

3

您需要一個語言解析器。我能想到的一個是http://www.antlr.org/。您最終將使用Java已存在的語法並解析文件並查找令牌。例如,如果,等,等...都是解析器會告訴你的所有關鍵字。但123不是關鍵字。

+0

BTW,Terence Parr(ANTLR作者)撰寫了這本書:http://pragprog.com/titles/tpdsl/language-implementation-patterns,它很容易解釋如何做一個你需要的語言應用程序。如果你對令牌處理器,解析器,ast等等一無所知,我建議你閱讀這個boook。 – OscarRyz 2011-03-01 16:03:42