2009-03-10 18 views

risposta

35

Sì, ma ci sono piani per scrivere un compilatore C# in C#, che credo sia stato discusso in this podcast.

+2

Hm, in superficie sembra sciocco, un po 'come fare cibo per cani con cibo per cani. Sono sicuro che ha il merito, però. –

+0

Quindi, quale sarebbe stato usato per compilare il compilatore scritto in C#? Parla della ricorsione! –

+16

@Josh: la versione precedente del compilatore. È iterativo, non ricorsivo. Non stanno usando la stessa versione del compilatore per compilare se stesso. Piuttosto, implementano la versione successiva del compilatore usando la versione precedente. –

22

Sì.

Il compilatore Mono C# è scritto in C#.

+6

Il compilatore che compila il compilatore C# mono è anche scritto in C#? –

8

Sì, era - come la maggioranza di CLR. Se volete vedere la struttura interna di CLR e/o compilatori consiglio vivamente condiviso Fonte CLI da Microsoft (aka Rotor):

Ma, c'è in realtà un compilatore scritto in C#. Credo che Mono sia scritto in questo modo. Scarica Mono sources e scoprilo tu stesso.

18

Il framework .NET è stato scritto in C Semplice Managed (SMC)

Storia

Durante lo sviluppo di .NET Framework, le librerie di classi sono state originariamente scritte utilizzando un compilatore di codice gestito sistema chiamato Simple Managed C (SMC). Nel gennaio 1999, Anders Hejlsberg formò una squadra per costruire una nuova lingua all'epoca chiamata Cool, che stava per "C-like Object Oriented Language" [16]. Microsoft aveva considerato di mantenere il nome "Cool" come nome finale della lingua, ma ha scelto di non farlo per ragioni di marchio. Nel momento in cui il progetto .NET è stato annunciato pubblicamente alla Conferenza degli sviluppatori professionali del luglio 2000, la lingua è stata rinominata in C# e le librerie delle classi e il runtime ASP.NET sono state trasferite su C#.

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

+0

Questo risponde a una domanda, ma non alla domanda dell'OP. – ProfK

9

c'è una nuova (come di fine 2011) C# e VB compilatore scritto da Microsoft chiamato Roslyn che è scritto, rispettivamente in C# e VB.NET. La pagina del progetto è here. Il compilatore di Roslyn è scritto come una libreria che espone una ricca API pubblica. C'è un articolo di notizie here su di esso da InfoWorld.

AGGIORNAMENTO: A partire dal 3 aprile 2014, Roslyn è open source con Apache License 2.0.