用C++解析Java源代码

5
我希望能够在C++中创建一个Java源代码parsing功能。这个应用程序的目的是生成一个syntax tree到内部数据结构,以便我能够遍历数据树结构并自己分析它。
哪些工具可以帮助我实现我的目标?

1
有很多工具可以完成这项任务。可以搜索解析器生成器来获取更多信息。 - Marcelo Cantos
2
显而易见的问题是,为什么你想要这样做?你可能会发现运行javac并解析生成的字节码更简单、更容易。 - Peter Lawrey
像这样做有助于深入理解你正在开发工作中所涉及的基本原理。例如,我曾经编写了一个完整的SGML解析器,这帮助我回答了许多我之前甚至不知道自己有的问题。 - Mr Lister
@MarceloCantos 那么,首先我需要选择一个解析器生成器?好的。我找到了Bison和YACC软件。这两个软件哪一个更好呢? - melter
1
@PeterLawrey:目前我正在进行一些初步研究,了解如何将语言结构分解成更小的部分。这样我就能更好地理解Java语言了-我想:-)。 - melter
显示剩余2条评论
3个回答

3
也许 ANTLR 可以帮助你,但理解一个Java程序需要加载该程序中引用的相关类。

此外,可能已经存在针对C ++的语法。 - Agemen
@Agemen:我发现ANTLR可以生成C++源代码,但我已经确定不会使用任何使用虚拟机的语言。 :-) - melter

1

1

你也可以尝试以下方法:

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

它有不同的端口,如C#,Java,C ++,F#,VB.Net,Oberon等,并且它具有用于不同语言的良好语言扫描器和解析器。因此,您可以将其用于从C ++解析Java。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接