Add three address code generator
Add DAG handling
Add Type checking