17

我试图让 SML/NJ 在顶层打印出结果,而不用到处都放 # 符号。

根据一些旧文档(以及 2001 年该新闻组的帖子),应该可以使用Compiler.Control.Print.printDepth

但是,在 SML/NJ 版本 110.7 上,这只会给出一个错误:

- Compiler.Control.Print.printDepth := 100;
stdIn:1.1-30.8 Error: unbound structure: Control in path Compiler.Control.Print.printDepth
4

1 回答 1

18

将来您可能不想更精确。例如,您可以提供一些示例输出和指向您找到上述内容的链接。

如果我理解你的问题是正确的,那么下面的最后一行是你的问题吗?(代码片段

- datatype tree = leaf | node of int * tree * tree;
datatype tree = leaf | node of int * tree * tree 

- val t = node (1, node (2, node (3, leaf, leaf), leaf), leaf);
val t = node (1,node (2,node #,leaf),leaf) : tree 

那么Control.Print结构就是您要寻找的。所以只需放下 Compiler零件并使用

Control.Print.printDepth := 100;

请注意,这是特定于 SML/NJ 的,而不是 ml-yacc 本身。

于 2011-02-21T23:49:34.947 回答