Skip to content

Latest commit

 

History

History
40 lines (22 loc) · 1003 Bytes

TODO.md

File metadata and controls

40 lines (22 loc) · 1003 Bytes

TODO

  • Implement From<String> for Identifier.

Tests

  • Add lexer tests for logical and relational operators.
  • Make documentations tests pass.

Parser

  • Fix errors when compiling expressions containing nested unary operators. (~(-(3)))
  • Correctly parse playground/test_expression4.c.

Assembly

  • Add comments to assembly code.
  • Implement visitor patter to carry register allocation, instruction modification, etc.

CLI

  • Modify CLI arguments to implement compiler passes on various levels.

Code emission

  • Design a better test suite to check correctness of assembly generation for nested binary operators.
  • Write a test for playground/test_add_mul.c and make it pass.

End-to-end

  • Implement End-to-end test suite that check correctness of the gcc compiler output.
  • Make quick_compile work on test_logical2.c.

Error handling

Lexer

  • Modify tokens to carry line number and column.