Skip to content
Commits on Jan 7, 2012
  1. unstable state of code, but we're getting there -- part way through

    committed
    implementation of function 3-address code for stack frames.
Commits on Jan 6, 2012
  1. Implemented nested symbol table / scopes via the Environment class. Also

    committed
    added type checks for function names, declarations, and function
    definitions.
  2. yes! implemented parsing and lexing for function statements and

    committed
    function calls, including argument lists and parameter lists.
  3. code generator and python code generator now support if, else, and

    committed
    while... holy crap, we have control flow!
  4. implemented basicblock, ifblock, whileblock support with the node

    committed
    linking, HOWEVER, I don't yet have support for printing out the
    instruction set. That will come tomorrow.
Commits on Jan 5, 2012
  1. project 6 complete! woot!

    committed
  2. 3-address code generation and python code generation now working for

    committed
    relational and logical operators. eegads.
  3. update the documentation

    committed
  4. added new lexing tokens for relational and boolean operators, some more

    committed
    test cases, and an addition to our type system to support boolean and
    Relops in our AST
  5. forgot to add exercise 2

    committed
  6. wow, what a bug... turns out I had defined the wrong operator for "*"...

    committed
    I was constant folding 1*2 into 1-2... wow... good thing for debug
    output!
  7. improved constant folder further by making it support const

    committed
    declarations. Also altered folding code example to include examples of
    both folding w/ var and folding w/ const.
  8. Exercise 5 for Python AST transformation done.

    committed
    evilx is me exploring why Python can't constant fold on the left but can
    on the right.
  9. small changes to sample code

    committed
    starting project 5 on constant folding
Commits on Jan 4, 2012
  1. add test data

    committed
  2. project 4 start

    committed
Something went wrong with that request. Please try again.