Эта неделя получилась непродуктивной в плане компиляторостроения. В основном внутренние изменения, никаких новых функций. Плюс появились другие задачи, кроме компилятора.
Планы: оператор case, чтобы запустить demo_z. Так как код пока не оптимизирован и бинарник с картинками имеет объём около 60 килобайт, запускать будем в режиме Spectrum +3, отключая ROM. Следующим пунктом будет поддержка константных выражений в описаниях констант и типов.
Пример:
Код:
const
c=20;
size=c*5+4;
type
tArray=[1..size] of byte;
Потом будет большая работа по внутреннему "тюнингу", после чего, надеюсь, удастся избавиться от приведения всей арифметики к 32 битам, что должно немного уменьшить размер кода и значительно увеличить его скорость.
Ещё очень нужны inline-подпрограммы. Но без оптимизации кода они смысла не имеют.