Цитата Сообщение от AzAtom Посмотреть сообщение
Почему вы решили компилировать в ассемблерный текст, который затем ещё раз надо компилировать? Не проще ли сразу генерировать исполняемый код?
Ваш подход может помочь только в одном случае, если программист захочет доработать ваши процедуры или заменить их на свои.
Можно было бы. Только тогда надо забыть о пользовательских процедурах на ассемблере, иначе мне придется еще писать и кросс-ассемблер. В принципе, насколько я знаю, можно сделать BAT-ник, в котором две команды:
- кросс-компиляция Паскаля в Асм (это ZX Like Pascal умеет);
- запуск кросс-ассемблера (например, sjasm) и подсовывание ему асмовского файла.
Знающие люди, надеюсь, напишут тут, как это сделать.

В отдаленном будущем планируется сделать родной (не кросс) Паскаль для Спектрума. Причем да, более приближенный к оригинальному Паскалю. Тем более, это позволит компилировать исходник компилятора самим компилятором, как учит Н.Вирт. Не на ассемблере же его писать.


Цитата Сообщение от AzAtom Посмотреть сообщение
И думаете ли об оптимизации? Например, в циклах вставлять тело процедур вместо вызовов процедур. Это полезно, если вызываемые процедуры небольшие, а сам цикл выполняется много раз, тогда программа будет гораздо быстрее исполняться.
Оптимизации многие есть. А вот раскрытие циклов не стал делать, т.к. посчитал, что для вывода спрайтов достаточно встроенных моих процедур (там раскрытие циклов сделано уже в асмовском коде), а для остального вроде и не надо + отжирает память.


Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
я за развитие в сторону канонического Borland Turbo Pascal, поэтому в своё время и советовал Андрею взять в исходниках компилятор Turbo Pascal v3.0 для Z80 и начать его развивать, но он пошёл по своему пути
По-видимому, придется. Т.к. изобретать велосипед - неблагодарное дело. Просто, это мой первый блин COM-ом, хотел сам написать, чтоб прочувствовать. На самом деле, это нелегко написать полноценный компилятор, подтверждение тому - постоянно всплывающие баги, так что лучше пользоваться наработками опытных. Я до сих пор не могу сделать поддержку хотя бы параметров процедур - головоломка. Кстати, пробовал брать полный исходник Оберона из книги Вирта "Построение компиляторов" и переделать на Паскаль, но пока тоже не осилил.

- - - Добавлено - - -

Цитата Сообщение от AzAtom Посмотреть сообщение
И думаете ли об оптимизации?
Моя статья по генерации кода и оптимизациям ZX Like Pascal есть тут или тут