:- module term_io. :- use_module bool, builtin, char, int, io, lexer, list, ops, parser, private_builtin, require, std_util, string, term, varset. :- pred term_io:write_variable_2(Ops_1, (term:var(T_2)), (varset:varset(T_2)), int, (varset:varset(T_2)), int, (io:state), (io:state)) <= (ops:op_table(Ops_1)). :- mode term_io:write_variable_2((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)) is det. :- pred term_io:write_term_2(Ops_1, (term:term(T_2)), (varset:varset(T_2)), int, (varset:varset(T_2)), int, (io:state), (io:state)) <= (ops:op_table(Ops_1)). :- mode term_io:write_term_2((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)) is det. :- pred term_io:write_term_3(Ops_1, (term:term(T_2)), int, (varset:varset(T_2)), int, (varset:varset(T_2)), int, (io:state), (io:state)) <= (ops:op_table(Ops_1)). :- mode term_io:write_term_3((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)) is det. :- pred term_io:write_constant((term:const), (term_io:adjacent_to_graphic_token), (io:state), (io:state)). :- mode term_io:write_constant((builtin:in), (builtin:in), (builtin:di), (builtin:uo)) is det. :- func term_io:format_constant((term:const), (term_io:adjacent_to_graphic_token)) = string. :- mode term_io:format_constant((builtin:in), (builtin:in)) = (builtin:out) is det. :- func term_io:add_escaped_char(character, string) = string. :- mode term_io:add_escaped_char((builtin:in), (builtin:in)) = (builtin:out) is det. term_io:read_term(Result_4, DCG_0_6, DCG_2_8) :- io:get_op_table(Ops_5, DCG_0_6, DCG_1_7), term_io:read_term_with_op_table(Ops_5, Result_4, DCG_1_7, DCG_2_8). term_io:read_term_with_op_table(Ops_5, Result_6, DCG_0_7, DCG_1_8) :- parser:read_term_with_op_table(Ops_5, Result_6, DCG_0_7, DCG_1_8). term_io:write_term(VarSet_5, Term_6, DCG_0_8, DCG_2_10) :- io:get_op_table(Ops_7, DCG_0_8, DCG_1_9), term_io:write_term_with_op_table(Ops_7, VarSet_5, Term_6, DCG_1_9, DCG_2_10). term_io:write_term_with_op_table(Ops_6, VarSet_7, Term_8, DCG_0_11, DCG_1_12) :- V_13 = 0, term_io:write_term_2(Ops_6, Term_8, VarSet_7, V_13, V_9, V_10, DCG_0_11, DCG_1_12). term_io:write_term_nl(VarSet_5, Term_6, DCG_0_8, DCG_2_10) :- io:get_op_table(Ops_7, DCG_0_8, DCG_1_9), term_io:write_term_nl_with_op_table(Ops_7, VarSet_5, Term_6, DCG_1_9, DCG_2_10). term_io:write_term_nl_with_op_table(Ops_6, VarSet_7, Term_8, DCG_0_9, DCG_2_11) :- term_io:write_term_with_op_table(Ops_6, VarSet_7, Term_8, DCG_0_9, DCG_1_10), V_12 = ".\n", io:write_string(V_12, DCG_1_10, DCG_2_11). term_io:write_constant(Const_4, DCG_0_5, DCG_1_6) :- V_7 = term_io:not_adjacent_to_graphic_token, term_io:write_constant(Const_4, V_7, DCG_0_5, DCG_1_6). term_io:format_constant(Const_3) = HeadVar__2_2 :- HeadVar__2_2 = term_io:format_constant(Const_3, V_4), V_4 = term_io:not_adjacent_to_graphic_token. term_io:write_variable(Variable_5, VarSet_6, DCG_0_8, DCG_2_10) :- io:get_op_table(Ops_7, DCG_0_8, DCG_1_9), term_io:write_variable_with_op_table(Ops_7, Variable_5, VarSet_6, DCG_1_9, DCG_2_10). term_io:write_variable_with_op_table(Ops_6, Variable_7, VarSet_8, DCG_0_11, DCG_1_12) :- V_13 = 0, term_io:write_variable_2(Ops_6, Variable_7, VarSet_8, V_13, V_9, V_10, DCG_0_11, DCG_1_12). term_io:quote_atom(S_4, DCG_0_5, DCG_1_6) :- V_7 = term_io:not_adjacent_to_graphic_token, term_io:quote_atom(S_4, V_7, DCG_0_5, DCG_1_6). term_io:quoted_atom(S_3) = HeadVar__2_2 :- HeadVar__2_2 = term_io:quoted_atom(S_3, V_4), V_4 = term_io:not_adjacent_to_graphic_token. term_io:write_escaped_string(String_4, DCG_0_5, DCG_1_6) :- V_7 = term_io:write_escaped_char, string:foldl(V_7, String_4, DCG_0_5, DCG_1_6). term_io:escaped_string(String_3) = HeadVar__2_2 :- HeadVar__2_2 = string:foldl(V_4, String_3, V_5), V_4 = term_io:add_escaped_char, V_5 = "". term_io:quote_single_char(Char_4, DCG_0_5, DCG_1_6) :- term_io:write_escaped_char(Char_4, DCG_0_5, DCG_1_6). term_io:write_term_2(Ops_9, Term_10, VarSet0_11, N0_12, VarSet_13, N_14, DCG_0_15, DCG_1_16) :- V_17 = int:(V_18 + V_19), V_18 = ops:max_priority(Ops_9), V_19 = 1, term_io:write_term_3(Ops_9, Term_10, V_17, VarSet0_11, N0_12, VarSet_13, N_14, DCG_0_15, DCG_1_16). term_io:add_escaped_char(Char_4, String0_5) = String_6 :- String_6 = string:append(String0_5, V_7), V_7 = string:char_to_string(Char_4). :- pragma termination_info(term_io:read_term((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:read_term_with_op_table((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:write_term((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:write_term_with_op_table((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:write_term_nl((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:write_term_nl_with_op_table((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:write_constant((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:format_constant((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(term_io:write_variable((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:write_variable_with_op_table((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:quote_string((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:quoted_string((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(term_io:quote_atom((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:quoted_atom((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(term_io:quote_char((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:write_escaped_char((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:escaped_char((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(term_io:write_escaped_string((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:escaped_string((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(term_io:quote_single_char((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:quote_atom((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(term_io:quoted_atom((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop).