Исправлено создание локальных типов и констант;
Исправлен пропуск переводов строк в комментариях;
Исправлены операторы DIV и MOD;
Добавлены типы SYSTEM.INT32 и SYSTEM.SET32;
Процедуры INC и DEC могут принимать второй аргумент.
Исправлен пропуск переводов строк в комментариях;
Исправлены операторы DIV и MOD;
Добавлены типы SYSTEM.INT32 и SYSTEM.SET32;
Процедуры INC и DEC могут принимать второй аргумент.
Исправлен пропуск фактических аргументов если первый конструктор SET
Поправлены объявления типов наперёд
Добавлен счёт строк
RTL перенесена в отдельную директорию
Можно задавать директории для поиска модулей
Слегка перепилена реализация модуля Files
Фиксы проверки типов
Исправлена конверсия строки единичного размера в символ в сравнениях
Поправлен hardcast int <-> real
Добавлены функции SYSTEM.CC и SYSTEM.VAL
Добавлена функция SYSTEM.ROT
Добавлена функция SYSTEM.LSH
Добавлен тип SYSTEM.PTR
Добавлена поддержка подчёркиваний
Обновление TODO списка
Исправлена порча памяти. На этот раз точно.
Добавлен модуль SYSTEM и тип SYSTEM.TYPE
Исправлены VAR-параметры, добавлены модули Files и Strings
Иправлен(?) мемори коррапшн
Исправлено падение при использовании процедурного типа
JVM: Добавлена инициализация модулей
Добавлены тесты экспорта
Меньше высера в тестах
Унарный минус работает как описанов в Дубовых требованиях
Обновление TODO списка
Теперь можно указывать куда сгружать высер кодогенератора
Добавлены функции LONG и SHORT
Добавлены процедуры INC DEC INCL EXCL
Добавлены функции CHR ENTIER LEN ORD
Добавлены функции ASH и ODD, к другим добавлена свёртка констант
Обновиление notes
Добавлена свёртка констант
JVM: Добавлено сравнение строк
Правила совместимости типов приведены в соответствие со страндатром
Программа прерывается если в конструкциях CASE и WITH не выполняется ни одно условие и нет ветви ELSE
Запрещён возврат массива или записи функцией
Подпрален FOR для соответствия стандарту
Переделано присваивание строк и добавлены процедуры COPY, ASSERT и HALT
Обновлён TODO-список
Исправлено присваивание и синхронизация сравнений со стандартом
Проверка ораны типа теперь как описано в стандарте
Исправлена инициализация записей
Исправлено присваивание NIL
Изменены размеры примитивных типов
Добавлена проверка базы записи на рекурсивное расширение
TRUE и FALSE теперь определены как константы
Добавлен автокаст строки единичного размера в символ
Добавлена загрузка исходника из файла
JVM: Реализован доступ к локальным переменным ровнем выше из локальных процедур
JVM: Добавлены фреймы (без передачи их локальным функциям)
JVM: Реализованы локальные процедуры (без доступа к локальным переменным уровнем выше)
JVM: Реализованы VAR-параметры
Добавлена конструкция WITH
Добавлена конструкция CASE
Добавлен оператор IN
Добавлен тип SET
Добавлен оператор IS
Добавлены функции MIN, MAX и SIZE
Добавлена конструкция LOOP/EXIT
Добавлена конструкция FOR
Добавлена конструкция REPEAT-UNTIL
Добавлена конструкция WHILE-DO
Добавлена конструкция ELSIF-THEN
JVM: Исправлено сравнение LongInt, Real и LongReal
Добавлена конструкция IF-THEN-ELSE-END
Добавлены строки
JVM: исправлены указатели на процедуры: больше не требуется поддержка со стороны модуля для их работы, а так же исправлены названия классов во избежание конфликтов с jvm.
Добавлен тип CHAR
Поправлен каст и использование указателей на записи
Теперь возможен вызов процедур-переменных из полей записей
Добавлен автокаст типов-записей
Добавлен ручной каст типов-записей
Добавлено расширение типа
Удалены бэкэнды dummy и libgccjit. Копилятор теперь ориенторован только для jvm и только для дальнейшей раскрутки.
Исправлены выражения с операторами
Добавлены типы разных размеров
JVM: Добавлена частичная реализация модуля Out
JVM: Реализованы переменные-процедуры в генераторе
JVM: Добавлено копирование массивов и записей переданных в процедуры со статическими типами параметров (в том числе и копирование открытых массивов)
JVM: Переписана функция для когенерации инициализации массивов
JVM: Добавлено копирование массивов
JVM: Добавлено копирование записей
Поправлено определение создания указателя на указатель
JVM: Можно создавать динамические массивы
JVM: Добавлена инициализация глобальных переменных с типами статических массивов или записей
JVM: Добавлена инициализация массива созданного через NEW
JVM: Добавлена заглушка на копирование массивов или записей
JVM: Добавлены массивы и аллокация фиксированной размерности (без инициализации, нужны циклы)
JVM: Добавлена инициализация статических полей записи при и использовании NEW
JVM: Реорганизация всего кода кодогенератора
JVM: Реализован доступ к полям записей и NEW для записей(без инициализации полей)
JVM: Добавлены логические OR и AND
JVM: Добавлено больше операторов
JVM: Реализованы локальные переменные
JVM: Реализован вызов процедур-функций
JVM: Добавлен вызов процедур
Первые наработки бэкэнда для jvm
Изменение структуры проекта
Добавлены открытые массивы