- ✓ MAX - не считая того, что нет выражения if и получается предписание
- ✓ #IF
- ✓ unless - будем считать, что будет работать как #IF, т.к. разница минимальна
- inline - получается, что каждая inline функция должна быть в интерпретаторе - отсюда много следствий
- list<T>
1. список импорта должен быть общим, а не отдельно макроимпорт и отдельно обычный. Но можно помечать атрибутом {макро} импорты, из которых ещё и макросы нужны.
2. не хватает механизма, благодаря которому макрофункция возникнет, хотя возможно сами макросы этот механизм и создадут
3. есть проблема с сигнатурой макрофункции - сейчас у нас каждый макрос - это процедура, но с другой сигнатурой, чем при использовании. Хотя можно использовать ЛХА для передачи интерпретатора
4. цитату можно делать в виде строки, к которой в начале прилеплять стартовую позицию - тогда это почти строковый литерал, плюс функция-обёртка. Тогда её можно всё же запихнуть в файл модуля. Но потренироваться можно на UCS32.
Короче, ещё пахать и пахать, а время вышло почти.