Как работают скриптовые языки встроенные в приложения?
Напомню, что языки делятся на компиллируемые и интерпретируемые.
Для того чтобы интерпретируемый язык выполнялся нужен компонент : "Интерпретатор". Это 1 или более исполняемых файлов предоставляющий некий интерфейс. Когда вы пишите свой продукт к примеру на C++, а затем компилируете, чтобы получить PE32\PE32+ файлы, то вам никто не мешает вместе с вашим продуктом поставлять и исполняемые файлы интерпретатора, к примеру для Python. Этот интерпретатор предоставляет API, к примеру в виде набора C-хидеров и набора lib-файлов. Используя, который вы можете вкомпилить в свой продукт связь с этим интерпретатором. А далее, просто подавать python-код в интерпретатор.
Можете почитать Extending and Embedding the Python Interpreter
По сути работает все так же, как и плагины в скомпилированных программах. Есть общий для всех плагинов интерфейс, через который приложение с ними и работает. 
Собственно клиентская часть не меняется как таковая - exe остается тем же. Но вот логика обработки каких то данных перекладывается на плагин. А уже как выполнен этот плагин - приложению по сути все равно, лишь бы реализовывался интерфейс. Поэтому можно в теории и на компилируемых, и на интерпретируемых языках.