2011-12-12 6 views
3

C 소스 코드에서 Java 소스 코드 parsing을 만들고 싶습니다. 이 응용 프로그램의 목적은 내부 데이터 구조에 syntax tree을 생성하여 데이터 트리 구조를 걸어보고 스스로 분석 할 수있게하는 것입니다.C++로 Java 소스 코드 구문 분석

내 목표를 달성하는 데 도움이되는 도구는 무엇입니까?

+1

많은 도구가 있습니다. 파서 생성기 용 Google. –

+2

명백한 질문은 왜 이것을하고 싶습니까? 'javac'을 실행하는 것이 더 쉽고 쉬우 며 대신 생성 된 바이트 코드를 파싱 할 수 있습니다. –

+0

이러한 작업을 수행하면 작업중인 자료의 기본 원리를 이해하는 데 많은 도움이됩니다. E.G. 한때 SGML 파서를 작성했기 때문에 내가 알지도 못하는 많은 질문에 답할 수있었습니다. –

답변

3

아마 ANTLR이 도움이 될 수 있지만 Java 프로그램을 이해하려면 해당 프로그램에서 참조하는 관련 클래스를로드해야합니다.

+0

또한 C++의 기존 문법 일 수도 있습니다. – Agemen

+0

@Agemen : ANTLR이 C++ 소스 코드를 생성 할 수 있다는 것을 알았지 만 가상 컴퓨터를 사용하는 언어를 사용하지 않을 것이라고 결정했습니다. :-) – melter

0

시도해 볼 수도 있습니다.

http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/

그것은 C#을, 자바, C++, F 번호, VB.Net, 오베론 등과 같은 다른 포트를 가지고 있으며, 서로 다른되는 언어의위한 좋은 언어 스캐너 & 파서를 가지고있다. 그래서, 당신은 C++에서 java를 파싱하는데 사용할 수 있습니다.

+0

고마워! 나는 이것을 조사 할 것이다. :-) – melter