Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I have a crazy idea.</p> <p>There are compilers that compile compilers. This is fun enough by itself. You can implement one in the MetaII style (read this other SO answer: <a href="https://stackoverflow.com/questions/5739133/are-there-any-fun-ways-to-learn-about-languages-grammars-parsing-and-compiler/5739338#5739338">Are there any &quot;fun&quot; ways to learn about Languages, Grammars, Parsing and Compilers?</a>)</p> <p>What makes this doable for a student project is that the MetaII compiler is remarkably small, and the technical paper (read the other answer) has everything you need in 10 pages except some sweat, which you supply. And this fits well in the time frame you have available (which is frankly pretty short for as student to just sit down and whack out a compiler by himself).</p> <p>MetaII's own description of itself is remarkably terse: only some 50 lines(!).</p> <p>And since it can compile itself, it can compile <em>enhanced</em> versions of itself... so you can use it to bootstrap much more complicated compilers. Normally, that's the direction most people want to take it, since MetaII by itself is fairly simple.</p> <p>Here's the crazy idea: You can also use it to compile <em>less</em> capable versions of itself. The question is, how much can you take out, and still be able to climb back up the metacompiler ladder? How small a compiler can you build that is still bootstrappable?</p> <p>I know for a fact that MetaII has 2 items are removable, since I've done this in the long distant past. I'm not going to tell you what they are becuase that spoils the discovery process. But its good in a student project to take on something that is already known to be doable, so you don't go down alleys that have real dead ends.</p> <p>One of the people I'm knew long ago apparantly tried to do this seriously. His goal was to reduce this to a very short string of characters... think of this as "compiler DNA".</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload