Compiler v2.3.0
Нововведения:
- Добавлен логический тип
bool
- Логические операции теперь возвращают результат типа
bool
, а логические значения не могут участвовать в арифметических операциях - Добавлены константы логического типа
true
иfalse
- Добавлена поддержка двоичных, восьмеричных и шестнадцатиричных целочисленных литералов
upb
теперь является унарным оператором, принимающим массив в качестве операнда- Удалена поддержка оператора
goto
и пользовательских меток
Улучшения:
- Проведен рефакторинг разбора операторов
- В тесты на генерацию кода добавлены
assert
для автоматической проверки значений переменных - В API синтаксического дерева разбора добавлены
assert
для проверки корректности обращения - Значительно доработано восстановления разбора выражений и операторов после обнаружения ошибок
- База тестов на лексические ошибки, а также синтаксические и семантические ошибки в выражениях и операторах пересортирована и дополнена
Исправления:
- Возвращена печать символов и строк при помощи функций
print
иprintid
- Добавлены ограничения на вид операндов тернарного оператора