index e07d89d002f2b95fb1f22405e53549dcb974a228..977d7cd3e9966f7e5280050849215b3eae712114 100644 (file)
--- a/notes
+++ b/notes
-- нету проверки экспорта для чтения
-- нету списков переменных/параметров. (* VAR x, y, z : INTEGER; *)
-- нету комментариев
-
-- нету тестовых процедур для ввода-вывода
-- нету процедуры NEW
+- размеры типов не вычисляются (oberon_generator_get_type_size)
+ в libgccjit нет средств получения размера типов, в т.ч. структур
+ Придётся гадать.
+- процедура NEW создаёт массивы только статической размерности (и не создаёт структуры).
- нету открытых массивов
- нету операторов if, while и т.д.
+- нет символов и строк
+- импортируемые модули не инициализируются (секция begin)
+- нету типа real, оператор / должен возвращать дробный результат
- нету типа set
- не реализована свёртка констант
- не протестированы типы разнных размеров
-- не реализовано присваивание к переменным-процедурам:
+- не Ñ\80еализовано пÑ\80иÑ\81ваивание пÑ\80оÑ\86едÑ\83Ñ\80 к пеÑ\80еменнÑ\8bм-пÑ\80оÑ\86едÑ\83Ñ\80ам:
в libgccjit нет средств получения указателя на функцию.
- Как решение - получение указателя в основной программе.
+ Как решение-костыль - получение указателя в основной программе и сохранение в переменной.
- не реализовано расширение типа record:
libgccjit не умеет в классы. Проверки в рантайме надо делать вручную.
- не реализован автокаст: