doc/langref.md | 4 +- src/analyze.cpp | 435 ++++++++++++++++++-------------- src/analyze.hpp | 2 + src/codegen.cpp | 31 ++- src/parser.cpp | 36 ++- src/parser.hpp | 2 + test/run_tests.cpp | 19 +- 7 files changed, 327 insertions(+), 202 deletions(-)