2011-03-21 2 views
4

간단한 Java Logic에 대한 자동 플로우 차트와 같은 시각화를 만들고 싶습니다.이를 위해 Java 소스 코드를 구문 분석해야합니다. 두 명의 후보자가 있습니다. ANTLRjavax.lang.model (Java 6)입니다. 어느 쪽도 쉽지 않습니다.Java 소스 코드에 대한 정보를 얻기 위해 javax.lang.model 또는 ANTLR JavaParser를 사용하는 예제/자습서

아직 달성하려는 목표에 원격으로 가까운 단일 작업 예제를 찾을 필요가 없습니다.

나는 (스위치, 대한, 부울 조건 등의 경우)

이 중 하나에 대한 간단한 예 또는 자습서가 있습니까 간단한 변수 선언, 할당 및 흐름을 찾으려면? ANTLR 예제가 거의 발견되지 않았습니다. 이들 중 상당수가 숙제가 없으면 아무 것도하지 않고 있습니다.

+0

좋은 점, 고맙습니다. 대답으로 대답했으면 받아 들였을 수도 있습니다 ... 그건 그렇고, 아마 알고 있듯이, 이것에 대한 첫 번째 Google 결과는 ANTLR입니다.) http :// /www.google.com/search?q=get+ast+java+source –

+0

도움이되는 다음 Google 검색 결과는 다음과 같습니다 (다른 사람의 의견). http://stackoverflow.com/questions/1967987/how- to-generate-ast-from-java-source-code –

+0

나는 내 의견을 약간 확장하여 대답으로 올렸다. –

답변

1

이클립스 Xtext와 함께, 그것은 후드 ANTLR을 사용하려고 할 것입니다, 그것을 시각화를 위해 이클립스 GMF와 함께 사용하는 것이 (상대) 쉽게 이클립스 플러그인을 찾을 수 있습니다.

1

Java Soot a Java Optimization Framework과 같이 제안합니다. 어떤 자바 소스를 구문 분석하는 데 도움이됩니다, CFG 및 다양한 옵션을 사용할 수 생성 할 수 있습니다.

은 또한 당신은 here

2

파서를 직접 생성하려는 특별한 이유가 있습니까? IMO를 사용하면 기존 파서가 소스 파일에 대한 데이터를 수집하기 위해 "간단하게"트래버스하는 AST를 쉽게 만들 수 있습니다. "get ast java source"라는 키워드로 즐겨 찾는 검색 엔진을 사용하면 많은 관련성이 있습니다. 당신을 위해 가능한 자바 많은 ANTLR grammars가,

당신은 물론 ANTLR을 사용할 수 있지만 : 첫 눈에

이 적합한 후보처럼 입니다.이 도구 (또는 다른 일부 파서 생성기)를 선택할 때 상당히 익숙합니다. ANTLR을 선택하신다면, ANTLR에 관한 질문에 기꺼이 답해 드리겠습니다.

행운을 빈다.