Был ли компилятор C# написан на C++?Был ли компилятор C# написан на C++?
ответ
Да, но есть планы написать C# -компилятор в C#, который, я считаю, обсуждался в this podcast.
Да.
Компилятор Mono C# написан на C#.
Был ли компилятор, компилирующий компилятор mono C#, также написанный на C#? –
Да, это было - как и большинство CLR. Если вы хотите, чтобы увидеть внутренности CLR и/или компиляторов я бы настоятельно рекомендовал Shared Source CLI от Microsoft (ака Rotor):
Но, на самом деле есть компилятор, написанный на C#. Я считаю, что Mono написан таким образом. Скачайте Mono sources и узнайте сами.
Рамки .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
Это отвечает на вопрос, но не вопрос OP. – ProfK
Существует новая (по состоянию на конец 2011 года) C# и VB компилятор написан Microsoft под названием Roslyn, который написан на C# и VB.NET соответственно. Страница проекта: here. Компилятор Roslyn написан как библиотека, предоставляющая богатый публичный API. Об этом в новостной статье here говорится в InfoWorld.
ОБНОВЛЕНИЕ: По состоянию на 3 апреля 2014 года Roslyn является открытым исходным кодом под лицензией Apache 2.0.
Хм, на поверхности это звучит глупо, вроде как делать корм для собак из корма для собак. Я уверен, что это имеет смысл. –
Итак, что бы было использовано для компиляции компилятора, написанного на C#? Поговорите о рекурсии! –
@Josh: предыдущая версия компилятора. Это итеративный, а не рекурсивный. Они не используют одну и ту же версию компилятора для компиляции. Скорее, они реализуют следующую версию компилятора с использованием предыдущей версии. –