分析代码语法的工具

时间:2011-03-01 15:55:06

标签: java string design-patterns

我想查看给定项目中的所有可用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" );
    

1 个答案:

答案 0 :(得分:3)

您需要语言解析器。我能想到的是http://www.antlr.org/。您最终使用已存在的Java语法并解析文件并查找令牌。例如,if,for,when等等是解析器告诉你的所有关键字。但123不是关键字。