Runtime evaluation/In an environment: Difference between revisions
Content added Content deleted
Line 851: | Line 851: | ||
END LOOKUP; |
END LOOKUP; |
||
PROCEDURE SET(V, X); TEXT V; REAL X; |
REF(ENV) PROCEDURE SET(V, X); TEXT V; REAL X; |
||
BEGIN |
BEGIN |
||
REF(ITEM) I; I :- LOOKUP(V); |
REF(ITEM) I; I :- LOOKUP(V); |
||
IF I == NONE THEN I :- NEW ITEM(V, X) ELSE I.X := X; |
IF I == NONE THEN I :- NEW ITEM(V, X) ELSE I.X := X; |
||
SET :- THIS ENV; |
|||
END SET; |
END SET; |
||
Line 1,080: | Line 1,081: | ||
END EXPR; |
END EXPR; |
||
REF(ENV) EVA, EVB; |
|||
REF(EXPR) EXA, EXB; |
REF(EXPR) EXA, EXB; |
||
EXA :- NEW EXPR(NEW ENV.SET("X", 3)); |
|||
EXB :- NEW EXPR(NEW ENV.SET("X", 5)); |
|||
IF EXA.EVAL("2 ^ X") THEN |
IF EXA.EVAL("2 ^ X") THEN |
||
BEGIN |
BEGIN |