Java 分析代码语法的工具

Java 分析代码语法的工具,java,string,design-patterns,Java,String,Design Patterns,我想浏览给定项目中所有可用的Java(或任何其他语言)源代码,并: 建立关键字排列及其关系的统计分布 从中找出重复的序列、字符、结构(模式) 您会向我推荐什么样的工具集? 例如: 我希望它能够选择: * ( * ) { * } 出于 public static void main ( String[] args ) { System.err.println( "Specific Text" ); } 或 出于 System.err.println( "Specific Text"

我想浏览给定项目中所有可用的Java(或任何其他语言)源代码,并:

  • 建立关键字排列及其关系的统计分布
  • 从中找出重复的序列、字符、结构(模式) 您会向我推荐什么样的工具集?

    例如:

    我希望它能够选择:

    * ( * ) {
      *
    }
    
    出于

    public static void main ( String[] args ) {
      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" );
      System.err.println( "Specific Text" );
    

    你需要一个语言分析器。我能想到的一个是正确的。您最终使用已经存在的Java语法,解析文件并查找标记。例如,如果、为了、何时等。。。是解析器将告诉您的所有关键字。但123不是一个关键词

    您需要一个语言解析器。我能想到的一个是正确的。您最终使用已经存在的Java语法,解析文件并查找标记。例如,如果、为了、何时等。。。是解析器将告诉您的所有关键字。但123不是一个关键词

    使用正则表达式在IDE中按ctrl+F?使用正则表达式在IDE中按ctrl+F?顺便说一句,Terence Parr(ANTLR的作者)写了这本书:这本书很容易解释了如何做一个你需要的“语言应用程序”。如果你对标记器、解析器、ast等一无所知,我建议你阅读这本书。顺便说一句,Terence Parr(ANTLR的作者)写了这本书:这本书很容易解释了如何做一个你需要的“语言应用程序”。如果您对标记器、解析器、ast等一无所知,我建议您阅读本书。
      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" );