diff --git a/programs/develop/oberon07/Compiler.kex b/programs/develop/oberon07/Compiler.kex index 3f52139e20..5598014e71 100644 Binary files a/programs/develop/oberon07/Compiler.kex and b/programs/develop/oberon07/Compiler.kex differ diff --git a/programs/develop/oberon07/source/STATEMENTS.ob07 b/programs/develop/oberon07/source/STATEMENTS.ob07 index de418d581e..d7b1d3b67c 100644 --- a/programs/develop/oberon07/source/STATEMENTS.ob07 +++ b/programs/develop/oberon07/source/STATEMENTS.ob07 @@ -1,7 +1,7 @@ (* BSD 2-Clause License - Copyright (c) 2018-2022, Anton Krotov + Copyright (c) 2018-2023, Anton Krotov All rights reserved. *) @@ -1137,7 +1137,7 @@ BEGIN END |PROG.stORD: - IL.AddCmd(IL.opPRECALL, 0); + cmd1 := IL.getlast(); PExpression(parser, e); PARS.check(isChar(e) OR isBoolean(e) OR isSet(e) OR isCharW(e) OR isStringW1(e), pos, 66); IF e.obj = eCONST THEN @@ -1148,6 +1148,12 @@ BEGIN END ELSE IF isBoolean(e) THEN + cmd2 := IL.getlast(); + IL.setlast(cmd1); + IL.AddCmd(IL.opPRECALL, 0); + IL.AddCmd0(IL.opRES); + IL.drop; + IL.setlast(cmd2); IL._ord END END; diff --git a/programs/develop/oberon07/source/UTILS.ob07 b/programs/develop/oberon07/source/UTILS.ob07 index f12a8addc9..eead29b1be 100644 --- a/programs/develop/oberon07/source/UTILS.ob07 +++ b/programs/develop/oberon07/source/UTILS.ob07 @@ -23,8 +23,8 @@ CONST max32* = 2147483647; vMajor* = 1; - vMinor* = 63; - Date* = "21-jan-2023"; + vMinor* = 64; + Date* = "22-jan-2023"; FILE_EXT* = ".ob07"; RTL_NAME* = "RTL";