fixed issue #30 (SYSTEM.VAL)

This commit is contained in:
AntKrotov committed 2025-06-05 00:39:45 +03:00
1 parent d5df50061a
commit 6058ffe801
11 files changed
+18 -18

No files matched your search

BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -104,7 +104,7 @@ UTF-8 с BOM-сигнатурой.
PROCEDURE SADR(x: строковая константа): INTEGER
возвращает адрес x
PROCEDURE VAL(v: любой тип; T): T
PROCEDURE VAL(T; v: любой тип): T
v - переменная;
интерпретирует v, как переменную типа T
+1 -1
View File
@@ -110,7 +110,7 @@ UTF-8 с BOM-сигнатурой.
PROCEDURE WSADR(x: строковая константа (WCHAR)): INTEGER
возвращает адрес x
PROCEDURE VAL(v: любой тип; T): T
PROCEDURE VAL(T; v: любой тип): T
v - переменная;
интерпретирует v, как переменную типа T
+1 -1
View File
@@ -142,7 +142,7 @@ UTF-8 с BOM-сигнатурой.
PROCEDURE WSADR(x: строковая константа (WCHAR)): INTEGER
возвращает адрес x
PROCEDURE VAL(v: любой тип; T): T
PROCEDURE VAL(T; v: любой тип): T
v - переменная;
интерпретирует v, как переменную типа T
+1 -1
View File
@@ -134,7 +134,7 @@ UTF-8 с BOM-сигнатурой.
PROCEDURE WSADR(x: строковая константа (WCHAR)): INTEGER
возвращает адрес x
PROCEDURE VAL(v: любой тип; T): T
PROCEDURE VAL(T; v: любой тип): T
v - переменная;
интерпретирует v, как переменную типа T
+3 -3
View File
@@ -1,7 +1,7 @@
(*
BSD 2-Clause License
Copyright (c) 2020-2022, Anton Krotov
Copyright (c) 2020-2022, 2025 Anton Krotov
All rights reserved.
*)
@@ -54,7 +54,7 @@ BEGIN
IF bit_depth = 32 THEN
printf3(SYSTEM.SADR("%*.*E"), width, MAX(MIN(width - 8, 15), 1), x)
ELSE
printf4(SYSTEM.SADR("%*.*E"), width, MAX(MIN(width - 8, 15), 1), SYSTEM.VAL(x, INTEGER))
printf4(SYSTEM.SADR("%*.*E"), width, MAX(MIN(width - 8, 15), 1), SYSTEM.VAL(INTEGER, x))
END
END Real;
@@ -64,7 +64,7 @@ BEGIN
IF bit_depth = 32 THEN
printf3(SYSTEM.SADR("%*.*f"), width, precision, x)
ELSE
printf4(SYSTEM.SADR("%*.*f"), width, precision, SYSTEM.VAL(x, INTEGER))
printf4(SYSTEM.SADR("%*.*f"), width, precision, SYSTEM.VAL(INTEGER, x))
END
END FixReal;
+3 -3
View File
@@ -1,7 +1,7 @@
(*
BSD 2-Clause License
Copyright (c) 2020-2022, Anton Krotov
Copyright (c) 2020-2022, 2025 Anton Krotov
All rights reserved.
*)
@@ -74,7 +74,7 @@ BEGIN
IF bit_depth = 32 THEN
printf3(SYSTEM.SADR("%*.*E"), width, MAX(MIN(width - 8, 15), 1), x)
ELSE
printf4(SYSTEM.SADR("%*.*E"), width, MAX(MIN(width - 8, 15), 1), SYSTEM.VAL(x, INTEGER))
printf4(SYSTEM.SADR("%*.*E"), width, MAX(MIN(width - 8, 15), 1), SYSTEM.VAL(INTEGER, x))
END
END Real;
@@ -84,7 +84,7 @@ BEGIN
IF bit_depth = 32 THEN
printf3(SYSTEM.SADR("%*.*f"), width, precision, x)
ELSE
printf4(SYSTEM.SADR("%*.*f"), width, precision, SYSTEM.VAL(x, INTEGER))
printf4(SYSTEM.SADR("%*.*f"), width, precision, SYSTEM.VAL(INTEGER, x))
END
END FixReal;
+6 -6
View File
@@ -1,7 +1,7 @@
(*
BSD 2-Clause License
Copyright (c) 2018-2023, Anton Krotov
Copyright (c) 2018-2023, 2025 Anton Krotov
All rights reserved.
*)
@@ -1483,6 +1483,11 @@ BEGIN
PARS.checklex(parser, SCAN.lxLROUND);
PARS.Next(parser);
getpos(parser, pos);
qualident(parser, t);
PARS.check(t.obj = eTYPE, pos, 79);
PARS.checklex(parser, SCAN.lxCOMMA);
PARS.Next(parser);
getpos(parser, pos);
designator(parser, e);
PARS.check(isVar(e), pos, 93);
IF PROG.isOpenArray(e._type) THEN
@@ -1492,11 +1497,6 @@ BEGIN
DEC(n)
END
END;
PARS.checklex(parser, SCAN.lxCOMMA);
PARS.Next(parser);
getpos(parser, pos);
qualident(parser, t);
PARS.check(t.obj = eTYPE, pos, 79);
e._type := t._type;
PARS.checklex(parser, SCAN.lxRROUND);
PARS.Next(parser)
+2 -2
View File
@@ -23,8 +23,8 @@ CONST
max32* = 2147483647;
vMajor* = 1;
vMinor* = 67;
Date* = "04-jun-2025";
vMinor* = 68;
Date* = "05-jun-2025";
FILE_EXT* = ".ob07";
RTL_NAME* = "RTL";