MaxGraey
Это отдельный единственный модуль да. Просто он генериться динамически исходя из информации полученной от интерпретаптора. Такой себе PGO
У меня немного по другой схеме язык будет работать. Модуль с кодом на моём языке содержит дерево выражений. Пользователь открывает модуль и произвольно вычисляет одно или несколько из них, причём скорее всего только один раз. Если в модуле, к примеру, 1000 выражений, а пользователя интересует только одно, не нужно оптимизировать их все при загрузке модуля. Нужно оптимизировать только одно из них, причём сразу по требованию, потому что оно считается только один раз. Да и вообще пользователь не хочет ждать.
Интерпретатор обладает достаточной информацией ещё перед вычислением выражения о том, требует ли оно оптимизации. Но оптимизировать надо только те выражения, которые запросит пользователь, о чём интерпретатор заранее знать не может.