java - 分析代码语法的工具

标签 java string design-patterns

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

  1. 建立关键字排列及其关系的统计分布
  2. 从中挑选出重复的序列字符、结构(模式)。

您会向我推荐什么样的工具集?

例如:

我希望它能够选择:

* ( * ) {
  *
}

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" );

最佳答案

您需要一个语言解析器。我能想到的正确的一个是http://www.antlr.org/ 。您最终会使用 Java 已有的语法并解析文件并查找标记。例如,if、for、when 等...都是解析器会告诉您的关键字。但 123 不是关键字。

关于java - 分析代码语法的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5156882/

相关文章:

java - 我无法在 Netbeans 中安装 sailfin SIP Servlet

java - 我如何计算这些值?

java - 具有多个分隔符的 Split()(不起作用)

python-3.x - 导入模块问题(项目名称和模块名称相同)

c++ - 单例实现和对::GetInstance 的 undefined reference

android - 数据库访问设计模式

java - Android-透明工具栏

java - 如何为照片编辑器制作填充方法?

java - "Cannot return a value from method whose result type is void"

c++ - 获取指针的子串