ну, я в итоге да: сделал ленивое, потому что так проще. сайд-эффект:
## Код:
```
CONST
  Love = Base + 69;
  Hell = Base + 666;
  Base = 10000;
```

конечно, работает. и процедуры компилируются строго те, которые используются. и типы. да, уже можно объявить процедуру, и даже её вызвать.

а теперь всё это надо переделывать, потому что Nanojit поддерживает максимум восемь аргументов. минус один на потенциальный `self`, минус один на непрямой вызов (потому что так там сделано: если надо непрямой вызов, то адрес передаётся последним аргументом). осталось шесть. маловато будет! один открытый массив два съедает. придётся делать логику заворачивания в скрытую структуру на стеке. собственно, avm+ и tamarin так и делали.

в принципе — этот контекст всяко полезен, потому что он и для вложеных процедур нужен.

вот сижу и думаю: если сделать полноценную поддержку Component Pascal — можно BBCB из исходников при старте поднимать. совершенно бесполезно, жутко неэффективно, но забавно. только LONGINT придётся даблом эмулить, с ограничением на 51 бит. делать такое, конечно, лень, но.

на всякий случай напомню, что я всё ещё обкатываю Nanojit, а не просто пилю очередной бесполезный компилятор оберона. ;-)