C # Интерпретированный язык - PullRequest
1 голос
/ 14 декабря 2008

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

Ответы [ 3 ]

8 голосов
/ 14 декабря 2008

Это может быть довольно трудным делом сделать правильно.

Если вы не обладаете большими знаниями в теории компиляторов, вам, вероятно, следует сначала начать читать об этом.
Если я правильно понимаю этот термин, просто использование «забавного разбора строк» ​​совсем не поможет вам.

Первый базовый шаг - написать грамматику языка, которая определяет правильный синтаксис для языка.
Инструмент, подобный ANTLR , поможет вам собрать все воедино, но я бы посоветовал прочитать Книгу Дракона , так как это каноническая отправная точка для ускорения изучения предмета. *

3 голосов
/ 14 декабря 2008

Если вы хотите создать интерпретируемый язык в .NET, DLR - это то, что вам нужно - посмотрите пример LOLCODE Мартина Мали по адресу http://www.iunknown.com/2007/11/lolcode-on-dlr.html

Редактировать: Вот еще одна ссылка с дополнительной информацией от Скотта Хансельмана: http://www.hanselman.com/blog/TheWeeklySourceCode11LOLCodeDLREdition.aspx

0 голосов
/ 14 декабря 2008

Оформить компилятор Phoenix от Microsoft. Это обеспечит многие инструменты, которые вам понадобятся для создания компилятора, ориентированного на собственные или управляемые среды. Среди этих инструментов мы используем оптимизирующий сервер.

Я второе предложение Цикна о чтении «Книги Дракона» Ахо Сетхи и Уллмана ( Википедия , Амазонка ).

РГР

...