Rascal 命令行 REPL 中的输出被截断
Output truncated in Rascal Commandline REPL
我正在使用 Rascal 开发命令行 REPL 环境,并尝试查看分析树和来自 The Ambiguity 库的输出等内容。但是,这些在命令行中被截断了。例如:
rascal>diagnose(parse(|cwd:///Core/tests/F0.func|));
list[Message]: [
info(
"Ambiguity cluster with 2 alternatives",
|cwd:///Core/tests/F0.func|(0,0,<1,0>,<1,0>)),
info(
"Production unique to the one alternative: Exp = app: Exp Exp ;",
|cwd:///Core/tests/F0.func|(0,0,<1,0>,<1,0>)),
info(
"Production unique to th...
我有兴趣查看此输出的其余部分。是否有我可以更改的设置,或者我可以通过某种方式查看此信息。谢谢。
这是出于性能原因。 (Terminal/Shells 不喜欢打印巨大的字符串)
您可以 import IO
并使用 iprintln
to get the indented print without any truncating. For performance reasons you could als use iprintToFile
:
import IO;
r = diagnose(parse(|cwd:///Core/tests/F0.func|));
iprintln(r)
作为替代方案,您可能希望使用 util::ValueUI::text
在编辑器中获取值:(仅适用于 eclipse)
import util::ValueUI;
r = diagnose(parse(|cwd:///Core/tests/F0.func|));
text(r, 4); // indentation level is 4
最后,我们有时会使用 util::Clipboard
:
将值复制到剪贴板
import util::Clipboard;
r = diagnose(parse(|cwd:///Core/tests/F0.func|));
copy(r)
然后您可以使用 OS 快捷方式将它们粘贴到任何地方。
我正在使用 Rascal 开发命令行 REPL 环境,并尝试查看分析树和来自 The Ambiguity 库的输出等内容。但是,这些在命令行中被截断了。例如:
rascal>diagnose(parse(|cwd:///Core/tests/F0.func|));
list[Message]: [
info(
"Ambiguity cluster with 2 alternatives",
|cwd:///Core/tests/F0.func|(0,0,<1,0>,<1,0>)),
info(
"Production unique to the one alternative: Exp = app: Exp Exp ;",
|cwd:///Core/tests/F0.func|(0,0,<1,0>,<1,0>)),
info(
"Production unique to th...
我有兴趣查看此输出的其余部分。是否有我可以更改的设置,或者我可以通过某种方式查看此信息。谢谢。
这是出于性能原因。 (Terminal/Shells 不喜欢打印巨大的字符串)
您可以 import IO
并使用 iprintln
to get the indented print without any truncating. For performance reasons you could als use iprintToFile
:
import IO;
r = diagnose(parse(|cwd:///Core/tests/F0.func|));
iprintln(r)
作为替代方案,您可能希望使用 util::ValueUI::text
在编辑器中获取值:(仅适用于 eclipse)
import util::ValueUI;
r = diagnose(parse(|cwd:///Core/tests/F0.func|));
text(r, 4); // indentation level is 4
最后,我们有时会使用 util::Clipboard
:
import util::Clipboard;
r = diagnose(parse(|cwd:///Core/tests/F0.func|));
copy(r)
然后您可以使用 OS 快捷方式将它们粘贴到任何地方。