Subject: Grant verification/deadline through 2015

From: Student-PELL Grants (Updated) <[email-masked]>
Date: Mon, 22 Dec 2014 07:44:03 -0800

Department of Student Education
(Verification For Federal Student Aid/Grant)
For: [email-masked]

To verify for student grant assistance in 2015 please continue now:
-- http://www.moneysourcinghelpers.com/serigraphy/finals/begrimmed.html

----------------------------------
Note: Aids once eligible do not have to be repaid
----------------------------------

-
Department of EDU | Y2014
EDU D.F.D. Council
[] http://www.moneysourcinghelpers.com/argentineans/abstraction/dehumidifying/ginnier/insertions.htm []
..........................
9 Gibson Drive
Hazlet NJ 07730

Thank You

52
down vote
favorite
8
I looked at the source code at and it appears all the source code is in C#.

I also looked at the source code for the new C# compiler platform (Roslyn), and it is also in C#. How is that possible? Is C# language compiler written in C#? Or am I missing something obvious? If C# compiler is written in C# then how does it work?

c# compiler-construction bootstrap roslyn
share|improve this question
edited yesterday

Walter Stabosz
3,38111238	
asked 2 days ago

CriketerOnSO
1,026314
2	 	
Many compilers are written in the language they compile - Google bootstrapping to learn more.   Paul Roub 2 days ago
7	 	
I think the original compiler was written in C++.   PoweredByOrange 2 days ago 
11	 	
Well, a hammer can be forged by using another hammer. Previous version of it...   Eugene Sh. 2 days ago
8	 	
The link you posted is the link to the source code of the Framework library, not to the compiler.   Steve 2 days ago
4	 	
Possibly related: Implementing a compiler in itself and Bootstrapping a language   Habib 2 days ago
show 5 more comments
3 Answers
activeoldestvotes
up vote
89
down vote
accepted
The original C# compiler wasn't written in C#, it was in C and C++. The new Roslyn compiler was written in C#, but was initially compiled with the old compiler. Once the new compiler was done, it was able to compile its own source code: this is called bootstrapping.

share|improve this answer
answered 2 days ago

Thomas Levesque
152k18251413
  	 	
So when a change has to be made to the "original compiler", does that has to be compiled with the old compiler (written in C,C++) ?   CriketerOnSO 2 days ago
4	 	
There would be no need to change the "original compiler" the newer versions would be modified   Pseudonym 2 days ago
  	 	
@CriketerOnSO, the new compiler will replace the old one, so there will be no need to modify the old one. But if MS wanted to do that, they would recompile the old compiler with a C++ compiler, as they did before.   Thomas Levesque 2 days ago
  	 	
@ThomasLevesque, thanks for your answer, I wasn't aware of the term bootstrapping. It is really useful.   CriketerOnSO 2 days ago
2	 	
@ThomasLevesque Self-hosting is the end result of boot-strapping.   arx 2 days ago
show 3 more comments

up vote
12
down vote
Compilers are utility programs - they turn programming language text into machine code. If the programming language describes software that just happens to be a compiler.....

Compilers can also produce machine code for other architectures. For example, Apple compiles iOS using racks of Intel-based servers. The compiler does not have to run the ARM code it generates, just write it to disk.

Compiler 2.0 must be written in a language compiler 1.0 can process, but it can certainly create compiler 2.0 with newer features like optimization. You can then re-compile the source code using compiler 2.0 and make a better version of itself. Again, the compiler doesn't know it's making another version of itself.

If we go far enough back into the mists of time then we do reach a point where we have no compiler - the very first iteration of a high-level language. Then we have to get out the pencils and opcode books and write the first one in assembly. How did we write the first assembler? Direct machine code entry, probably on punched paper tape, or flipping switches on the front panel.

share|improve this answer
answered 2 days ago

paul
1212
4	 	
And the paper tape is just flipping switches via holes in the paper. :-)   Zan Lynx 2 days ago
  	 	
Paper tape as a storage technology will never take off. It's just too complex and error-prone, plus it burns easily if there is a short circuit in the reader and that will completely destroy your program.   Michael Kjrling yesterday 
add a comment
up vote
3
down vote
A compiler is just a program like any other program. There is nothing magical or special about it. It takes some input and produces some output. In this particular case, the input just happens to be C# and the output just happens to be CIL, but that's no different from the input being a series of tax returns and the output being a report.