% Table * % % module % 7 comp2_7(_upvals):-_upvals=[_interpreter],(call_cl(_interpreter,[])). % 6 comp2_6(_s,_upvals):-_upvals=[_eval_vars,_run_query],(call_cl(_run_query,[_s,_s2,_e]),get_(_e,"vars",T100),str(_s2,T99),call_cl(_eval_vars,["temp.pl",T99,T100,"temp"])). % 5 comp2_5(_module,_upvals):-_upvals=[_compile,_io],(_name1 = _module+"."+"co",get_(_io,"readFile",T96),_T95 = T96,str(_name1,T97),call_cl(_T95,[T97,_s]),call_cl(_compile,[_s,_module])). % 4 comp2_4(_s,_upvals):-_upvals=[_io,_run_bytecode3],(((str(_s+".pl",T91),call_cl(_run_bytecode3,[T91,_s]))->(true);(get_(_io,"writeln",T93),_T92 = T93,call_cl(_T92,["\nCosmosError: Program did not return successfully."])))). % interpreter comp2_interpreter(_upvals):-_upvals=[_eval_vars,_run_query,_debug2,_io,_io],(_module = "temp",get_(_io,"write",T83),_T82 = T83,call_cl(_T82,["> "]),get_(_io,"read",T85),_T84 = T85,call_cl(_T84,[_input]),call_cl(_debug2,["read..."+_input]),_s = _input,call_cl(_run_query,[_s,_s2,_e]),get_(_e,"vars",T87),str(_s2,T86),call_cl(_eval_vars,["temp.pl",T86,T87,"temp"]),call(comp2_interpreter,_upvals)). % run_query comp2_run_query(_s,_fc2,_e2,_upvals):-_upvals=[_debug2,_parse1],(_s1 = "temp",call_cl(_parse1,[_s,_e2,_fc2,_s1]),str(_fc2,T81),call_cl(_debug2,[T81])). % run_bytecode2 comp2_run_bytecode2(_s,_upvals):-_upvals=[_io,_run_bytecode3],((((str(_s+".pl",T78),call_cl(_run_bytecode3,[T78,_s])),(true);get_(_io,"writeln",T80),_T79 = T80,call_cl(_T79,["\nCosmosError: Program did not return successfully."])))). % run_bytecode comp2_run_bytecode(_s,_upvals):-_upvals=[_eval,_debug,_debug,_mutable],((((get_(_mutable,"get",T74),_T73 = T74,call_cl(_T73,["trace",1.0])),(get_(_debug,"sethook",T76),_T75 = T76,get_(_debug,"trace",T77),call_cl(_T75,[T77]));true)),(((call_cl(_eval,[_s])),(true);false))). % find_flag1 comp2_find_flag1(_args,_flag,_name,_upvals):-_upvals=[],((if_(_args = [_a|_b],(_b = [_c|_d],(if_(_a = _flag,(_c = _name),(call(comp2_find_flag1(_b,_flag,_name),_upvals))))),(false)))). % find_flag0 comp2_find_flag0(_args,_flag,_upvals):-_upvals=[],((if_(_args = [_a|_b],((if_(_a = _flag,(true),(call(comp2_find_flag0(_b,_flag),_upvals))))),(false)))). % eval_vars comp2_eval_vars(_name,_code,_vars,_module,_upvals):-_upvals=[_io,_print_vars,_io,_list,_list,_list,_filter],(call_cl(_filter,[_vars,_v1]),get_(_list,"map",T57),_T56 = T57,call_cl(_T56,[_v1,clos([_list,_filter],comp2_2),_v2]),get_(_list,"map",T59),_T58 = T59,call_cl(_T58,[_v1,clos([_list,_list,_filter],comp2_3),_lvars]),get_(_list,"join",T61),_T60 = T61,call_cl(_T60,[_v2,", ",_v3]),_file_code = ""+_module+"(["+_v3+"]) :- "+_code+".",get_(_io,"writeToFile",T63),_T62 = T63,str(_file_code,T64),call_cl(_T62,[_name,T64]),consult(_name),atom_string(_atom_temp,"temp"),temp(_l),(((call_cl(_print_vars,[_l,_lvars])),(true);get_(_io,"writeln",T66),_T65 = T66,call_cl(_T65,["| false"])))). % 3 comp2_3(_fc,_s,_upvals):-_upvals=[_list,_list,_filter],(_fc = fc_Var(_x,_,_),_s = _x). % 2 comp2_2(_fc,_s,_upvals):-_upvals=[_list,_filter],(_fc = fc_Var(_x,_,_),_s = "_"+_x). % filter comp2_filter(_vars,_l,_upvals):-_upvals=[_unique],(call_cl(_unique,[_vars,_l,[]])). % unique comp2_unique(_l,_l2,_dup,_upvals):-_upvals=[_list],((if_(_l = [],(_l2 = _l),(_l = '[|]'(_e,_tail),_e = fc_Var(_name,_i,_),(get_(_list,"has",T55),_T54 = T55,(call_cl(_T54,[_dup,_name]),_l2 = _tail2,call(comp2_unique(_tail,_tail2,_dup),_upvals));(safeNot(call_cl(_T54,[_dup,_name])),_dup1 = '[|]'(_name,_dup),_l2 = '[|]'(_e,_tail2),call(comp2_unique(_tail,_tail2,_dup1),_upvals))))))). % run_bytecode3 comp2_run_bytecode3(_fname,_name,_upvals):-_upvals=[_evalFile,_debug2],(call_cl(_debug2,['[|]'("run bc",'[|]'(_s,[]))]),(((call_cl(_evalFile,[_name,_name])),(true);false))). % evalFile comp2_evalFile(_fname,_name,_upvals):-_upvals=[_debug2,_debug2],(call_cl(_debug2,["--"]),str(_fname,T53),ensure_loaded(T53),atom_string(_X,_fname),call_cl(_debug2,[_X]),call(_X,_)). % compile comp2_compile(_s,_name,_upvals):-_upvals=[_write,_debug2,_debug2,_parse],(call_cl(_parse,[_s,_e2,_s1,_name]),_s2 = _s1,!,call_cl(_debug2,["Generated pl:"]),str(_s2,T52),call_cl(_debug2,[T52]),call_cl(_write,[_name,_s2,_e2])). % wrap comp2_wrap(_file_code,_module,_args,_code,_upvals):-_upvals=[],(_file_code = ":- style_check([-singleton,-no_effect]), creq_(core3).\n"). % exec_bytecode comp2_exec_bytecode(_s,_upvals):-_upvals=[_exec],(call_cl(_exec,["./p2 "+_s])). % write comp2_write(_fname,_s1,_e2,_upvals):-_upvals=[_io],(get_(_io,"writeToFile",T49),_T48 = T49,str(_s1,T51),str(_fname+".pl",T50),call_cl(_T48,[T50,T51])). % eval comp2_eval(_fname,_upvals):-_upvals=[_debug2,_debug2],(_module = _fname,call_cl(_debug2,["--"]),str(_fname,T47),ensure_loaded(T47),atom_string(_X,_fname),call_cl(_debug2,["Calling file..."+_X]),call(_X,_)). % parse comp2_parse(_s1,_e2,_fc1,_fname,_upvals):-_upvals=[_debug2,_gen,_gen,_debug2,_parser,_debug2,_s0],(str(_s0+_s1,T40),_s = T40,call_cl(_debug2,["Parsing..."]),get_(_parser,"run",T42),_T41 = T42,once(call_cl(_T41,[_s,_fc])),call_cl(_debug2,["Generating code..."]),get_(_gen,"new_env",T44),_T43 = T44,call_cl(_T43,[_e]),get_(_gen,"generate",T46),_T45 = T46,once(call_cl(_T45,[_fname,_e,_e2,_fc,_fc1])),call_cl(_debug2,["..."])). % parse1 comp2_parse1(_s1,_e2,_fc1,_fname,_upvals):-_upvals=[_gen,_gen,_debug2,_parser,_debug2,_s0],(str(_s0+_s1,T33),_s = T33,call_cl(_debug2,["Parsing..."]),get_(_parser,"run",T35),_T34 = T35,once(call_cl(_T34,[_s,_fc])),call_cl(_debug2,["Generating code..."]),get_(_gen,"new_env",T37),_T36 = T37,call_cl(_T36,[_e]),get_(_gen,"generate_body",T39),_T38 = T39,once(call_cl(_T38,[_e,_e2,_fc,_fc1]))). % parse2 comp2_parse2(_s1,_e2,_fc1,_fname,_upvals):-_upvals=[_gen,_gen,_parser,_s0],(str(_s0+_s1,T24),_s = T24,writeln_("Parsing..."),get_(_parser,"run",T26),_T25 = T26,once(call_cl(_T25,[_s,_fc])),str(_fc,T27),writeln_(T27),writeln_("Generating code..."),get_(_gen,"new_env",T29),_T28 = T29,call_cl(_T28,[_e]),get_(_gen,"generate_body",T31),_T30 = T31,once(call_cl(_T30,[_e,_e2,_fc,_fc1])),str(_fc1,T32),writeln_(T32)). % new_env comp2_new_env(_e,_upvals):-_upvals=[_table],(get_(_table,"new",T21),_T20 = T21,call_cl(_T20,[_t]),get_(_env,"new",T23),_T22 = T23,call_cl(_T22,[_e,[],_t])). % exec comp2_exec(_s,_upvals):-_upvals=[],(exec(_s)). % print_vars comp2_print_vars(_l,_v2,_upvals):-_upvals=[_print_vars2,_io,_io],((if_(_l = [],(get_(_io,"writeln",T17),_T16 = T17,call_cl(_T16,["| true"])),(get_(_io,"write",T19),_T18 = T19,call_cl(_T18,["| "]),call_cl(_print_vars2,[_l,_v2]))))). % print_vars2 comp2_print_vars2(_l,_lvars,_upvals):-_upvals=[_io,_io,_io,_io,_io],((((true),(_l = []);_l = '[|]'(_value,_l2),_lvars = '[|]'(_name,_lvars2),get_(_io,"write",T6),_T5 = T6,call_cl(_T5,[_name]),get_(_io,"write",T8),_T7 = T8,call_cl(_T7,[" = "]),str(_name,T9),atom_string(_o,T9),get_(_io,"write",T11),_T10 = T11,call_cl(_T10,[_value]),(if_(_l2 = [],(get_(_io,"write",T13),_T12 = T13,call_cl(_T12,["\n"])),(get_(_io,"write",T15),_T14 = T15,call_cl(_T14,[" and "])))),call(comp2_print_vars2(_l2,_lvars2),_upvals)))). % not_lib comp2_not_lib(_e,_upvals):-_upvals=[],(_e = fc_Var(_name,_i,_),dif(_name,"print"),dif(_name,"table"),dif(_name,"_table")). % in_lib comp2_in_lib(_x,_upvals):-_upvals=[_libs,_list],(_x = fc_Var(_name,_,_),get_(_list,"has",T4),_T3 = T4,call_cl(_T3,[_libs,_name])). % debug2 comp2_debug2(_x,_upvals):-_upvals=[],(true). % each comp2_each(_l,_p,_upvals):-_upvals=[],((((true),(_l = []);_l = '[|]'(_e,'[|]'(_e2,_l2)),call_cl(_p,[_e,_e2]),call(comp2_each(_l2,_p),_upvals)))). % main comp2(X):-creq("io",_io),creq("list",_list),creq("string",_string),creq("logic",_logic),creq("debug",_debug),creq("mutable",_mutable),creq("parser",_parser),creq("gen",_gen),creq("table",_table),get_(_mutable,"new",T2),_T1 = T2,call_cl(_T1,[_opts]),_each = clos([],comp2_each),_debug2 = clos([],comp2_debug2),_libs = '[|]'("print",'[|]'("require",'[|]'("table",'[|]'("_table",[])))),_in_lib = clos([_libs,_list],comp2_in_lib),_not_lib = clos([],comp2_not_lib),_print_vars2 = clos([_io,_io,_io,_io,_io],comp2_print_vars2),_print_vars = clos([_print_vars2,_io,_io],comp2_print_vars),_exec = clos([],comp2_exec),_new_env = clos([_table],comp2_new_env),_s0 = "",_parse2 = clos([_gen,_gen,_parser,_s0],comp2_parse2),_parse1 = clos([_gen,_gen,_debug2,_parser,_debug2,_s0],comp2_parse1),_parse = clos([_debug2,_gen,_gen,_debug2,_parser,_debug2,_s0],comp2_parse),_eval = clos([_debug2,_debug2],comp2_eval),_write = clos([_io],comp2_write),_exec_bytecode = clos([_exec],comp2_exec_bytecode),_wrap = clos([],comp2_wrap),_compile = clos([_write,_debug2,_debug2,_parse],comp2_compile),_evalFile = clos([_debug2,_debug2],comp2_evalFile),_run_bytecode3 = clos([_evalFile,_debug2],comp2_run_bytecode3),_unique = clos([_list],comp2_unique),_filter = clos([_unique],comp2_filter),_eval_vars = clos([_io,_print_vars,_io,_list,_list,_list,_filter],comp2_eval_vars),_find_flag0 = clos([],comp2_find_flag0),_find_flag1 = clos([],comp2_find_flag1),get_(_mutable,"set",T68),_T67 = T68,call_cl(_T67,["trace",0.0]),get_(_mutable,"set",T70),_T69 = T70,call_cl(_T69,["debug",0.0]),get_(_mutable,"set",T72),_T71 = T72,call_cl(_T71,["call",0.0]),_run_bytecode = clos([_eval,_debug,_debug,_mutable],comp2_run_bytecode),_run_bytecode2 = clos([_io,_run_bytecode3],comp2_run_bytecode2),_run_query = clos([_debug2,_parse1],comp2_run_query),_interpreter = clos([_eval_vars,_run_query,_debug2,_io,_io],comp2_interpreter),new(T88),set_(T88,"run_pl",clos([_io,_run_bytecode3],comp2_4),T90),set_(T90,"compile",clos([_compile,_io],comp2_5),T94),set_(T94,"query",clos([_eval_vars,_run_query],comp2_6),T98),set_(T98,"interpreter",clos([_interpreter],comp2_7),T89),_t = T89,X=_t.