3

我可以从 Rascal 调用 Java 函数吗?我想编写 RASCAL 分析器,但想通过调用 java 函数来访问 CFG 节点。这在流氓中是否可能。简而言之,我可以包装现有的 java 应用程序并从 RASCAL 调用它吗

4

1 回答 1

4

当然。它的工作原理如下。

  1. 将 Eclipse 中的 Rascal 项目也视为 Java 项目。
  2. 添加源代码和库并编译这些东西。
  3. 了解 pdb.values API(特别是IValueFactory
  4. 在流氓写这样的东西:
    @javaClass{com.mypackage.MyClass}
    java int myFunction(str arg);
  1. 然后在Java中:
     包 com.mypackage;    
     公共类 MyClass {
        私有最终 IValueFactor vf;
        公共MyClass(IValueFactory vf){
          这个.vf = vf;
        }
        IValue myFunction(IString x) {
           返回 vf.integer(-1);
        }
     }  
于 2013-10-31T11:36:23.957 回答