Цитата Сообщение от Andrew771 Посмотреть сообщение
Bolt, у тебя сейчас кодогенерация происходит в пи-код или сразу в ассемблер?
В пи-код. Который пока никак не оптимизируется и вообще, как мне кажется, лишний, я уже объяснял почему.
Цитата Сообщение от Andrew771 Посмотреть сообщение
Для выражений рекомендуют в книжках сначала определить максимальный используемый числовой тип данных в выражении и уже отталкиваться от этого, какое выражение - 8-битное, 16-битное, 32-битное и т.д.
Об этом я тоже думал, но можно сделать ещё круче Попытался, запутался, не осилил, отложил на потом, приведя всё к 32 битам.
Надо синтаксическое дерево и пи-код в порядок привести. В них сейчас не всё корректно заполняется, в результате работает "на честном слове". Знак-беззнак до сих пор кое-где не работает. Или, например, выражение (@a+n)^ обрабатывается правильно, а (@a+n+m)^ теряет тип указателя. А если поверх всего этого ещё оптимизацию наложить - вообще потом концов не найдёшь.