что ты понимаешь под подменой интерпретатора? Интепретатор вызывает другой интерпретатор?
Есть несколько интерпретаторов, лежащих, например, в мапе по текстовому ключу. В сценарии ты встречаешь метод, который говорит: ну все, теперь используем другую имплементацию. И ты ее переключаешь.