гибридный компилятор
Компилятор компилирует исходную программу в файл с целевыми инструкциями для процессора или виртуальной машины для байткода (JVM/CLR и т.д), а интерпретатор - интерпретирует код по ходу чтения.
Интерпретатор по-проще реализовать будет. Можно написать также транслятор на другой язык. Обычно используют либо Си, либо JavaScript (ECMAScript). Если в Си, то в схеме участвует сторонний компилятор Си.
Целевые программы на JavaScript будут выполнены либо в браузере, либо в интерпретаторах JavaScript.
Лучше читать источники на английском:
Compiler Construction (PDF) Никлауса Вирта - создателя языков Паскаль, Модула, Оберон, Лола.
Полезный ресурс лектора по компьютерным наукам Охфорда
Spivey's CornerCourse outline (Compilers)Glossary (Compilers)
На его сайте есть информация по виртуальным машинам для байткода.
Добавлено:
есть также интересный проект - компилятор компиляторов
Coco/R. При помощи грамматики EBNF твоего языка он сможет сгенерировать код самого компилятора языка на C#, Java и некоторых других. Этот код может быть хорошей отправной точкой. Можно экспериментировать.