##KNOWN BUGS

**[ ] - lexer **

  • rewrite my shit lexer after other stuff done.
  • keywords are searched for before indentifiers and dont use a regexp or any sort of lookahead for non a-z
  • include strings into the token string instead of ignoring them deliberately
  • attach a line number for each token generated, so we can have better debugging

**[ ] - parser **

  • parses require a semantic pass,
  • parser or semantic needs to employ a roll up strategy on branches without terminals
  • cst or ast is incorrectly collapsing arithmetic operations , resulting in poor arithemetic. fix it after we finish the interpreter, use parentheses in the mean time
  • initial token to cst is very slow. probably due to string comparison, but also likely due to the grammar rules not having some ability to short circuit.
  • does not give adequate (any) parse errors
  • binary arithmetic expression do not form properly. this needs to be addressed in ast.

**[ ] -m7 interpreter

  • interpreter is unfinished, assignments, and functions mostly work, as do builtins but need a look over.
  • garbage collection and heap work but require a final pass
  • control statements, conditionals, block statements all need to be finished.
  • declarations need to be finished