Commit 7d0195a6b337954bbc321858f14af9d9a1c6e488
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 | ... | ... |