我想知道是否有人知道可以在Java中以编程方式使用的现有C ++解析器/代码模型。我正在寻找类似于Eclipse CDT的东西,它可以用作Java的库(并且不依赖于Eclipse)。提前谢谢。
答案 0 :(得分:2)
您不想构建自己的C ++解析器。它会杀了你。
您已经了解Eclipse CDT项目: www.ibm.com/developerworks/library/os-ecl-cdt3/index.html AFAIK,那个解析器,边缘有点模糊。因人而异。 优点:在Java(如果你关心的话,在Eclipse中)。 如果你想处理C ++,并且用Java做,那可能就是这样 是你唯一的实际选择。
还有我们的DMS软件再造工具包C ++前端: http://www.semdesigns.com/Products/FrontEnds/CppFrontEnd.html 适用于各种C ++方言(ANSI,GNU,MSVC 2005/2008), 通过火灾测试了数百万行代码。 从您的角度来看缺点:不是Java。 但是如果你真的想要分析C ++,那就制定一个规则 你只愿意用Java做它可能不会 为您提供最好的服务。
答案 1 :(得分:0)
对于像Lex,Yacc,Antlr,Jack等解析器生成器,有一些不完整的LALR语法。
C ++有一个不可判定的语法语法,所以LALR和BNR语法总是不完整的,但只要你不想编写C ++编译器,它们应该足够好了。
答案 2 :(得分:-1)
JavaCC有一些C ++语法。试试谷歌。