Как упоминалось другими авторами, вы можете написать язык практически на любом языке, и часто одна из первых программ, написанных на этом языке, является компилятором для самого языка.
Однако, есть некоторые языки, которые были специально разработаны для написания компьютерных языков - это lex, yacc, flex, bison (обновленные версии lex и yacc). Они позволяют вам представить лексическую и грамматическую спецификацию некоторых языков (я считаю, LLR или LALR) в форме, которая может быть скомпилирована в эффективный распознаватель языка.
Вам все равно придется самостоятельно писать другие части языкового компилятора / интерпретатора, то есть семантический анализ, генерацию кода.
См
http://dinosaur.compilertools.net/