2009-03-10 9 views

ответ

35

Да, но есть планы написать C# -компилятор в C#, который, я считаю, обсуждался в this podcast.

+2

Хм, на поверхности это звучит глупо, вроде как делать корм для собак из корма для собак. Я уверен, что это имеет смысл. –

+0

Итак, что бы было использовано для компиляции компилятора, написанного на C#? Поговорите о рекурсии! –

+16

@Josh: предыдущая версия компилятора. Это итеративный, а не рекурсивный. Они не используют одну и ту же версию компилятора для компиляции. Скорее, они реализуют следующую версию компилятора с использованием предыдущей версии. –

22

Да.

Компилятор Mono C# написан на C#.

+6

Был ли компилятор, компилирующий компилятор mono C#, также написанный на C#? –

8

Да, это было - как и большинство CLR. Если вы хотите, чтобы увидеть внутренности CLR и/или компиляторов я бы настоятельно рекомендовал Shared Source CLI от Microsoft (ака Rotor):

Но, на самом деле есть компилятор, написанный на C#. Я считаю, что Mono написан таким образом. Скачайте Mono sources и узнайте сами.

18

Рамки .NET была написана в простом Managed C (SMC)

истории

В ходе разработки .NET Framework, библиотеки классов были изначально написаны с использованием управляемого кода компилятора система под названием Simple Managed C (SMC). В январе 1999 года Андерс Хейлсберг сформировал команду для создания нового языка в то время под названием Cool, который означал «C-подобный объектно-ориентированный язык». [16] Microsoft считала, что имя «Cool» считается окончательным названием языка, но предпочла не делать этого по причинам товарного знака. К моменту, когда проект .NET был опубликован на июльской конференции профессиональных разработчиков, язык был переименован в C#, а библиотеки классов и среда выполнения ASP.NET были перенесены на C#.

От: http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29

+0

Это отвечает на вопрос, но не вопрос OP. – ProfK

9

Существует новая (по состоянию на конец 2011 года) C# и VB компилятор написан Microsoft под названием Roslyn, который написан на C# и VB.NET соответственно. Страница проекта: here. Компилятор Roslyn написан как библиотека, предоставляющая богатый публичный API. Об этом в новостной статье here говорится в InfoWorld.

ОБНОВЛЕНИЕ: По состоянию на 3 апреля 2014 года Roslyn является открытым исходным кодом под лицензией Apache 2.0.