我可以从 Rascal 调用 Java 函数吗?我想编写 RASCAL 分析器,但想通过调用 java 函数来访问 CFG 节点。这在流氓中是否可能。简而言之,我可以包装现有的 java 应用程序并从 RASCAL 调用它吗
1 回答
4
当然。它的工作原理如下。
- 将 Eclipse 中的 Rascal 项目也视为 Java 项目。
- 添加源代码和库并编译这些东西。
- 了解 pdb.values API(特别是
IValueFactory) - 在流氓写这样的东西:
@javaClass{com.mypackage.MyClass}
java int myFunction(str arg);
- 然后在Java中:
包 com.mypackage;
公共类 MyClass {
私有最终 IValueFactor vf;
公共MyClass(IValueFactory vf){
这个.vf = vf;
}
IValue myFunction(IString x) {
返回 vf.integer(-1);
}
}
于 2013-10-31T11:36:23.957 回答