janerikvw/TheCompiler

ToDo

Opened this issue · 0 comments

done:

  • Binop needs to know type
  • (not important)implicit conversions warning
  • type checking function parameters
  • funtion return stmt type check
  • (not important)Give error if function does not have a return statement except for void
  • (not important)What to do about implicit conversions, bv return 1 in a boolean function
  • First { of nested function is not printed
  • Boolean operation '>' does not work (change in binop node in type checking traversal)
  • check forloop scoping
  • int a = 0 only gets translated to istore 0
  • Give use uninitialized variable error;
  • Return statement needs type
  • Floats do not work
  • Every function needs a return statement, all possible controlflows
  • Add float and bool to everything such as LOAD and STORE
  • export functions

high priority:

  • Cast booleans to ints and floats based on conditionals
  • Generate boolean expressions
  • monops
  • casting
  • Rename for loop incrementor with underscore
  • Calculate function offsets after code generation
  • Shift reduce conflicts
  • Add a return statement to void functions automatically (maybe codegen)
  • Do in __init

low priority:

  • move subfunctions outside of main function
  • Nested functions do not work when statements after or vardecs before function
  • Fix return stmts for nested functions

questions:

  • How to change a node type inside a node?
  • Are monops working?