Commit 1f10fb42e84f3477935ad8fc972be6a2cc306df0

Authored by Salvador Abreu
1 parent 38932fea
Exists in master

decode action term from atom

new action load(FILE)
Showing 1 changed file with 14 additions and 11 deletions   Show diff stats
fzn-parser/fznslurp.pl
@@ -6,19 +6,22 @@ main :- @@ -6,19 +6,22 @@ main :-
6 argument_list(A), 6 argument_list(A),
7 main(A). 7 main(A).
8 8
9 -main([ACTION|REST]) :- action(ACTION), !, main(REST). 9 +main([ACTION_S|REST]) :-
  10 + read_term_from_atom(ACTION_S, ACTION, [end_of_term(eof)]),
  11 + action(ACTION), !, main(REST).
10 main([]). 12 main([]).
11 13
12 -action(load) :- !, load_ast(AST), g_assign(ast, AST).  
13 -action(dump) :- !, g_read(ast, AST), dump_ast(AST).  
14 -action(name) :- !,  
15 - g_read(ast, AST),  
16 - sa_names(AST, NAST),  
17 - g_assign(ast, NAST).  
18 -action(halt) :- !, halt.  
19 -action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false).  
20 -action(debug) :- !, g_assign(ast_debug, true).  
21 -action(ACTION) :- format("%w: unknown action.\n", [ACTION]). 14 +action(load(F)) :- !, see(F), action(load), seen.
  15 +action(load) :- !, load_ast(AST), g_assign(ast, AST).
  16 +action(dump) :- !, g_read(ast, AST), dump_ast(AST).
  17 +action(name) :- !,
  18 + g_read(ast, AST),
  19 + sa_names(AST, NAST),
  20 + g_assign(ast, NAST).
  21 +action(halt) :- !, halt.
  22 +action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false).
  23 +action(debug) :- !, g_assign(ast_debug, true).
  24 +action(ACTION) :- format("%w: unknown action.\n", [ACTION]).
22 25
23 26
24 % ----------------------------------------------------------------------------- 27 % -----------------------------------------------------------------------------