Посмотри в вики на тему Компилятор. Узнаешь много интересного https://en.wikipedia.org/wiki/Compiler Но направление мысли правильное. Именно так всё и происходит
Языки программирования создаются на бумажке. Язык - это всего лишь некоторая нотация, физическая реализация ей вовсе не необходима.
Реализации же делаются так:
- Для интерпретируемых языков - пишутся на компилируемых языках. - Для компилируемых языков - пишется первая версия компилятора нового языка на любом другом языке, даже необязательно компилируемом. Этот компилятор обладает минимумом функций, необходимых, ЧСХ, для создания компилятора. И все последующие версии компилятора пишутся на новом языке же и компилируются предыдущей версией.