TAMAR is a system for transfer learning using MLNs by performing mapping and revision of previously learned MLNs. From https://www.cs.utexas.edu/~ml/mlns/#tamar
系统下载地址:https://www.cs.utexas.edu/~ml/mlns/#tamar
运行环境:Centos 7
运行时,报错:
(1)#include <set.h>: 找不到set.h
解决方法:去掉.h, #include <set>
(2) 运行 make transfered-learnstruct, 报错:
In file included from /ut-alchemy/src/parser/fol.y:6:0:
/ut-alchemy/src/parser/follex.y:205:10: error:‘ZZ_NUM’ not yet declared in this scope
return ZZ_NUM;
^
In file included from /ut-alchemy/src/parser/fol.y:6:0:
/ut-alchemy/src/parser/follex.y:214:10: error:‘ZZ_NUM’ not yet declared in this scope
return ZZ_NUM;
^
In file included from /ut-alchemy/src/parser/fol.y:6:0:
/ut-alchemy/src/parser/follex.y:223:10: error:‘ZZ_NUM’ not yet declared in this scope
return ZZ_NUM;
^
In file included from /ut-alchemy/src/parser/fol.y:6:0:
/ut-alchemy/src/parser/follex.y:232:44: error:‘ZZ_CONSTANT’ not yet declared in this scope
if (zzdomain->isConstant(yytext)) return ZZ_CONSTANT;
^
/ut-alchemy/src/parser/follex.y:233:10: error:‘ZZ_STRING’ not yet declared in this scope
return ZZ_STRING;
^
In file included from /ut-alchemy/src/parser/fol.y:6:0:
/ut-alchemy/src/parser/follex.y:245:12: error:‘ZZ_TYPE’ not yet declared in this scope
return ZZ_TYPE;
^
/ut-alchemy/src/parser/follex.y:250:12: error:‘ZZ_PREDICATE’ not yet declared in this scope
return ZZ_PREDICATE;
^
/ut-alchemy/src/parser/follex.y:255:12: error:‘ZZ_FUNCTION’ not yet declared in this scope
return ZZ_FUNCTION;
^
/ut-alchemy/src/parser/follex.y:260:12: error:‘ZZ_CONSTANT’ not yet declared in this scope
return ZZ_CONSTANT;
^
/ut-alchemy/src/parser/follex.y:263:10: error:‘ZZ_VARIABLE’ not yet declared in this scope
return ZZ_VARIABLE;
^
In file included from /ut-alchemy/src/parser/fol.y:6:0:
/ut-alchemy/src/parser/follex.y:329:10: error:‘ZZ_EQEQ’ not yet declared in this scope
return ZZ_EQEQ;
^
In file included from /ut-alchemy/src/parser/fol.y:6:0:
/ut-alchemy/src/parser/follex.y:338:10: error:‘ZZ_DOTDOTDOT’not yet declared in this scope
return ZZ_DOTDOTDOT;
解决方法:在fol.h中,添加声明:
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
ZZ_NUM = 258,
ZZ_DOTDOTDOT = 259,
ZZ_STRING = 260,
ZZ_EQEQ = 261,
ZZ_INCLUDE = 262,
ZZ_PREDICATE = 263,
ZZ_FUNCTION = 264,
ZZ_CONSTANT = 265,
ZZ_VARIABLE = 266,
ZZ_TYPE = 267,
ZZ_FORALL = 268,
ZZ_EXIST = 269,
ZZ_EQUIV = 270,
ZZ_IMPLY = 271
};
#endif
/* Tokens. */
#define ZZ_NUM 258
#define ZZ_DOTDOTDOT 259
#define ZZ_STRING 260
#define ZZ_EQEQ 261
#define ZZ_INCLUDE 262
#define ZZ_PREDICATE 263
#define ZZ_FUNCTION 264
#define ZZ_CONSTANT 265
#define ZZ_VARIABLE 266
#define ZZ_TYPE 267
#define ZZ_FORALL 268
#define ZZ_EXIST 269
#define ZZ_EQUIV 270
#define ZZ_IMPLY 271
(3)运行过程中,出现各种函数没有声明:
解决方法:该所有函数都包括在string.h中,需要在报错的文件中添加#include <string.h>