问题标签 [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.
abstract-syntax-tree - 检查 Rascal Java m3 AST 中的修饰符
Rascal m3 Java 抽象语法树中的修饰符节点是否存在?我想检查某个方法是公共的、私有的还是受保护的。
在描述中,声明了一个抽象数据类型,但是在我尝试访问的任何文件中,都没有找到匹配项。
在其他 ADT 中也没有与修饰符的链接。在我尝试查找任何修饰符的代码下方。
public void visitModifier(loc file){
Declaration decl = createAstFromFile(file, true);
visit(decl){
case \private(): println("private");
case \public(): println("public");
case \protected(): println("protected");
}
}
rascal - 带插值的字符串中的边距字符
在字符串文字中,边距字符(单引号)表示应忽略边距字符之前的行的初始部分。是否有一个互补的“右边距”字符,表示同一行上的所有内容都应该被忽略?
(我意识到,当在字符串的插值表达式中编写有点冗长的代码时,这将很有用。为了使该代码更具可读性,我想将其拆分为多行,但以这种方式引入的换行符不应该是字符串文字。将换行符放在 <...> 内看起来很难看。)
rascal - 编写一个函数来进行类型转换
我正在尝试编写一个进行类型转换的函数,这似乎是 Rascal 代码中经常发生的活动。但我似乎无法正确处理。以下及其几个变体都失败了。
有人可以帮我吗?
更多信息:我经常对“Type Var”形式的模式(即针对变量声明)使用模式匹配,以告诉 Rascal 表达式具有某种类型,例如
这通常是在我知道 myexp 的类型为 map[str,value] 的情况下,但忽略匹配会使 Rascal 的类型检查机制抱怨。为了更好地防御错误,我通常将匹配结构包装在 if-then-else 中,如果匹配失败,则会引发异常:
我想使用一个通用的函数来缩短所有类似的代码片段,以便我可以编写
PS。另请参阅如何在 Rascal 中将值类型转换为 Map?
rascal - 如何在 Rascal 语法规范中表达 SDF2 置换短语语法 (<<..>>)
我正在尝试使用 Rascal 规范 VS COBOL II。COBOL 中有许多具有所谓的置换短语的结构,它们在 SDF 中直接使用置换短语语法 <<..>> 进行处理。我无法找到如何使用 Rascal 完成此操作。我当然是新手,但我找不到答案。
java - 跨 Eclipse 项目分析 Java 代码
我们想使用 Rascal 在 Eclipse 工作区的 Java 项目集合中查找所有未使用的公共方法。我刚刚学习了如何在 Eclipse 中使用createM3FromEclipseProject
并导航它来创建 Java 项目的模型。但这仅考虑了一个项目。如何跨工作区中的所有 Java 项目执行此分析?
java - 将 Rascal 项目与 Java 项目集成
我用 Rascal 开发了一个代码生成器,我想将它与用 Java 开发的工具集成。我试图用eclipse为Rascal项目生成一个jar文件放入Java项目中,但它只是将项目的Rascal文件放入jar中。我搜索了 Rascal Tutor 和这里,但我什么也没找到。
有人知道我该怎么做吗?
rascal - 语法着色如何工作
在语法中进行语法着色的正确方法是什么?我相信它是这样的:
但这对我不起作用。该文件只是没有解析错误的黑色文本(它在 IMP 编辑器中打开,我看到它创建了一个解析器)。
eclipse - 无法在 Eclipse 中启动 Rascal 文件:'没有这样的 java 方法:org.rascalmpl.library.Prelude.remove'
当尝试在 Eclipse 中运行任何流氓文件时(通过右键单击流氓导航器中的文件并按Run as → Rascal Application
),我收到此错误
(/
这里用作行分隔符。)
我以前在这个安装上没有遇到过这个问题。
更新
似乎还有更多的东西不起作用。
如果我导入一个标准模块,比如
我收到此错误:
如果我尝试使用该syntax
构造:
然后我得到这个错误:
因此,问题可能比简单地无法运行文件/将它们加载到控制台中更为根本。
context-free-grammar - 使用动态分隔符解析 CSV 文件
我尝试解决以下解析问题,但失败了:
我有一个 CSV 文件,文件中的某个命令可以更改分隔符,当前分隔符可以用斜杠转义。看这个例子:
这可能吗?如何?
eclipse - 导航到数据类型或函数的实现
我想知道 java 的 Eclipse 中是否有相当于“Ctrl+左键单击”的功能,这将我带到 Rascal 中方法或数据类型的实现。我发现每次都通过“Ctrl+H”搜索来对引用列表进行排序有点困难。
谢谢,