CMakeLists.txt | 58 +- doc/langref.html.in | 393 ++++++- src/all_types.hpp | 9 + src/analyze.cpp | 14 +- src/analyze.hpp | 2 +- src/ast_render.cpp | 2 +- src/bigint.cpp | 10 +- src/codegen.cpp | 191 ++++ src/ir.cpp | 1000 +++++++++++++++- src/ir_print.cpp | 9 + src/translate_c.cpp | 116 +- std/array_list.zig | 66 +- std/atomic/queue.zig | 14 +- std/atomic/stack.zig | 11 +- std/buf_map.zig | 12 +- std/buf_set.zig | 28 +- std/buffer.zig | 4 +- std/hash_map.zig | 62 +- std/index.zig | 4 + std/json.zig | 1304 +++++++++++++++++++++ std/json_test.zig | 1942 ++++++++++++++++++++++++++++++++ std/math/index.zig | 26 + std/math/log2.zig | 7 +- std/os/index.zig | 1 + std/segmented_list.zig | 368 ++++++ std/special/compiler_rt/fixuint.zig | 2 +- std/special/compiler_rt/fixunsdfdi_test.zig | 2 +- std/special/compiler_rt/fixunsdfsi_test.zig | 2 +- std/special/compiler_rt/fixunsdfti_test.zig | 2 +- std/special/compiler_rt/fixunssfdi_test.zig | 2 +- std/special/compiler_rt/fixunssfsi_test.zig | 2 +- std/special/compiler_rt/fixunssfti_test.zig | 2 +- std/special/compiler_rt/fixunstfdi_test.zig | 2 +- std/special/compiler_rt/fixunstfsi_test.zig | 2 +- std/special/compiler_rt/fixunstfti_test.zig | 2 +- std/special/compiler_rt/index.zig | 5 +- std/special/compiler_rt/udivmod.zig | 2 +- std/zig/ast.zig | 92 +- std/zig/bench.zig | 38 + std/zig/parser.zig | 351 ++++-- std/zig/parser_test.zig | 216 +++- std/zig/tokenizer.zig | 113 +- test/behavior.zig | 2 + test/cases/coroutines.zig | 5 +- test/cases/enum.zig | 9 + test/cases/fn_in_struct_in_comptime.zig | 17 + test/cases/math.zig | 17 + test/cases/type_info.zig | 200 ++++ test/cases/union.zig | 23 + test/compile_errors.zig | 13 +- test/tests.zig | 8 +- test/translate_c.zig | 43 + 52 files changed, 6437 insertions(+), 390 deletions(-)