index 7791454cd607538d29b831f4d9ef1532a24fe4c3..8802469cd23daaa568b389b42399ff165fa6cbca 100644 (file)
scope: Selector;
top: Context;
skip-: BOOLEAN;
+ used-: BOOLEAN;
PROCEDURE err (n: SHORTINT);
BEGIN DevCPM.err(n)
BEGIN
Factor(x, use);
WHILE sym = and DO
- Get(sym); Factor(y, use); IF use THEN x := x & y END
+ Get(sym); Factor(y, use & x); IF use & x THEN x := x & y END
END
END Term;
BEGIN
Term(x, use);
WHILE sym = or DO
- Get(sym); Term(y, use); IF use THEN x := x OR y END
+ Get(sym); Term(y, use & ~x); IF use & ~x THEN x := x OR y END
END
END Expression;
VAR c: Context;
BEGIN
NEW(c); c.next := top; c.alt := FALSE; c.val := cond; c.ref := 0; top := c;
- INC(fold); skip := ~Printable()
+ INC(fold); skip := ~Printable(); used := TRUE
END If;
PROCEDURE Else;
BEGIN
ch := " "; sym := eof; name := "";
fold := 0; top := NIL; scope := NIL;
- skip := FALSE
+ skip := FALSE; used := FALSE
END Close;
PROCEDURE Init*;
If(TRUE);
NEW(scope);
Set("TRUE", TRUE);
- Set("FALSE", FALSE)
+ Set("FALSE", FALSE);
+ used := FALSE
END Init;
END DevCPR.