Forums.Sureshkumar.net : A Perfect Place to Share Knowledge         Blogs     Games    Magazines    

"Sharing knowledge does not lessen your store, often it gets you more. Sharing plays a key role in relationships and bonding, happens in small steps and is assisted through community membership."

Go Back   SURESHKUMAR.NET FORUMS > TECHNICAL DISCUSSIONS > DATA STRUCTURES, C, C++, VC ++ > ds. c , c++ Interview / Technical Questions
Register FAQ Members List Calendar Games Blogs Search Today's Posts Mark Forums Read

ds. c , c++ Interview / Technical Questions Kindly solve an many as questions you can. It will sharpen your skills and those solutions will help others too.

   

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
Old 23-01-07, 01:40 PM   #1 (permalink)
Moderator
 
GEEK's Avatar
 
Join Date: Nov 2006
Age: 25
Posts: 227
Thanks: 1
Thanked 12 Times in 9 Posts
Thanks: 1
Thanked 12 Times in 9 Posts
Rep Power: 6 GEEK is on a distinguished road GEEK is on a distinguished road
C language -If compiler for c is written in c language, which is used to complie the compiler?

If compiler for c is written in c language, which is used to complie the compiler?
GEEK is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 28-10-08, 10:26 PM   #2 (permalink)
Junior Member
 
Join Date: Oct 2008
Age: 24
Posts: 14
Thanks: 2
Thanked 0 Times in 0 Posts
Thanks: 2
Thanked 0 Times in 0 Posts
Rep Power: 1 retheeshsoman is on a distinguished road
Re: C language -If compiler for c is written in c language, which is used to complie the compiler?

Dear Geek,
Bootstrapping is a term used in computer science to describe the techniques involved in writing a compiler (or assembler) in the target programming language which it is intended to compile.

One may then wonder how the chicken and egg problem of creating the compiler was solved: if one needs a compiler for language X to obtain a compiler for language X, how did the first compiler get written? Possible methods include:

* implementing an interpreter or compiler for language X in language Y. Niklaus Wirth reported that he wrote the first Pascal compiler in Fortran.
* another interpreter or compiler for X has already been written in another language Y; this is how Scheme is often bootstrapped.
* earlier versions of the compiler were written in a subset of X for which there existed some other compiler; this is how some supersets of Java are bootstrapped.
* the compiler for X is cross compiled from another architecture where there exists a compiler for X; this is how compilers for C are usually ported to other platforms
* writing the compiler in X; then hand-compiling it from source (most likely in a non-optimized way) and running that on the code to get an optimized compiler. Donald Knuth used this for his WEB literate programming system.

Methods for distributing compilers in source code include providing a portable bytecode version of the compiler, so as to bootstrap the process of compiling the compiler with itself.

The first language to provide such a bootstrap was NELIAC. The first commercial language to do so was PL/I. Today, a large proportion of programming languages are bootstrapped, including Basic, C, Pascal, Factor , Haskell, Modula-2, Oberon, OCaml, Scheme and more.
retheeshsoman is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
C language - When does the compiler not implicitly generate the address of the first element of an array? GEEK ds. c , c++ Interview / Technical Questions 0 23-01-07 01:08 PM


All times are GMT +6.5. The time now is 12:46 PM.





Search Engine Optimization by vBSEO 3.1.0