diff --git a/C/c_interface.c b/C/c_interface.c index 63f38fe4c..8a8a32fe7 100755 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -3652,7 +3652,7 @@ Term YAP_UnNumberVars(Term t) { } int YAP_IsNumberedVariable(Term t) { - return IsApplTerm(t) && FunctorOfTerm(t) == FunctorVar && + return IsApplTerm(t) && FunctorOfTerm(t) == FunctorDollarVar && IsIntegerTerm(ArgOfTerm(1, t)); } diff --git a/C/userpreds.c b/C/userpreds.c index f40c07f98..6dbb4a0e6 100644 --- a/C/userpreds.c +++ b/C/userpreds.c @@ -558,7 +558,7 @@ static int p_grab_tokens() { char ch, IdChars[256], *chp; IdFunctor = FunctorId; - VarFunctor = FunctorVar; + VarFunctor = FunctorDollarVar; p0 = p; ch = Yap_PlGetchar(); while (1) { diff --git a/C/utilpreds.c b/C/utilpreds.c index 64184d8b7..d50674972 100644 --- a/C/utilpreds.c +++ b/C/utilpreds.c @@ -4584,7 +4584,7 @@ numbervar(Int id USES_REGS) { Term ts[1]; ts[0] = MkIntegerTerm(id); - return Yap_MkApplTerm(LOCAL_FunctorVar, 1, ts); + return Yap_MkApplTerm(FunctorDollarVar, 1, ts); } static Term @@ -4592,7 +4592,7 @@ numbervar_singleton(USES_REGS1) { Term ts[1]; ts[0] = MkIntegerTerm(-1); - return Yap_MkApplTerm(LOCAL_FunctorVar, 1, ts); + return Yap_MkApplTerm(FunctorDollarVar, 1, ts); } static void @@ -4904,7 +4904,7 @@ unnumber_complex_term(CELL *pt0, CELL *pt0_end, CELL *ptf, CELL *HLow, int share *ptf++ = d0; /* you can just unnumber other extensions. */ continue; } - if (f == FunctorVar) { + if (f == FunctorDollarVar) { Int id = IntegerOfTerm(ap2[1]); ground = FALSE; if (id < -1) { diff --git a/C/write.c b/C/write.c index 1e087b870..0c5eb1b33 100644 --- a/C/write.c +++ b/C/write.c @@ -1117,14 +1117,17 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg, if (op > p) { wrclose_bracket(wglb, TRUE); } - } else if (wglb->Handle_vars && functor == LOCAL_FunctorVar) { + } else if ( functor == FunctorDollarVar) { Term ti = ArgOfTerm(1, t); if (lastw == alphanum) { wrputc(' ', wglb->stream); } - if (!IsVarTerm(ti) && - (IsIntTerm(ti) || IsCodesTerm(ti) || - IsAtomTerm(ti) || IsStringTerm(ti) )) { + if (wglb->Handle_vars && + !IsVarTerm(ti) && + (IsIntTerm(ti) || + IsCodesTerm(ti) || + IsAtomTerm(ti) || + IsStringTerm(ti) )) { if (IsIntTerm(ti)) { Int k = IntOfTerm(ti); if (k == -1) { diff --git a/H/iatoms.h b/H/iatoms.h index 47a3b8bbd..92510a428 100644 --- a/H/iatoms.h +++ b/H/iatoms.h @@ -390,8 +390,8 @@ AtomUserErr = Yap_LookupAtom("user_error"); AtomUserIn = Yap_LookupAtom("user_input"); AtomUserOut = Yap_LookupAtom("user_output"); + AtomDollarVar = Yap_LookupAtom("$VAR"); AtomVBar = Yap_LookupAtom("|"); - AtomVar = Yap_FullLookupAtom("$VAR"); AtomVarBranches = Yap_LookupAtom("var_branches"); AtomVariableNames = Yap_LookupAtom("variable_names"); AtomHiddenVar = Yap_FullLookupAtom("$V"); @@ -443,6 +443,7 @@ FunctorDoLogUpdClause0 = Yap_MkFunctor(AtomDoLogUpdClause0,6); FunctorDoLogUpdClauseErase = Yap_MkFunctor(AtomDoLogUpdClauseErase,6); FunctorDoStaticClause = Yap_MkFunctor(AtomDoStaticClause,5); + FunctorDollarVar = Yap_MkFunctor(AtomDollarVar,1); FunctorDomainError = Yap_MkFunctor(AtomDomainError,2); FunctorDot = Yap_MkFunctor(AtomDot,2); FunctorDot10 = Yap_MkFunctor(AtomDot,10); @@ -531,5 +532,4 @@ FunctorUMinus = Yap_MkFunctor(AtomMinus,1); FunctorUPlus = Yap_MkFunctor(AtomPlus,1); FunctorVBar = Yap_MkFunctor(AtomVBar,2); - FunctorVar = Yap_MkFunctor(AtomVar,1); FunctorHiddenVar = Yap_MkFunctor(AtomHiddenVar,1); diff --git a/H/ratoms.h b/H/ratoms.h index 866574440..31d70b587 100644 --- a/H/ratoms.h +++ b/H/ratoms.h @@ -133,6 +133,7 @@ AtomFail = AtomAdjust(AtomFail); AtomFalse = AtomAdjust(AtomFalse); AtomFast = AtomAdjust(AtomFast); + AtomFastFail = AtomAdjust(AtomFastFail); AtomFileErrors = AtomAdjust(AtomFileErrors); AtomFileerrors = AtomAdjust(AtomFileerrors); AtomFileType = AtomAdjust(AtomFileType); @@ -390,8 +391,8 @@ AtomUserErr = AtomAdjust(AtomUserErr); AtomUserIn = AtomAdjust(AtomUserIn); AtomUserOut = AtomAdjust(AtomUserOut); + AtomDollarVar = AtomAdjust(AtomDollarVar); AtomVBar = AtomAdjust(AtomVBar); - AtomVar = AtomAdjust(AtomVar); AtomVarBranches = AtomAdjust(AtomVarBranches); AtomVariableNames = AtomAdjust(AtomVariableNames); AtomHiddenVar = AtomAdjust(AtomHiddenVar); @@ -443,6 +444,7 @@ FunctorDoLogUpdClause0 = FuncAdjust(FunctorDoLogUpdClause0); FunctorDoLogUpdClauseErase = FuncAdjust(FunctorDoLogUpdClauseErase); FunctorDoStaticClause = FuncAdjust(FunctorDoStaticClause); + FunctorDollarVar = FuncAdjust(FunctorDollarVar); FunctorDomainError = FuncAdjust(FunctorDomainError); FunctorDot = FuncAdjust(FunctorDot); FunctorDot10 = FuncAdjust(FunctorDot10); @@ -531,5 +533,4 @@ FunctorUMinus = FuncAdjust(FunctorUMinus); FunctorUPlus = FuncAdjust(FunctorUPlus); FunctorVBar = FuncAdjust(FunctorVBar); - FunctorVar = FuncAdjust(FunctorVar); FunctorHiddenVar = FuncAdjust(FunctorHiddenVar); diff --git a/H/tatoms.h b/H/tatoms.h index 56456e7ac..67933e06b 100644 --- a/H/tatoms.h +++ b/H/tatoms.h @@ -1166,12 +1166,12 @@ Atom AtomUserOut_; #define AtomUserOut Yap_heap_regs->AtomUserOut_ #define TermUserOut MkAtomTerm( Yap_heap_regs->AtomUserOut_ ) + Atom AtomDollarVar_; +#define AtomDollarVar Yap_heap_regs->AtomDollarVar_ +#define TermDollarVar MkAtomTerm( Yap_heap_regs->AtomDollarVar_ ) Atom AtomVBar_; #define AtomVBar Yap_heap_regs->AtomVBar_ #define TermVBar MkAtomTerm( Yap_heap_regs->AtomVBar_ ) - Atom AtomVar_; -#define AtomVar Yap_heap_regs->AtomVar_ -#define TermVar MkAtomTerm( Yap_heap_regs->AtomVar_ ) Atom AtomVarBranches_; #define AtomVarBranches Yap_heap_regs->AtomVarBranches_ #define TermVarBranches MkAtomTerm( Yap_heap_regs->AtomVarBranches_ ) @@ -1287,6 +1287,8 @@ #define FunctorDoLogUpdClauseErase Yap_heap_regs->FunctorDoLogUpdClauseErase_ Functor FunctorDoStaticClause_; #define FunctorDoStaticClause Yap_heap_regs->FunctorDoStaticClause_ + Functor FunctorDollarVar_; +#define FunctorDollarVar Yap_heap_regs->FunctorDollarVar_ Functor FunctorDomainError_; #define FunctorDomainError Yap_heap_regs->FunctorDomainError_ Functor FunctorDot_; @@ -1463,7 +1465,5 @@ #define FunctorUPlus Yap_heap_regs->FunctorUPlus_ Functor FunctorVBar_; #define FunctorVBar Yap_heap_regs->FunctorVBar_ - Functor FunctorVar_; -#define FunctorVar Yap_heap_regs->FunctorVar_ Functor FunctorHiddenVar_; #define FunctorHiddenVar Yap_heap_regs->FunctorHiddenVar_ diff --git a/misc/ATOMS b/misc/ATOMS index c3dec4154..5b96f3097 100644 --- a/misc/ATOMS +++ b/misc/ATOMS @@ -396,7 +396,6 @@ A UserErr N "user_error" A UserIn N "user_input" A UserOut N "user_output" A VBar N "|" -A Var F "$VAR" A VarBranches N "var_branches" A VariableNames N "variable_names" A HiddenVar F "$V" @@ -448,6 +447,7 @@ F DoLogUpdClause DoLogUpdClause 6 F DoLogUpdClause0 DoLogUpdClause0 6 F DoLogUpdClauseErase DoLogUpdClauseErase 6 F DoStaticClause DoStaticClause 5 +F DollarVar DollarVar 1 F DomainError DomainError 2 F Dot Dot 2 F Dot10 Dot 10 @@ -536,6 +536,5 @@ F TypeError TypeError 2 F UMinus Minus 1 F UPlus Plus 1 F VBar VBar 2 -F Var Var 1 F HiddenVar HiddenVar 1 diff --git a/os/writeterm.c b/os/writeterm.c index 792ffa4ff..d8564dd26 100644 --- a/os/writeterm.c +++ b/os/writeterm.c @@ -173,7 +173,7 @@ bind_variable_names(Term t USES_REGS) return false; } t2 = ArgOfTerm(2, tl); - tv = Yap_MkApplTerm(LOCAL_FunctorVar, 1, &t1); + tv = Yap_MkApplTerm(FunctorDollarVar, 1, &t1); if (IsVarTerm(t2)) { Bind(VarOfTerm(t2), tv); } @@ -746,7 +746,7 @@ dollar_var( USES_REGS1 ) Term t2; if (!IsVarTerm(t2=Deref(ARG2))) { if (IsApplTerm(t2) && - FunctorOfTerm( t2 ) == LOCAL_FunctorVar ) { + FunctorOfTerm( t2 ) == FunctorDollarVar ) { return Yap_unify(ArgOfTerm(1, t2), ARG1); } Yap_Error( TYPE_ERROR_COMPOUND, ARG2 , ""); @@ -756,7 +756,7 @@ dollar_var( USES_REGS1 ) } } Term t2 = Yap_unify( MkVarTerm(), ARG1); - Term tv = Yap_MkApplTerm(LOCAL_FunctorVar, 1, &t2); + Term tv = Yap_MkApplTerm(FunctorDollarVar, 1, &t2); return Yap_unify(tv, ARG2); }