问题标签 [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 投票
1 回答
279 浏览

map - 如何在 Rascal 中将值类型转换为 Map?

我有一个存储地图的值类型变量,但我无法通过提供键来访问这些值:

如何解析要映射的值以便能够检索我的值?

0 投票
1 回答
187 浏览

figure - 悬停在流氓图中的工具提示文本

是否可以在 Rascal 中生成一个在悬停期间显示工具提示文本的图形?我的意思是黄色的小东西,就像HTML 中标签的title属性所规定的那样。<a>

0 投票
1 回答
200 浏览

treemap - Rascal MPL 树形图平方化

我应该如何让流氓树图平方?

目前它没有正确平方,如下图所示。

树形图示例

Treemap文件的源代码中,我可以看到注释Based on Mark Bruls; Kees Huizing and Jarke J. vanWijk. "Squarified Treemaps"。但是我没有看到源代码中发生了平方化。

我需要寻找其他地方还是没有实施?

编辑

所以我尝试了这个。最简单的例子是:

我最小化了可视化窗口,所以它实际上是 500x500(我也尝试了 250x500,反之亦然)。

在所有情况下,它都会呈现有利于行:

更新示例

0 投票
0 回答
80 浏览

rascal - M3 枚举器没有自己的方案?

在使用 M3 模型时,我们讨论了 M3 模型中的枚举器。虽然可以通过检查 'java+interface:///java/lang/Enumerator' 的 @extends 注释来获取 M3 模型中包含的枚举器,但我想知道为什么枚举器没有得到自己的方案('java+枚举')。没有枚举器计划是否有特定原因?

0 投票
1 回答
143 浏览

hyperlink - 使用 Rascal 可视化和回调促进通过 Eclipse 导航

我正在使用 rascal 对代码库进行可视化,目前我正在尝试通过让用户单击呈现的图形来使其具有交互性。

我想要做的是让用户单击代表分析代码部分的对象,然后将用户带到分析代码的适当部分。

我注意到loc,当在普通控制台中评估该类型时,会产生一个指向它所描述位置的超链接。但是,当loc从回调中打印该值时,它不是。

2个可能的解决方案

  • 使loc输出再次可点击。
  • 直接控制 Eclipse GUI,立即向用户显示代码。

以上任何一种可能吗?如果没有,有替代方案吗?

接受的解决方案从用户单击rendered开始,Figure到用户看到代码结束,而无需用户手动导航到相应的 Java 文件(用户友好!)。

0 投票
1 回答
110 浏览

pattern-matching - Rascal 中的函数模式、节点和值类型

为什么以下工作:

...虽然这失败了:

0 投票
2 回答
725 浏览

java - 如何使用流氓从java eclipse项目中提取特定语句

我是 rascal 的新手,想从 java 项目中提取条件语句(if、while 等)。

最好的方法似乎在http://tutor.rascal-mpl.org/Rascal/Libraries/analysis/m3/Core/containment/containment.html#/Rascal/Libraries/analysis/m3/AST/AST.html

到目前为止我的代码是

但这会返回所有语句,包括注释。如何过滤语句以仅返回条件语句 if、while、for 等?

0 投票
0 回答
209 浏览

rascal - Rascal Java 方法 AST 是否还包含用于使用参数调用 super 的 super() 表达式?

当我查看 Rascal 中的 Java 方法 AST 声明时,我在 Expression\super()节点下看到。

但是在 Java 中,您也可以super()使用参数调用。所以,我希望看到类似 : 的东西\super(list[Expression] arguments),但我没有看到。

它是通过\methodCall()还是以其他方式追踪的?

我自己无法尝试,因为当我尝试从带有getMethodASTEclipse()方法的构造函数构建 AST 时出现错误。getMethodASTEclipse()我已经在 GitHub 中打开了一个关于此错误的问题。

0 投票
2 回答
166 浏览

rascal - Rascal 是否支持解析和转换 Javascript?

我正在尝试以自动方式对 javascript 文件(实际上是多种编程语言,但 javascript 暂时可以)进行修改。

我遇到了 Rascal 作为一种元编程语言。我只是想知道它是否已经支持解析和转换 Javascript,就像它对 Java 的方式一样(通过 lang::Java)?

我应该在哪里寻找,开始进行简单的 AST 转换,例如在返回之前添加语句等?

0 投票
1 回答
148 浏览

rascal - 流氓循环内的onMouseDown指针

在下面的代码中,我希望每个框(图)都有自己的 mousedown。但是渲染后所有的盒子都使用同一个文件,最后读取的文件。

任何人都知道如何解决这个问题?