Commit 7d0195a6b337954bbc321858f14af9d9a1c6e488

Authored by Salvador Abreu
1 parent 118f3ac4
Exists in master

replace initialized variables (static arrays) with their values

Showing 1 changed file with 6 additions and 6 deletions   Show diff stats
fz/semantic.pl
... ... @@ -47,11 +47,10 @@ sa_n(var(N,T,[],A), V, ST) :- !,
47 47 V=var(N,T,[],AX), % new AST node becomes ST entry value
48 48 st_insert(ST, N, V).
49 49  
50   -sa_n(var(N,T,I,A), NI, ST) :- % non-empty initializer
51   - sa_attribs(A, AX, ST), % should ignore this?
52   - sa_n_traverse(I, NI, ST), % parse initializer
53   - V=var(N,T,NI,AX), % new AST node becomes ST entry value
54   - st_insert(ST, N, V).
  50 +sa_n(var(N,_T,I,_A), NI, ST) :- % non-empty initializer
  51 + sa_n_traverse(I, NI, ST), % parse initializer (& ignore T and A),
  52 + V=NI, % -- just NI, not var(N,T,NI,AX) --
  53 + st_insert(ST, N, V). % which becomes the ST entry value
55 54  
56 55  
57 56 sa_n(lit(E,array(T)), lit(NE, array(T)), ST) :-
... ... @@ -66,8 +65,9 @@ sa_n(id(N), V, ST) :- V=var(N,_,_,_), % type as yet unknown
66 65 st_insert(ST, N, V).
67 66  
68 67  
69   -sa_n(constraint(CE, AT), constraint(NCE, AT), ST) :-
  68 +sa_n(constraint(CE, A), constraint(NCE, AX), ST) :-
70 69 CE=..[C|AS],
  70 + sa_attribs(A, AX, ST),
71 71 sa_n_traverse(AS, NAS, ST),
72 72 NCE=..[C|NAS].
73 73  
... ...