我正在尝试将java字节码解析为中间数据结构供以后使用。我偶然发现了ASM。它强大而稳定。但是,我很难将二进制指令转换回正常的java表达式和语句。有人能指出我的方向吗?
交易数据结构可能如下所示:
ClassInfo
- FieldInfo
- MethodInfo
-- ForLoopStatement
-- WhileStatement
--- AssignmentExpression
--- FunctionCallExpression
...
基本上它只不过是java语言的抽象。
谢谢。
答案 0 :(得分:2)
在db4o,我们使用具有讽刺意味的BLOAT library来从方法体中检索完全构造的AST。它对我们来说运作良好,但它不是基于ASM。
答案 1 :(得分:1)