问题标签 [rascal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
89 浏览

rascal - 如何初始化类型 int()?

尝试将类型初始化为 \int() 时,如http://tutor.rascal-mpl.org/Rascal/Libraries/analysis/m3/Core/modifiers/modifiers.html#/Rascal/Libraries/lang/中所示java/m3/AST/Declaration/Declaration.html,流氓抛出一个错误,说“预期类型,但得到了 TypeSymbol”。

这是我使用的代码:

将 Type 变量初始化为 \int() 的正确方法是什么?

0 投票
1 回答
110 浏览

java - 我在哪里可以获得 Rascal REPL 的 Java 分析库

我已经使用 Eclipse 开发了一个 Rascal 程序,但我希望能够在 REPL 中运行它。当我尝试导入一些必需的库时,出现如下错误:

Rascal 网站表示默认情况下不包含这些库,但我不知道应该从哪里获取它们以及应该如何使用它们。有没有办法让 Java 分析库在 Rascal REPL 中工作?

0 投票
2 回答
1158 浏览

clang - 如何遍历在 Rascal 中使用 clang 创建的 AST

我尝试使用 Rascal 从使用 Clang 从 Objective C 代码中创建的 AST 中计算指标。由于 Clang AST 的结构与 Rascal 中使用的结构不同,我认为它需要一些重构或变通方法才能使用它。

一种方法是编写一个解析器来翻译 AST。另一种方法是使用带有递归的正则表达式。但是 Clang AST 中有很多元素,编写解析器或函数需要一些时间。

在 Rascal 中遍历 Clang AST 是否有更省时的方法?

在 Clang AST 介绍中是 AST 的一个小样本

0 投票
1 回答
179 浏览

eclipse - Rascal/Eclipse 集成错误(无法在 Eclipse Kepler 中加载 Rascal 透视图)

我按照 Rascal 下载页面 ( http://www.rascal-mpl.org/start/ )中的说明安装了 Eclipse 和 Rascal 。

但是,当我打开 Rascal 透视图时,我在 Rascal Navigator 中收到以下错误:“无法创建部件的控件”。

此外,在错误日志中,我收到如下消息:

错误 Sat Mar 22 11:26:48 CET 2014 将事件 org.osgi.service.event.Event [topic=org/eclipse/e4/ui/model/ui/ElementContainer/selectedElement/SET] 调度到处理程序 org.eclipse 时出现异常.e4.ui.services.internal.events.UIEventHandler@37196d53

org.eclipse.swt.SWTException: 小部件被释放

我安装了:

  • 面向 RCP 和 RAP 开发人员的 Eclipse(Kepler 服务版本 2)(eclipse.buildId=4.3.2.M20140221-1700)。
  • Java JDK 8(也尝试使用 Java JDK 7)。
  • 使用更新站点安装了 Rascal。

哪个 Eclipse 版本可以与 Rascal 插件一起使用?

0 投票
1 回答
95 浏览

rascal - 节点的位置?

Rascal 植根于术语重写。它是否具有对术语重写中通常定义的术语/节点位置的内置支持,以便我可以查询子术语在术语内的位置或以其他方式查询?

0 投票
1 回答
34 浏览

rascal - 具有不同身份的相同对象?

在 Rascal 中是否可以创建具有不同身份的对象的克隆,以便它们相等但不相同?

0 投票
1 回答
94 浏览

rascal - 当我尝试翻译表达式时出现 UnsupportedOperationException

我为表达式语言定义了一种语法,实际上它更复杂,但我简化了放在这里,我定义了一些函数来为 Java 翻译这个表达式(我没有使用 Java 语法,我只是翻译成字符串)。我在调用“MAXINT”和“MININT”的语法中定义了一些常量(我不知道它是否是正确的名称),以及一些调用 translateExp 以将我在语法中定义的每个表达式转换为字符串的函数. 我尝试翻译的大多数表达式都有效,但是当表达式中出现“MAXINT”或“MININT”时不起作用并抛出 UnsupportedOperationException 我不知道为什么,例如“MAXINT - 1”。有人知道为什么并且可以帮助我吗?另一个引发 UnsupportedOperationException 的问题是,当我尝试翻译一些具有多个加号 (+) 或减号 (-) 的表达式时,例如“1+1+1”,有人知道为什么吗?

我的模块的语法和功能:

这就是发生的事情:

0 投票
1 回答
311 浏览

rascal - 使用 M3 库阅读 java 注释

我想知道 Rascal 是如何读取这样的 Java 注释的:

或这个:

createAstFromFile 方法似乎跳过了这些注释。

提前致谢。

0 投票
3 回答
84 浏览

rascal - 如何处理语法中的多个选项

我想知道如何在没有针对每个可能排列的具体模式匹配的情况下处理多个选项。

以下是我面临的问题的简化示例:

但是,这给出了错误消息:

当我知道它在那里时,我如何摆脱它?

0 投票
1 回答
64 浏览

if-statement - if 语句中的流氓语法错误(新手 q)

以下有什么问题?

我在最后一行出现语法错误,就在 if 之后

模块 mytest

谢谢,--丹尼斯。