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

annotations - 摆脱注释

我们知道如何声明新的注解以及如何将它们分配给节点。

执行以下操作的好方法是什么?

  • 从节点中删除特定注释
  • 丢弃节点的所有注释
0 投票
2 回答
115 浏览

rascal - 将 list[value] 转换为 map[value,int countOccurences]

有没有一种优雅的方法来计算重复并将结果写入地图。

我知道如何使用传统循环等来做到这一点,但我只是很好奇:有没有一种很好的方法(例如 oneliner)使用例如理解、reducers 或更传统的 Rascal API 来做到这一点。

所以例如转换:

发送,

乔斯

0 投票
1 回答
65 浏览

rascal - 使 Rascal 结构看起来更好

为了保持结构清晰,可以命名它们。所以基本上我在 Rascal 中要求一个“结构”。所以例如:

至:

发送

乔斯

0 投票
1 回答
69 浏览

rascal - 更改集合中元素的属性并将其放回集合中

问题来了,

假设我们有一个数据类型和一组数据类型:

我想遍历集合的元素并更改元素如下:

0 投票
2 回答
95 浏览

rascal - Rascal 中布局框的问题

我在用图中的数字布局动态生成的数字时遇到了很大的问题。

我期待以下内容:

  • 如果我为一个图形指定 size(),这个图形永远不会变小。这是在大小财产合同中。
  • 如果我打包它会重新排列数字而不使它们小于指定的尺寸()。它将“重新排列并在其周围绘制一个框”(就它是一个新图形而言)
  • 如果整个图形无法显示在 Eclipse 窗口中,我会自动获得(外部)滚动条。

所以如果我执行这个:

我期待这样的东西(或者我不在乎垂直布局),如果没有足够的空间,我希望在图的下方和右侧有滚动条:

这是我所期望的

但是我得到的是以下内容。但这不是我要求的。我没有要求单独的滚动条(如果需要,我想要外部滚动条)。蓝色和红色边框(由于间隙)也不可见。

我如何才能让这更符合我的预期,为什么它会表现得如此?

我得到了什么

0 投票
1 回答
41 浏览

rascal - 字符串的字节长度

Rascal Lib中是否有一个函数可以获取字符串的字节长度?

有点类似于 IO 中的 getFileLength() 函数。

我需要它来设置位置值的偏移量。

0 投票
2 回答
81 浏览

rascal - 如何查看访问的默认值是多少?

假设我有:

如何打印(在本例中为 x)无法匹配的内容?

我试过了:

发送,

乔斯

0 投票
2 回答
42 浏览

rascal - 流氓堆栈的最佳方式?

我确信 Rascal 已经内置了对 Stack 的支持(例如,通过堆栈推送/弹出的表达式 eval),但我找不到任何东西。

所以我现在用这个。但是有更好的方法吗?

流行音乐:

0 投票
2 回答
82 浏览

rascal - 地点补充

有没有办法将 2 个位置与特定的行和列相互添加?

就像是:

结果:

我目前正在使用 AST,我想选择一个块,但我找不到方法,所以我尝试添加每个语句的位置,但这不起作用。

0 投票
1 回答
118 浏览

rascal - 增加位置的偏移量并点击位置

我在单击位置时遇到问题。我所做的事情是从具有该函数的方法创建一个 AST:

其中方法只是一个实例

例如,当我访问那棵树并想要获取 if 语句时,我可以调用

源代码将被打印出来,我可以点击它,eclipse 将使用正确的 if 语句进入正确的类。表格是这样的:

但是当我使用以下方法从文件中获取 AST 时:

并提供一个方法甚至一个文件的类,我也可以访问它并获得相同的 if 语句并打印它,但它的形式不同,我无法点击它。为什么不 ?

它的形式如下所示:

我还注意到,在打印每个位置后,偏移量会大幅增加。

如何使其可点击到正确的位置?我认为它必须与偏移量和位置的形式有关。我尝试使用以下方法:

来自 Registry 类,但这也不起作用,并试图查看 |loc 定义的声明,但也不存在。

提前致谢。