问题标签 [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 回答
234 浏览

rascal - Why are static type errors in this example code only reported at run-time by Rascal?

According to the Rascal documentation, the language is statically typed. However the type errors are only reported on runtime.

For example, when I create this module, I expect a type error because I am assigning a real to an int variable:

When I import the module on the REPL, and finally run the function:

0 投票
1 回答
95 浏览

rascal - 未在声明中初始化时变量未知

我今天遇到了这个问题,我想知道这里是否出了问题。

然后在控制台中:

如果我这样声明它确实有效。

那么问题来了,为什么一定要在声明中初始化呢?

0 投票
1 回答
114 浏览

rascal - 为什么我不能使用地图的值而不必使用临时变量?

好的,这是我的场景:

这将导致:

到目前为止一切顺利,但现在我想这样做,但没有奏效:

所以我不能直接使用 g[1] 的值,必须使用这样的临时变量:

但是每次我想扩展我的列表时都这样做是一种拖累!我做错了什么还是这是一个很棒的功能?

理查德

0 投票
1 回答
112 浏览

rascal - 在访问表达式中,可以像案例一样标记默认值吗?

例子:

所以我想通过使用来处理所有其他情况default,我该怎么做?

0 投票
1 回答
1701 浏览

rascal - 调试流氓代码

所以我已经使用 Rascal 有一段时间了,但我想知道是否有不使用 println 和终端的支持调试?

就像在 Visual Studio 中使用 c#,单步执行代码,进入函数等等。

对我来说,这将是一个很大的帮助,可以节省时间。

0 投票
1 回答
179 浏览

grammar - 指定语法时出现流氓错误

我在流氓中有一个简单的文件,用于指定玩具语法

这很好用,但是问题是我不想写

我想写

但它被流氓拒绝为解析错误 - 即使所有

接受罚款。谁能向我解释我做错了什么?

0 投票
1 回答
121 浏览

rascal - 我的变量有注释吗?

如何检查我的变量是否有注释?

我知道这可以使用关键字为属性完成has

是否有类似的方法可以为注释执行此操作?

0 投票
1 回答
48 浏览

rascal - 限制中出现“或”时列表理解的意外结果

以下结果在我看来是一个奇怪的结果。

我预料到了这一点。

0 投票
1 回答
191 浏览

rascal - 变量(str name, int id)中的“id”起什么作用?

我正在使用 Rascal 库来访问由 Eclipse Java 编译器 (JDT.rsc) 生成的语法树。

我正在尝试修复抽象语法树的工作原理。我无法理解的一件事是“variableBinding”。想象一个非常简单的类MyClass,其中一个方法doNothing()包含一个语句,一个变量声明myVar。字符串变量的声明myVar在下面的 AST 片段中表示。

@bindings注释内部,在variableBinding键下,有一个列表,表示变量路径的连续组件myVar。最后一项表示实际变量本身,由 Id 构造函数表示variable(str name, int id)

问: id是什么意思?

它当然不是唯一的,因为当我复制该方法doNothing()并为其命名时doNothing2(),我会在 AST 中找到variable("doNothing",0)和。variable("doNothing2",0)它究竟识别什么?

0 投票
1 回答
142 浏览

rascal - 错误“找不到构造函数”

我目前正在尝试 Rascal 创建一个小型 DSL。我试图修改 Pico 示例,但是我目前被卡住了。以下代码像a = 3, b = 7 begin declare x : natural, field real @ cells blubb; x := 5.7 end解析一样完美解析示例,但implode函数失败并显示错误消息“无法找到 PROGRAM 的构造函数”。我尝试了各种构造函数声明,但似乎没有一个适合。有没有办法查看预期的构造函数的样子?

句法:

抽象的:

加载:

非常感谢,克里斯