作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 funset_avltree
库,但编译器生成无效的 C 代码。我正在使用 ATS/Postiats 版本 0.2.10。
我的代码相当简单:
(* ast.sats *)
staload "libats/SATS/funset_avltree.sats"
datatype ast =
| ast_var of string
fun free_vars (ast : ast) :<> set string
(* ast.dats *)
#include "share/atspre_staload.hats"
staload "./ast.sats"
staload "libats/SATS/funset_avltree.sats"
dynload "libats/DATS/funset_avltree.dats"
implement free_vars (ast : ast) : set string =
case+ ast of
| ast_var name => funset_sing name
funset
和
funset_listord
.我一定错过了一些微不足道的东西。我是否需要包含某些内容或将某些标志传递给编译器?
最佳答案
根本原因是您没有静态加载库提供的 AVL 树模板。
在错误消息中,PMVtmpltcstmat
通常表示模板有问题。通常情况是程序员忘记包含模板,或者忘记提供模板变量。你是第一种情况。
请添加这一行,
staload _ = "libats/DATS/funset_avltree.dats"
dynload
当您有需要评估的“全局”值时需要。在你的情况下,你不需要
dynload
avl 树库。此外,在您自己的文件中
ast.dats
,没有这样的全局值。你可以定义
#define ATS_DYNLOADFLAG 0
ast.dats
生成动态加载代码.
关于compiler-errors - 如何使用 funset_avltree 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39710462/
我正在尝试使用 funset_avltree库,但编译器生成无效的 C 代码。我正在使用 ATS/Postiats 版本 0.2.10。 我的代码相当简单: (* ast.sats *) staloa
我是一名优秀的程序员,十分优秀!