Must unify problem
Posted: 5 Feb 2017 16:35
Hello Thomas,
please check this code. The must unify produces an access violation (in VIP 7502):
please check this code. The must unify produces an access violation (in VIP 7502):
Code: Select all
open
pfc\syntax\,
core,
syntax
domains
abstractSyntaxTree = abstractSyntaxTree(
symbol RuleName,
cursor Cursor,
gsAbstractSyntaxTree* GsAstList).
gsAbstractSyntaxTree =
curAst_t(
string TerminalString,
cursor Cursor);
curAst_nt(abstractSyntaxTree Ast).
class predicates
getList : () -> gsAbstractSyntaxTree*.
clauses
getList() = [curAst_t("", Cursor), curAst_nt(Ast), curAst_nt(Ast), curAst_nt(Ast), curAst_nt(Ast), curAst_nt(Ast)] :-
SourceFile = inputSourceFile::new(""),
PackedCursor = packCursor(0, 0),
ShortCursor = shortCursor(SourceFile, PackedCursor, PackedCursor),
Cursor = cursor(ShortCursor, [], []),
Ast = abstractSyntaxTree("", Cursor, []).
clauses
run() :-
List = getList(),
[curAst_t(_, _), curAst_nt(_), curAst_nt(_), curAst_nt(_), curAst_nt(_), curAst_nt(_)] == List.