DEADSOFTWARE

Исправлено чтение и запсь в Files, Texts портирован из voc, добавлены типы SYSTEM...
[dsw-obn.git] / notes
diff --git a/notes b/notes
index 7279e3fcdb420b31f3efda7f9bccf2d185766c5c..3656a8651495460e27a9c1633f553fed5bacb96f 100644 (file)
--- a/notes
+++ b/notes
@@ -1,22 +1,41 @@
-- Нужен тип представляющий типы
-    Требуется для оператора IS и некоторых встраиваемых функций
-
-- Нет типа SET
-- Ð\9dеÑ\82 Ð¾Ð¿ÐµÑ\80аÑ\82оÑ\80а IS
-- Нет конструкции CASE
-- Нет конструкции FOR
-- Нет конструкции LOOP/EXIT
-- Ð\9dеÑ\82 ÐºÐ¾Ð½Ñ\81Ñ\82Ñ\80Ñ\83кÑ\86ии WITH
-- Нет модуля SYSTEM
-- Нет функций ASH CAP CHR ENTIER LEN LONG MAX MIN ODD ORD SHORT SIZE
-- Нет процедур ASSERT COPY DEC EXCL HALT INC INCL
-- Не реализована свёртка констант
-- Не счёта строк / столбцов
-
-- Ð\9dÑ\83жно Ð¿Ñ\80обежаÑ\82Ñ\8cÑ\81Ñ\8f Ð¿Ð¾ Ñ\81Ñ\82андаÑ\80Ñ\82Ñ\83 Ð¸ Ð²Ñ\81Ñ\91 Ð¿ÐµÑ\80епÑ\80овеÑ\80иÑ\82Ñ\8c.
-
-- Нужны средства создания биндингов. На данный момент реализуемо как заглушки для модулей.
+- Jasmin создаёт ошибку в float константах, надо как-то порешать.
+- Нужно делать проверку границ при касте индекса массива с типом HUGEINT
+
+- Нужно передавать информацию о файле и строках в кодогенератор.
+- Ð\9dеÑ\82 Ð¿Ñ\80оÑ\86едÑ\83Ñ\80 Ð¿Ñ\80ивÑ\8fзаннÑ\8bÑ\85 Ðº Ñ\82ипм (10.2)
+- Не полная реализация модуля Files 
+    * Нет процедур ReadNum WriteReal WriteLReal WriteNum WriteSet WriteBool 
+
+- Ð Ð°Ð·Ñ\80Ñ\88иÑ\82Ñ\8c Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81вие RETURN Ð² Ñ\84Ñ\83нкÑ\86иÑ\8fÑ\85 Ð±ÐµÐ· BEGIN
+    С вкорячиванием трапа, естественно.
+- Нужно передлать кодогенератор что бы складировать код в структурах а не напрямую срать в файлы
+
+- Не полная реализация модуля Strings 
+    * Не реализованы процедуры Insert Append Delete Replace Extract Pos
+- Сделать проверку повторов в CASE.
+- Ð¡Ð´ÐµÐ»Ð°Ñ\82Ñ\8c Ð½Ð¾Ñ\80малÑ\8cнÑ\83Ñ\8e Ð¿Ñ\80овеÑ\80кÑ\83 Ð½Ð°Ð»Ð¸Ñ\87иÑ\8f RETURN.
+
+- Нужны средства создания биндингов. (oakwood 3.5)
 - Любая ошибка фатальна
+
+- Примеры -5 DIV 3 и -5 MOD 3 работают не так как в (8.2.2)
+    Нужен другой тип округления?
+
+- Неплохо бы иметь оператор ** (oakwood 3.7)
+- Неплохо бы иметь параметры только для чтения (oakwood 5.13)
+- Надо что-то делать с ситуацией описанной в (okawood 2.4)
+
+- Запретить проверку типа и приведене типа если указатель имеет значение NIL (oakwood 2.3.3)
+- Запретить доступ к битам SET которые не входят в пределы 0..MAX(SET) (oakwood 2.3.5)
+- Запретить каст через SHORT если значение не в пределах результата (в рантайме чтоли?) (oakwood 2.3.6)
+- Нет проверки переполнений (oakwood 2.3.8)
 - Нет проверок переполнения в компилтайме.
     Возможно можно заюзать это:
       https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html
+
+- Не полная реализация модуля SYSTEM
+    * Процедуры GETREG PUTREG впринципе вписываются в jvm
+      и могут быть полезны при реализции рефлекции
+    * Остальное не имеет смысла в jvm
+- JVM: Не достаточно средств для реализации рефлексии на уровне локальных процедур.
+    Как минимум нужно каждой функции добавлять фрейм к параметрам (динамическая связь?)