Что значит всё? ЕРМ-переменные используются только как посредники между итоговым кодом и ЕРМ. Суть динамического языка в лёгкости отладки (например, просмотр любых данных в консоли), загрузке/отгрузке и возможности редактировать код прямо на лету (нет стадии компиляции). Иначе берём компилируемый язык + вызываем ExecErmCmd для команд. Не для циклов, не для логики, не для хранения данных.
Sav, сделай механизм универсального вызова машинных функций. В ЕРМ-то аналог есть.