DEADSOFTWARE

Добавлены открытые массивы
[dsw-obn.git] / notes
diff --git a/notes b/notes
index d8331b14584b22f479cb511a9a1c786bcab1f6e8..0576334c3d003d72efdf80e9946f50d4f68ef97d 100644 (file)
--- a/notes
+++ b/notes
@@ -1,6 +1,29 @@
-- нету типа real, оператор / должен возвращать дробный результат
-- нету открытых массивов
+- открытые массивы работкают криво как статические аргументы процедур
+    Случай 1: не проходит проверки libgccjit
+    (*
+     TYPE Ar = ARRAY OF INTEGER;
+     VAR a : POINTER TO Ar;
+
+     (* так же и с VAR-параметром *)
+     PROCEDURE Ax(x : Ar);
+     END Ax;
+
+     Ax(a);
+     *)
+    Случай 2: массив должен быть указателем, да и ещё копироваться
+    (*
+     TYPE Ar = ARRAY OF INTEGER;
+     VAR a : POINTER TO Ar;
+
+     (* при использовании VAR-параметра работает *)
+     PROCEDURE Ax(x : Ar);
+     END Ax;
+
+     Ax(a^);
+     *)
+
 - нет символов и строк
+- нужен автокаст int -> real для DIV. Да и вообще каст типов.
 
 - нету операторов if, while и т.д.