:- module parser. :- use_module bool, builtin, char, float, int, io, lexer, list, map, ops, private_builtin, require, std_util, string, term, term_io, varset. :- type (parser:state(Ops, T)) ---> state(string, Ops, (varset:varset(T)), (lexer:token_list), (tree234:tree234(string, (term:var(T))))) . :- type (parser:parse(T)) ---> ok(T) ; error(string, (lexer:token_list)) . parser:read_term(Result_4, DCG_0_6, DCG_2_8) :- io:input_stream_name(FileName_5, DCG_0_6, DCG_1_7), V_9 = ops:init_mercury_op_table, parser:read_term_with_op_table(V_9, FileName_5, Result_4, DCG_1_7, DCG_2_8). parser:read_term_with_op_table(Ops_5, Result_6, DCG_0_8, DCG_2_10) :- io:input_stream_name(FileName_7, DCG_0_8, DCG_1_9), parser:read_term_with_op_table(Ops_5, FileName_7, Result_6, DCG_1_9, DCG_2_10). parser:read_term(FileName_5, Result_6, DCG_0_7, DCG_1_8) :- V_9 = ops:init_mercury_op_table, parser:read_term_with_op_table(V_9, FileName_5, Result_6, DCG_0_7, DCG_1_8). parser:read_term_with_op_table(Ops_6, FileName_7, Result_8, DCG_0_10, DCG_1_11) :- lexer:get_token_list(Tokens_9, DCG_0_10, DCG_1_11), parser:parse_tokens_with_op_table(Ops_6, FileName_7, Tokens_9, Result_8). parser:read_term_from_string(FileName_5, String_6, EndPos_7, Result_8) :- V_9 = ops:init_mercury_op_table, parser:read_term_from_string_with_op_table(V_9, FileName_5, String_6, EndPos_7, Result_8). parser:read_term_from_string(FileName_7, String_8, Len_9, StartPos_10, EndPos_11, Result_12) :- V_13 = ops:init_mercury_op_table, parser:read_term_from_string_with_op_table(V_13, FileName_7, String_8, Len_9, StartPos_10, EndPos_11, Result_12). parser:read_term_from_string_with_op_table(Ops_8, FileName_9, String_10, Len_11, StartPos_12, EndPos_13, Result_14) :- lexer:string_get_token_list(String_10, Len_11, Tokens_15, StartPos_12, EndPos_13), parser:parse_tokens_with_op_table(Ops_8, FileName_9, Tokens_15, Result_14). parser:parse_tokens(FileName_4, Tokens_5, Result_6) :- V_7 = ops:init_mercury_op_table, parser:parse_tokens_with_op_table(V_7, FileName_4, Tokens_5, Result_6). :- pragma termination_info(parser:read_term((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(parser:read_term_with_op_table((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(parser:read_term((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(parser:read_term_with_op_table((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(parser:read_term_from_string((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(parser:read_term_from_string_with_op_table((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(parser:read_term_from_string((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(parser:read_term_from_string_with_op_table((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(parser:parse_tokens((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(parser:parse_tokens_with_op_table((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop).