- Разрешено не инициализировать часть полей структуры в
конструкторе структуры {имя_типа}(Field1=Value1,
... )
- Добавлен модификатор PUBLIC для
метода, позволяющий объявить функцию публичной независимо от первой
буквы имени (по умолчанию, регистр первой буквы имени функции
определяет её публичность: начинающиеся со строчной буквы имена не
считаются публичными).
- Изменения в синтаксисе ограничений на константные параметры:
- добавлена форма
RESTRICT x IN FLAGS
[a, b,
...], позволяющая ограничить целочисленный / байтовый параметр
комбинацией флагов a | b | ... (объединённых
оператором '|').
- Для целочисленных/байтовых
параметров допускается использование именованных целочисленных
констант в позициях ограниченных константами параметров (в том числе
в случае набора флажков).
- Реализована
форма
IF x IS CONST, THEN y ... (где
допускается x == y). Позволяет проверить
ограничение для случая, когда параметр задан константой, и не
проверять для прочих случаев.
- Для набора констант (типов INT, BYTE, STR)
может быть задано имя набора, на которое
можно ссылаться при определении ограничения (RESTRICT
x IN {имя-набора}).
- Изменения в поддержке NATIVE-функций:
- теперь нативная функция состоит либо только из константной строки
(начинающейся с кавычки или '@'), либо
может начинаться как обычная функция с кодом AL-IV,
и в качестве последнего оператора иметь директиву
NATIVE строчное-выражение
- Как результат,
упрощается изготовление враппер-функций, которым до вызова целевой
функции требуется выполнить дополнительные действия.
- Несколько изменилась структура кода, генерируемого для
нативной функции: теперь для неё автоматически формируется пролог, и
финальный возврат переменной RESULT.
- Разрешено иметь 4 и более параметров для нативных функций
(атрибут NATIVE) без необходимости
добавлять атрибут BAD для класса.
- Изменена структура выдаваемой в .test-файл
информации:
- теперь для строк выполненного кода вместо счётчика
выполнений сохраняется номер
строки теста, из которого вызывался код функции в последний раз
- (для
тестируемых методов абстрактного класса запоминается так же номер
строки в тестах вызывающего класса, в младших разрядах).
- Планируется
подготовка генератора отчёта о тестировании, с выдачей этой
информации в виде интерактивного html-документа.
- Для AL4toJava компилятора, добавлены
опции:
- $PAUSE - для паузы после каждого этапа
компиляции/запуска тестов/запуска программы;
- $CP - для задания опции
-classpath;
- $TRACE - для задания трассировки (в
консоли) по функциям (и по строкам внутри заданной функции, если
указано имя конкретной функции).
- Начата поддержка OpenGL:
- для
C# используется библиотека
CSGL12, но без необходимости использования внешних
DLL,
- для C++ wxGLCanvas,
- для
Delphi - стандартный OpenGL12,
- для Java - JOGL (помимо
jar требует DLL-библиотеки
из поставки jogl).
|