Не важно, какой язык программирования ты будешь разрабатывать и компилятор. Главное, разрабатывай его на каком-либо дистрибутиве GNU/Linux и обязательно по лицензии GNU GPL. Тогда поимеешь успех. Ибо только там реально оценят твои достижения.
Как раз тут без теории не обойтись. Для начала советую прочитать "Компиляторы: принципы, технологии и инструменты " (Книга дракона, второе издание вышло в 2007 году). Определить конкретно платформу для которой пишется компилятор, ведь компиляция это трансляция программы на язык машины, или на промежуточный, близкий к машинному. Дело это не тривиальное. Существуют компиляторы компиляторов, специальные языки для написания последних и уйма всего... А в учебных целях можно и в Visual Studio на C/C++ или ещё на каком то языке написать компилятор и язык к нему, но очень простенький. А для наглядности и конкретных примеров Google тебе в помощь.