mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 11:02:24 +00:00
replaced most of string constants by OPT.sometyp.strobj.name. -- noch
This commit is contained in:
parent
d009eb2e34
commit
4fda478a28
1 changed files with 13 additions and 9 deletions
|
|
@ -72,8 +72,8 @@ MODULE OPP; (* NW, RC 6.3.89 / 10.2.94 *) (* object model 4.12.93 *)
|
||||||
VAR x: OPT.Node; sf: SYSTEM.INT64;
|
VAR x: OPT.Node; sf: SYSTEM.INT64;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF sym = OPS.lbrak THEN OPS.Get(sym);
|
IF sym = OPS.lbrak THEN OPS.Get(sym);
|
||||||
IF ~OPT.SYSimported THEN err(135) END;
|
IF ~OPT.SYSimported THEN err(135) END;
|
||||||
ConstExpression(x);
|
ConstExpression(x);
|
||||||
IF x^.typ^.form = OPT.Int THEN sf := x^.conval^.intval;
|
IF x^.typ^.form = OPT.Int THEN sf := x^.conval^.intval;
|
||||||
IF (sf < 0) OR (sf > OPM.MaxSysFlag) THEN err(220); sf := 0 END
|
IF (sf < 0) OR (sf > OPM.MaxSysFlag) THEN err(220); sf := 0 END
|
||||||
ELSE err(51); sf := 0
|
ELSE err(51); sf := 0
|
||||||
|
|
@ -737,7 +737,7 @@ MODULE OPP; (* NW, RC 6.3.89 / 10.2.94 *) (* object model 4.12.93 *)
|
||||||
IF e THEN OPS.Get(sym); StatSeq(y)
|
IF e THEN OPS.Get(sym); StatSeq(y)
|
||||||
ELSE
|
ELSE
|
||||||
y := NIL;
|
y := NIL;
|
||||||
OPM.Mark(-307, OPM.curpos); (* notice about no OPS.else symbol; -- noch *)
|
OPM.Mark(-307, OPM.curpos); (* notice about no OPS.else symbol; -- noch *)
|
||||||
END ;
|
END ;
|
||||||
OPB.Construct(OPT.Ncaselse, cases, y); OPB.Construct(OPT.Ncase, x, cases);
|
OPB.Construct(OPT.Ncaselse, cases, y); OPB.Construct(OPT.Ncase, x, cases);
|
||||||
cases^.conval := OPT.NewConst();
|
cases^.conval := OPT.NewConst();
|
||||||
|
|
@ -922,13 +922,17 @@ MODULE OPP; (* NW, RC 6.3.89 / 10.2.94 *) (* object model 4.12.93 *)
|
||||||
OPT.Insert(OPS.name, obj); obj^.mode := OPT.Typ; obj^.typ := OPT.undftyp;
|
OPT.Insert(OPS.name, obj); obj^.mode := OPT.Typ; obj^.typ := OPT.undftyp;
|
||||||
CheckMark(obj^.vis);
|
CheckMark(obj^.vis);
|
||||||
IF sym = OPS.eql THEN
|
IF sym = OPS.eql THEN
|
||||||
IF (obj^.name = "INTEGER") OR (obj^.name = "SHORTINT") OR
|
IF (obj^.name = OPT.sinttyp.strobj.name) OR
|
||||||
(obj^.name = "LONGINT") OR (obj^.name = "HUGEINT") OR
|
(obj^.name = OPT.inttyp.strobj.name) OR
|
||||||
(obj^.name = "LONGREAL") OR (obj^.name = "REAL") OR
|
(obj^.name = OPT.linttyp.strobj.name) OR
|
||||||
(obj^.name = "CHAR") OR (obj^.name = "SET") OR
|
(obj^.name = OPT.hinttyp.strobj.name) OR
|
||||||
(obj^.name = "TRUE") OR (obj^.name = "FALSE") THEN
|
(obj^.name = OPT.realtyp.strobj.name) OR
|
||||||
|
(obj^.name = OPT.lrltyp.strobj.name) OR
|
||||||
|
(obj^.name = OPT.settyp.strobj.name) OR
|
||||||
|
(obj^.name = OPT.chartyp.strobj.name) OR
|
||||||
|
(obj^.name = "TRUE") OR (obj^.name = "FALSE") THEN
|
||||||
OPM.Mark(-310, OPM.curpos); (* notice about aliasing of predefined type *)
|
OPM.Mark(-310, OPM.curpos); (* notice about aliasing of predefined type *)
|
||||||
END;
|
END;
|
||||||
OPS.Get(sym); TypeDecl(obj^.typ, obj^.typ)
|
OPS.Get(sym); TypeDecl(obj^.typ, obj^.typ)
|
||||||
ELSIF (sym = OPS.becomes) OR (sym = OPS.colon) THEN
|
ELSIF (sym = OPS.becomes) OR (sym = OPS.colon) THEN
|
||||||
err(OPS.eql); OPS.Get(sym); TypeDecl(obj^.typ, obj^.typ)
|
err(OPS.eql); OPS.Get(sym); TypeDecl(obj^.typ, obj^.typ)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue