Я хочу написать интерпретируемый язык на C#, с чего мне начать? Я знаю, как это сделать, используя забавный синтаксический анализ строк, но каков правильный способ?





Это может быть довольно трудным делом, чтобы поступить правильно.
Если у вас нет особых познаний в теории компиляторов, вам, вероятно, стоит сначала прочитать об этом. Если я правильно понимаю этот термин, простое использование «забавного синтаксического анализа строк» ни к чему не приведет.
Первый базовый шаг - написать грамматику вашего языка, которая определяет допустимый синтаксис языка. Такой инструмент, как ANTLR, поможет вам разобраться в деталях, но я бы посоветовал прочитать Книга дракона, так как это каноническая отправная точка, чтобы быстро разобраться в предмете.
Ознакомьтесь с Компилятор Phoenix от Microsoft. Это предоставит множество инструментов, которые вам понадобятся для создания компилятора, ориентированного на собственные или управляемые среды. Среди этих инструментов мы используем оптимизирующий бэкэнд.
Второе предложение Цикна о чтении «Книги дракона» Ахо Сетхи и Уллмана (Википедия, Amazon).
RGR
Если вы хотите создать интерпретируемый язык на .NET, DLR - лучший вариант - посмотрите пример LOLCODE Мартина Мали на http://www.iunknown.com/2007/11/lolcode-on-dlr.html
Обновлено: вот еще одна ссылка с дополнительной информацией от Скотта Хансельмана: http://www.hanselman.com/blog/TheWeeklySourceCode11LOLCodeDLREdition.aspx