首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从REPL外部运行Rascal程序

从REPL外部运行Rascal程序
EN

Stack Overflow用户
提问于 2015-04-14 18:43:11
回答 2查看 287关注 0票数 2

我非常希望能够在REPL之外运行一些Rascal的程序(例如,作为脚本的一部分,或者从另一个程序调用)。我使用Rascal的是一个更大的框架中的中间阶段,所以我想知道从另一个程序中集成执行Rascal代码的最佳方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-21 19:03:41

现在,最好的方法是将您的代码与Rascal可执行的jar一起打包。有一个用于调用Rascal代码的方便类JavaToRascal。有时,使用IRascalSearchPathContributor将自己的模块添加到Rascal搜索路径需要一些思考,但是如果您包含一个具有正确属性的RASCAL.MF文件,那么所有这些都应该自动进行。

如果您正在考虑Eclipse插件,那么最好的方法是让您的插件依赖于流氓eclipse插件,并使用ProjectEvaluatorFactory访问解释器。

注意:由于我们正在进入编译系统,您为这种集成编写的代码将发生变化。这就是我们还没有记录从Java调用Rascal的API的原因。

票数 3
EN

Stack Overflow用户

发布于 2020-02-10 10:34:02

当我思考同样的问题时,这是我想出的(也许微不足道的)答案:

代码语言:javascript
复制
java -jar /path/to/rascal-shell-stable.jar path/to/myProgram.rsc

您必须知道Rascal从当前目录中计算模块名(不知道它是否支持类似于Java的CLASS_PATH),因此在上面的示例中,myProgram.rsc应该有一个module path::to::myProgram的模块声明。计算和声明的模块名称必须匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29635063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档