从RASCAL调用java函数

时间:2013-10-31 09:39:11

标签: rascal

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

调用它

1 个答案:

答案 0 :(得分:4)

不确定。它的工作原理如下。

  1. 将Eclipse中的Rascal项目视为Java项目。
  2. 添加源代码和库,然后编译。
  3. 了解pdb.values API(特别是IValueFactory
  4. 在Rascal中写下这样的东西:
  5.     @javaClass{com.mypackage.MyClass}
        java int myFunction(str arg);
    
    1. 然后在Java中:
    2.      package com.mypackage;    
           public class MyClass {
              private final IValueFactor vf;
              public MyClass(IValueFactory vf) { 
                this.vf = vf;
              }
              IValue myFunction(IString x) {
                 return vf.integer(-1);
              }
           }