Commit f77dbaf75740d3ec40cf7ac48becf0159d5d5e8e

Authored by Salvador Abreu
1 parent 77553097
Exists in master

fznslurp is now fzsem

Showing 1 changed file with 0 additions and 79 deletions   Show diff stats
fz/fznslurp.pl
@@ -1,79 +0,0 @@ @@ -1,79 +0,0 @@
1 -% == No, Emacs this is -*-Prolog-*- code, not what you thought... =============  
2 -  
3 -:- initialization(main).  
4 -  
5 -main :-  
6 - argument_list(A),  
7 - main(A).  
8 -  
9 -main([ACTION_S|REST]) :-  
10 - read_term_from_atom(ACTION_S, ACTION, [end_of_term(eof)]),  
11 - action(ACTION), !, main(REST).  
12 -main([]).  
13 -  
14 -action(load(F)) :- !, see(F), action(load), seen.  
15 -action(load) :- !, load_ast(AST), g_assign(ast, AST).  
16 -action(dump(A)) :- !, dump_ast(A).  
17 -action(dump) :- !, g_read(ast, AST), dump_ast(AST).  
18 -action(name) :- !,  
19 - g_read(ast, AST),  
20 - sa_names(AST, NAST, ST),  
21 - g_assign(ast_n, NAST+ST).  
22 -action(type) :- !,  
23 - g_read(ast_n, AST+ST),  
24 - sa_types(AST, ST),  
25 - g_assign(ast_t, AST+ST).  
26 -action(halt) :- !, halt.  
27 -action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false).  
28 -action(debug) :- !, g_assign(ast_debug, true).  
29 -action(ACTION) :- format("%w: unknown action.\n", [ACTION]).  
30 -  
31 -  
32 -% -----------------------------------------------------------------------------  
33 -  
34 -%% beware: fails if load_ast/3 does not finish with 3rd arg singular list  
35 -  
36 -load_ast(AST) :- g_read(ast_debug, true), !, load_ast_deb(_>[], [], [AST]).  
37 -load_ast(AST) :- load_ast(_>[], [], [AST]).  
38 -  
39 -load_ast(end_of_file, AST, AST).  
40 -load_ast((IN > INT :- MOD), IN, OUT) :-  
41 - call(MOD),  
42 - read(OP), !,  
43 - load_ast(OP, INT, OUT).  
44 -load_ast((IN > INT), IN, OUT) :-  
45 - read(OP), !,  
46 - load_ast(OP, INT, OUT).  
47 -  
48 -load_ast_deb(end_of_file, AST, AST).  
49 -load_ast_deb((IN > INT :- MOD), IN, OUT) :-  
50 - ( call(MOD) -> format("EXT OK ~q\n", [MOD]) ;  
51 - format("EXT FAIL ~q\n", [MOD]), fail ),  
52 - read(OP), !,  
53 - writeq(IN), write('.'), nl,  
54 - writeq(OP), nl,  
55 - load_ast_deb(OP, INT, OUT).  
56 -load_ast_deb(IN > INT, IN, OUT) :-  
57 - read(OP), !,  
58 - writeq(IN), write('.'), nl,  
59 - writeq(OP), nl,  
60 - load_ast_deb(OP, INT, OUT).  
61 -  
62 -% -----------------------------------------------------------------------------  
63 -  
64 -dump_ast(fzn(PREDS, VARS, CONSTRS, SOLVE)) :-  
65 - !,  
66 - format("AST:\n", []),  
67 - format(" preds:\n", []), PREDS=preds(PS), dump_list(PS),  
68 - format(" vars:\n", []), VARS=vars(VS), dump_list(VS),  
69 - format(" constrs:\n", []), CONSTRS=constrs(CS), dump_list(CS),  
70 - format(" goal:\n ~w\n", [SOLVE]).  
71 -  
72 -dump_ast(AST) :- write(AST), nl.  
73 -  
74 -% -----------------------------------------------------------------------------  
75 -  
76 -dump_list([]).  
77 -dump_list([I|Is]) :- format(" ~w\n", [I]), dump_list(Is).  
78 -  
79 -% -----------------------------------------------------------------------------