Skip to content

Home

timtadh edited this page Sep 12, 2010 · 17 revisions
Clone this wiki locally

Welcome to PyFlow!

GET Python: http://www.python.org/
GET PLY: http://www.dabeaz.com/ply/
GET Graphviz: http://www.graphviz.org/ used for visualizing the AST not essential.

If you want to collaborate on the this project. Go ahead and fork and when you make something you want to commit ask me to pull.

Initial goals:

  • Implement a simple C compiler
    • Mostly rewriting Dan Oldham’s ansi_c compiler — well on our way here!
    • This should be a fairly straight forward port
    • Improve it
      • We are changing the compiler from directly generating PIC assembly to generating three address code as our intermediate representation.
        • The three address code we are generating is described in Section 6.2.1 of the “Dragon Book” second addition on page 364-365. (the book is also know as “Compilers: Principles, Techniques, & Tools” Second Edition by Aho etc all)
        • You can find a semantic python implementation in ircode.py it should be a self documenting representation.
      • are target language is NASM here is a link to the homepage http://www.nasm.us/
      • here is a link to PDF book on programming in NASM http://www.drpaulcarter.com/pcasm/pcasm-book-pdf.zip
  • Make the front of the compiler generic
    • This is involves mainly inventing a really good intermediary representation
  • Make a generic code generator as well

Where I want to go:

  • I want to experiment with data flow analysis and I plan to use this a platform to do so.

Where you want to go:

  • Put your thoughts here!
Something went wrong with that request. Please try again.