Runtime evaluation/In an environment: Difference between revisions
Content added Content deleted
Line 835: | Line 835: | ||
CLASS ITEM(N, X); TEXT N; REAL X; |
CLASS ITEM(N, X); TEXT N; REAL X; |
||
BEGIN |
BEGIN |
||
⚫ | |||
END ITEM; |
END ITEM; |
||
Line 852: | Line 853: | ||
PROCEDURE SET(V, X); TEXT V; REAL X; |
PROCEDURE SET(V, X); TEXT V; REAL X; |
||
BEGIN |
BEGIN |
||
REF(ITEM) I |
REF(ITEM) I; I :- LOOKUP(V); |
||
IF I == NONE THEN |
IF I == NONE THEN |
||
I :- NEW ITEM(V, X); |
|||
I.X := X; |
|||
NH.NEXT :- HEAD; |
|||
⚫ | |||
END |
|||
ELSE I.X := X; |
|||
END SET; |
END SET; |
||
Line 887: | Line 884: | ||
REAL PROCEDURE CALC(OPERATOR, ERR); CHARACTER OPERATOR; LABEL ERR; |
REAL PROCEDURE CALC(OPERATOR, ERR); CHARACTER OPERATOR; LABEL ERR; |
||
BEGIN |
BEGIN |
||
REAL X, Y |
REAL X, Y; X := POP; Y := POP; |
||
IF OPERATOR = '+' THEN PUSH(Y + X) |
IF OPERATOR = '+' THEN PUSH(Y + X) |
||
ELSE IF OPERATOR = '-' THEN PUSH(Y - X) |
ELSE IF OPERATOR = '-' THEN PUSH(Y - X) |