На картинке классическое определение Context-free grammar («КС-грамматика» по-русски) в виде квадрупла (4-тупла). Нетерминалы и правила не эквивалентны. Правило — правило развёртки нетерминала (того, что слева от стрелки, в то, что справа).
Как всегда порыться в пейперах и найдутся 3-4 подхода которые просто скорей всего потребуют переписать половину транслятора на монадах или что то типо того
инкрементная компиляция + оптимизации и анализ, работающие в фоне интерактивной системы? (косясь на Pharo Smalltalk)
Бертран Мейер в своё время для Eiffel придумал основную часть компилировать в натив, а изменения поверх — в байт-код чтобы быстрее итерироваться. Правда, за прошедшие годы от этой схемы отказались, как мне кажется.