Инструменты для анализа синтаксиса кода - PullRequest
0 голосов
/ 01 марта 2011

Я хочу просмотреть весь доступный исходный код 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" );

1 Ответ

3 голосов
/ 01 марта 2011

Вам нужен анализатор языка.Единственное, о чем я могу подумать, это http://www.antlr.org/. В итоге вы используете грамматику, которая уже существует для Java, и анализируете файл и ищете токены.Например, если, для, когда и т.д. ... все ключевые слова, которые вам скажет парсер.Но 123 не является ключевым словом.

...