В чем разница между созданием статического и динамического языка для .net? - PullRequest
1 голос
/ 23 февраля 2011

Я студент и хочу создать свой собственный язык .net для общих целей, просто чтобы посмотреть, как это делается, и выучить что-то новое.Как вы думаете, какой выбор лучше?Чтобы построить статический язык, который нацелен на CLR или построить динамический язык поверх DLR?

  1. Какие этапы процесса создания этих двух типов языков различны?
  2. Какие существуют инструменты для генерации кода сканера, анализатора и CIL?Я обнаружил, что люди рекомендуют генератор синтаксического анализатора antlr для генерации AST, а затем переводят его в дерево выражений DLR, поэтому вам не нужно генерировать код CIL.

1 Ответ

1 голос
/ 23 февраля 2011

Я бы определенно порекомендовал ANTLR и книгу для него. Если вы действительно не знаете свое поколение грамматики, вам понадобится справочный материал.

Я бы также рекомендовал использовать ANTLR AST для генерации CodeDom. Вы можете использовать DLR или нет, в зависимости от того, какой язык вы хотите использовать.

Я имел большой успех на обоих этих маршрутах.

Я также генерировал CIL, который не был крутым, но работал. Оставь это в крайнем случае.

...