summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6f35998)
raw | patch | inline | side by side (parent: 6f35998)
author | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Sat, 14 Dec 2019 20:05:04 +0000 (23:05 +0300) | ||
committer | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Sat, 14 Dec 2019 20:05:04 +0000 (23:05 +0300) |
src/generic/Dev/Mod/CPR.cp | patch | blob | history |
index 03c3fe40dc5605797ee685f63cffa3b39de739e0..10692154546406bda5ced94d1646285c4b8f265e 100644 (file)
END
END Get;
- PROCEDURE New (IN name: DevCPT.Name; val: BOOLEAN): Selector;
+ PROCEDURE New (IN name: DevCPT.Name): Selector;
VAR s: Selector;
BEGIN
s := scope;
WHILE (s.next # NIL) & (s.next.name$ # name$) DO s := s.next END;
- IF s.next = NIL THEN NEW(s.next); s.next.name := name$; s.next.val := val
+ IF s.next = NIL THEN NEW(s.next); s.next.name := name$; s.next.val := FALSE
ELSE err(1)
END;
RETURN s.next
Get(sym);
IF sym = new THEN
Get(sym);
- IF sym = ident THEN s := New(name, FALSE); Get(sym)
+ IF sym = ident THEN
+ s := New(name); Get(sym);
+ IF (sym = plus) OR (sym = minus) THEN
+ s.val := sym = plus; Get(sym)
+ END
ELSE err(48)
- END;
+ END
+ ELSIF sym = ident THEN
+ s := Old(name); Get(sym);
IF (sym = plus) OR (sym = minus) THEN
s.val := sym = plus; Get(sym)
+ ELSE err(41)
END
ELSIF sym = error THEN
IF Printable() THEN err(501) END; Get(sym)
- ELSIF sym = ident THEN
- Get(sym);
- IF sym = plus THEN Old(name).val := TRUE; Get(sym)
- ELSIF sym = minus THEN Old(name).val := FALSE; Get(sym)
- ELSE err(41)
- END
ELSIF sym = if THEN
Get(sym); Expression(val); If(val);
IF sym = then THEN Get(sym)