memberchk(EqSpec, [fx,xfx,yfx])
).
-write_goal(G, VarList, MasterVarList, MaxDepth) :-
+write_goal(G, VarList, MaxDepth) :-
( G = (Var = Value) ->
( var(Value) ->
select((Var = _), VarList, NewVarList)
)
; G == [] ->
write('true')
- ; write_term(G, [quoted(true), variable_names(MasterVarList), max_depth(MaxDepth)])
+ ; write_term(G, [quoted(true), variable_names(VarList), max_depth(MaxDepth)])
).
-write_last_goal(G, VarList, MasterVarList, MaxDepth) :-
+write_last_goal(G, VarList, MaxDepth) :-
( G = (Var = Value) ->
( var(Value) ->
select((Var = _), VarList, NewVarList)
)
; G == [] ->
write('true')
- ; write_term(G, [quoted(true), variable_names(MasterVarList), max_depth(MaxDepth)])
+ ; write_term(G, [quoted(true), variable_names(VarList), max_depth(MaxDepth)])
).
-write_eq((G1, G2), VarList, MasterVarList, MaxDepth) :-
+write_eq((G1, G2), VarList, MaxDepth) :-
!,
- write_goal(G1, VarList, MasterVarList, MaxDepth),
+ write_goal(G1, VarList, MaxDepth),
write(', '),
- write_eq(G2, VarList, MasterVarList, MaxDepth).
-write_eq(G, VarList, MasterVarList, MaxDepth) :-
- write_last_goal(G, VarList, MasterVarList, MaxDepth).
+ write_eq(G2, VarList, MaxDepth).
+write_eq(G, VarList, MaxDepth) :-
+ write_last_goal(G, VarList, MaxDepth).
graphic_token_char(C) :-
memberchk(C, ['#', '$', '&', '*', '+', '-', '.', ('/'), ':',
),
( B0 == B ->
( Goals == [] ->
- write('true.'), nl
+ write('true.'), nl
; thread_goals(Goals, ThreadedGoals, (',')),
- write_eq(ThreadedGoals, NewVarList, NewVarList, 20),
- write('.'),
- nl
+ write_eq(ThreadedGoals, NewVarList, 20),
+ write('.'),
+ nl
)
; thread_goals(Goals, ThreadedGoals, (',')),
- write_eq(ThreadedGoals, NewVarList, NewVarList, 20),
+ write_eq(ThreadedGoals, NewVarList, 20),
read_input(ThreadedGoals, NewVarList)
).
( C = w ->
nl,
write(' '),
- write_eq(ThreadedGoals, NewVarList, NewVarList, 0),
+ write_eq(ThreadedGoals, NewVarList, 0),
read_input(ThreadedGoals, NewVarList)
; C = p ->
nl,
write(' '),
- write_eq(ThreadedGoals, NewVarList, NewVarList, 20),
+ write_eq(ThreadedGoals, NewVarList, 20),
read_input(ThreadedGoals, NewVarList)
; member(C, [';', ' ', n]) ->
nl, write('; '), false