首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从文件中创建Rascal

如何从文件中创建Rascal
EN

Stack Overflow用户
提问于 2016-10-31 19:03:53
回答 1查看 736关注 0票数 0

我已经在Rascal站点上找到了文档:http://tutor.rascal-mpl.org/Rascal/Libraries/lang/java/m3/AST/createAstFromFile/createAstFromFile.html,但老实说,我不知道如何应用它。有人能给我举个例子,说明如何在代码中应用这个方法吗?我尝试过一些东西,但要么是缺少修饰符"java“,要么是未声明的变量错误,这对我一点帮助都没有。

我现在被困在:

代码语言:javascript
复制
ast = createAstFromFile(l,true,"1.8");

另外两个问题:“宣言”在此补充了什么?在这个上下文中,collectBindings布尔值意味着什么?(文件与Rascal的这一部分不太清楚)

其他信息:

代码语言:javascript
复制
rascal>import lang::java::jdt::m3::Core;
ok
rascal>createM3FromEclipseFile(|project://smallsql/src/smallsql/tools/CommandLine.java|);
|plugin://rascal_eclipse/src/org/rascalmpl/eclipse/library/lang/java/jdt/Project.rsc|(276,127,<11,0>,<12,47>): IO("**smallsql does not exist**")
        at somewhere plugin://rascal_eclipse/src/org/rascalmpl/eclipse/library/lang/java/jdt/Project.rsc|(276,127,<11,0>,<12,47>))
        at classPathForProject(|plugin://rascal_eclipse/src/org/rascalmpl/eclipse/library/lang/java/jdt/m3/Core.rsc|(1776,2,<54,55>,<54,57>))
        at $root$(|prompt:///|(0,82,<1,0>,<1,82>))


rascal>projects();
set[loc]: {
  |project://smallsql|,
  |project://MetricsTest|,
  |project://Analysis|,
  |project://hsqldb|
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-04 16:12:43

我也有过类似的运气,但我找到了以下解决办法:

代码语言:javascript
复制
import lang::java::jdt::m3::AST;
createAstsFromEclipseProject(|project://myProject|,true)

这将给你所有的项目,你可以选择你需要从其中之一。

问题在于编译器参数(类路径等)。当给定一个项目时,该函数可以从项目配置中派生元信息,从而使其正常工作。

  • collectBindings意味着不仅解析了文件,还执行了名称绑定和类型绑定。这是有用的,但需要更多的时间。
  • Declaration只是声明某事的一般类型的东西。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40348842

复制
相关文章

相似问题

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