繁体   English   中英

Java中的C源代码AST解析器

[英]C source code AST parser in Java [closed]

我正在寻找可以从中创建全面的AST的C源代码解析器。

最好是Java库(我不想在这里使用Python-> http://code.google.com/p/pycparser/

Eclipse CDT的项目有Java编写的一个C解析器,看到我的回答对一个类似问题。

使用ANTLR并使其基于现有ANTLR语法(例如source)生成AST可能对您来说最容易。

ANTLR在此处具有Java API: http//www.antlr.org/api/Java/index.html

我们的C前端不是用Java编写的,绝对不是用Python:-}编写的,但是它为许多C语言的真实方言提供了强大的解析器。 它不只是构建AST。 它提供了预处理器,符号表,局部和全局流分析,如果您想对C做任何事情,而不仅仅是“拥有AST”,则需要这些分析器。

它建立在我们的DMS软件再造工具包之上,该工具包提供了解析和流分析的基础结构,可以使用模式将转换应用于AST,并且可以重新生成有效的源代码。

编辑,2015年7月(回应评论):DMS本身以并行编程语言PARLANSE实现,其功能类似于C,但包括细粒度的并行结构和异常处理。 DMS提供了一组用于定义语言处理的DSL:具有完全Unicode功能的词法分析器,用于语法的BNF,用于计算树形分析的属性语法以及可用于模式识别和重写源代码的源到源转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM