From 4fda478a28b1ac98751d4ec66e613a91a44f31c1 Mon Sep 17 00:00:00 2001 From: norayr Date: Tue, 6 Dec 2016 17:47:48 +0400 Subject: [PATCH 1/5] replaced most of string constants by OPT.sometyp.strobj.name. -- noch --- src/compiler/OPP.Mod | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/compiler/OPP.Mod b/src/compiler/OPP.Mod index 29c4fb2e..3dedb545 100644 --- a/src/compiler/OPP.Mod +++ b/src/compiler/OPP.Mod @@ -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; BEGIN IF sym = OPS.lbrak THEN OPS.Get(sym); - IF ~OPT.SYSimported THEN err(135) END; - ConstExpression(x); + IF ~OPT.SYSimported THEN err(135) END; + ConstExpression(x); IF x^.typ^.form = OPT.Int THEN sf := x^.conval^.intval; IF (sf < 0) OR (sf > OPM.MaxSysFlag) THEN err(220); sf := 0 END 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) ELSE 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 ; OPB.Construct(OPT.Ncaselse, cases, y); OPB.Construct(OPT.Ncase, x, cases); 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; CheckMark(obj^.vis); IF sym = OPS.eql THEN - IF (obj^.name = "INTEGER") OR (obj^.name = "SHORTINT") OR - (obj^.name = "LONGINT") OR (obj^.name = "HUGEINT") OR - (obj^.name = "LONGREAL") OR (obj^.name = "REAL") OR - (obj^.name = "CHAR") OR (obj^.name = "SET") OR - (obj^.name = "TRUE") OR (obj^.name = "FALSE") THEN + IF (obj^.name = OPT.sinttyp.strobj.name) OR + (obj^.name = OPT.inttyp.strobj.name) OR + (obj^.name = OPT.linttyp.strobj.name) OR + (obj^.name = OPT.hinttyp.strobj.name) OR + (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 *) - END; + END; OPS.Get(sym); TypeDecl(obj^.typ, obj^.typ) ELSIF (sym = OPS.becomes) OR (sym = OPS.colon) THEN err(OPS.eql); OPS.Get(sym); TypeDecl(obj^.typ, obj^.typ) From 8d28c1b1bbc95d2a85c35b5131b4f1e09aee0800 Mon Sep 17 00:00:00 2001 From: norayr Date: Tue, 6 Dec 2016 17:52:15 +0400 Subject: [PATCH 2/5] updated bootstrap sources. -- noch --- bootstrap/unix-44/OPP.c | 2 +- bootstrap/unix-48/OPP.c | 2 +- bootstrap/unix-88/OPP.c | 2 +- bootstrap/windows-48/OPP.c | 2 +- bootstrap/windows-88/OPP.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bootstrap/unix-44/OPP.c b/bootstrap/unix-44/OPP.c index c4ce70c5..9d510a11 100644 --- a/bootstrap/unix-44/OPP.c +++ b/bootstrap/unix-44/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, "INTEGER") == 0 || __STRCMP(obj->name, "SHORTINT") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/unix-48/OPP.c b/bootstrap/unix-48/OPP.c index c4ce70c5..9d510a11 100644 --- a/bootstrap/unix-48/OPP.c +++ b/bootstrap/unix-48/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, "INTEGER") == 0 || __STRCMP(obj->name, "SHORTINT") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/unix-88/OPP.c b/bootstrap/unix-88/OPP.c index fbbb2c4a..dc5f3a8b 100644 --- a/bootstrap/unix-88/OPP.c +++ b/bootstrap/unix-88/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, "INTEGER") == 0 || __STRCMP(obj->name, "SHORTINT") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/windows-48/OPP.c b/bootstrap/windows-48/OPP.c index c4ce70c5..9d510a11 100644 --- a/bootstrap/windows-48/OPP.c +++ b/bootstrap/windows-48/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, "INTEGER") == 0 || __STRCMP(obj->name, "SHORTINT") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/windows-88/OPP.c b/bootstrap/windows-88/OPP.c index fbbb2c4a..dc5f3a8b 100644 --- a/bootstrap/windows-88/OPP.c +++ b/bootstrap/windows-88/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, "INTEGER") == 0 || __STRCMP(obj->name, "SHORTINT") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); From 58ea173d9446848578abc5b7757d1bf4e2750fae Mon Sep 17 00:00:00 2001 From: norayr Date: Tue, 6 Dec 2016 18:28:33 +0400 Subject: [PATCH 3/5] added "showdef" related information to the readme. -- noch --- ReadMe.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ReadMe.md b/ReadMe.md index b5dbdb74..b7cfc40e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -101,6 +101,27 @@ executable binary. Execute as usual on Linux ('./hello') or Windows ('hello'). +In order to know module's interface, use "showdef" program. + +``` + $ showdef Out.sym +DEFINITION Out; + + VAR + IsConsole-: BOOLEAN; + + PROCEDURE Char(ch: CHAR); + PROCEDURE Flush; + PROCEDURE Int(x: INT64; n: INT64); + PROCEDURE Ln; + PROCEDURE LongReal(x: LONGREAL; n: INT16); + PROCEDURE Open; + PROCEDURE Real(x: REAL; n: INT16); + PROCEDURE String(str: ARRAY OF CHAR); + PROCEDURE Ten(e: INT16): LONGREAL; + +END Out. +``` Also see [**Compiling**](/doc/Compiling.md). From d21037642107723c889efb8e768538db9edd229a Mon Sep 17 00:00:00 2001 From: norayr Date: Tue, 6 Dec 2016 20:35:58 +0400 Subject: [PATCH 4/5] reverted back to using string literals. -- noch --- src/compiler/OPP.Mod | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/compiler/OPP.Mod b/src/compiler/OPP.Mod index 3dedb545..0ff9b7fb 100644 --- a/src/compiler/OPP.Mod +++ b/src/compiler/OPP.Mod @@ -922,14 +922,14 @@ 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; CheckMark(obj^.vis); IF sym = OPS.eql THEN - IF (obj^.name = OPT.sinttyp.strobj.name) OR - (obj^.name = OPT.inttyp.strobj.name) OR - (obj^.name = OPT.linttyp.strobj.name) OR - (obj^.name = OPT.hinttyp.strobj.name) OR - (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 + IF (obj^.name = "SHORTINT") OR + (obj^.name = "INTEGER") OR + (obj^.name = "LONGINT") OR + (obj^.name = "HUGEINT") OR + (obj^.name = "REAL") OR + (obj^.name = "LONGREAL") OR + (obj^.name = "SET") OR + (obj^.name = "CHAR") OR (obj^.name = "TRUE") OR (obj^.name = "FALSE") THEN OPM.Mark(-310, OPM.curpos); (* notice about aliasing of predefined type *) END; From 576c57b39b06896d4db5f75384f39c7fef7710cf Mon Sep 17 00:00:00 2001 From: norayr Date: Tue, 6 Dec 2016 20:38:09 +0400 Subject: [PATCH 5/5] update of bootstrap sources. --- bootstrap/unix-44/OPP.c | 2 +- bootstrap/unix-48/OPP.c | 2 +- bootstrap/unix-88/OPP.c | 2 +- bootstrap/windows-48/OPP.c | 2 +- bootstrap/windows-88/OPP.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bootstrap/unix-44/OPP.c b/bootstrap/unix-44/OPP.c index 9d510a11..ebecc1ea 100644 --- a/bootstrap/unix-44/OPP.c +++ b/bootstrap/unix-44/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, "SHORTINT") == 0 || __STRCMP(obj->name, "INTEGER") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/unix-48/OPP.c b/bootstrap/unix-48/OPP.c index 9d510a11..ebecc1ea 100644 --- a/bootstrap/unix-48/OPP.c +++ b/bootstrap/unix-48/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, "SHORTINT") == 0 || __STRCMP(obj->name, "INTEGER") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/unix-88/OPP.c b/bootstrap/unix-88/OPP.c index dc5f3a8b..4db27f7d 100644 --- a/bootstrap/unix-88/OPP.c +++ b/bootstrap/unix-88/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, "SHORTINT") == 0 || __STRCMP(obj->name, "INTEGER") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/windows-48/OPP.c b/bootstrap/windows-48/OPP.c index 9d510a11..ebecc1ea 100644 --- a/bootstrap/windows-48/OPP.c +++ b/bootstrap/windows-48/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, "SHORTINT") == 0 || __STRCMP(obj->name, "INTEGER") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym); diff --git a/bootstrap/windows-88/OPP.c b/bootstrap/windows-88/OPP.c index dc5f3a8b..4db27f7d 100644 --- a/bootstrap/windows-88/OPP.c +++ b/bootstrap/windows-88/OPP.c @@ -1665,7 +1665,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq) obj->typ = OPT_undftyp; OPP_CheckMark(&obj->vis); if (OPP_sym == 9) { - if (((((((((__STRCMP(obj->name, OPT_sinttyp->strobj->name) == 0 || __STRCMP(obj->name, OPT_inttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_linttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_hinttyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_realtyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_lrltyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_settyp->strobj->name) == 0) || __STRCMP(obj->name, OPT_chartyp->strobj->name) == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { + if (((((((((__STRCMP(obj->name, "SHORTINT") == 0 || __STRCMP(obj->name, "INTEGER") == 0) || __STRCMP(obj->name, "LONGINT") == 0) || __STRCMP(obj->name, "HUGEINT") == 0) || __STRCMP(obj->name, "REAL") == 0) || __STRCMP(obj->name, "LONGREAL") == 0) || __STRCMP(obj->name, "SET") == 0) || __STRCMP(obj->name, "CHAR") == 0) || __STRCMP(obj->name, "TRUE") == 0) || __STRCMP(obj->name, "FALSE") == 0) { OPM_Mark(-310, OPM_curpos); } OPS_Get(&OPP_sym);