java词法分析器(用于挖掘能够对其进行语义分析的java代码)

问题描述:

我想要一个用于java代码的词法分析器。我应该写我自己的还是应该使用预先存在的工具? 是否有可能使我的词法分析器与Java词法分析器的行为相同,而无需编写自己的正则表达式?java词法分析器(用于挖掘能够对其进行语义分析的java代码)

例如,如果我有这样一个类:

Class Cat 
{ 
    public void fun(){ 
    int a; 
    a=3; 

    int b=0; 

    if((a/b==3)||(a/b==0)) 
    { 
     System.out.println("Test"); 
    } 
    } 
} 

我想它的输出看起来像这样

class keyword 
Cat (id/className) 
int a(declaration) 
a=3 (assignment) 
int b=0 (declaration and assignment) 
if (key word) 
((a/b==3)||(a/b==0)) (if condition) 

请让我知道如果你有任何想法..

+0

看看http://*.com/questions/10061548/java-tree-parser-output-for-antlr –

http://www.programcreek.com/2011/01/a-complete-standalone-example-of-astparser/

Eclipse包含一个用于从Java中提取AST的工具。