HBAL Typechecker
Examples:
test_arith.hbal
test_call.hbal
test_jumps.hbal
test_list_paper.hbal
test_move.hbal
test_move_macro.hbal
test_parser.hbal
test_trees.hbal
sign main: { sp: [[code]+]+ } sub1: { sp: [[code]+]+ } sub2: { sp: [ int+ * [code]+ * int+ ]+ } <> main: salloc [code]-; call sub1; salloc int-; salloc [code]-; salloc int-; store sp[0] <- r0; call sub2; sfree int+; ret main; sub1: ret sub1; sub2: load r2 <- sp[0]; sfree int+; store sp[1] <- r2; ret sub2; <>