CMakeLists.txt | 3 +- doc/langref.md | 8 +- doc/semantic_analysis.md | 75 ++ doc/targets.md | 2 +- doc/vim/syntax/zig.vim | 2 +- example/guess_number/main.zig | 31 +- example/hello_world/hello.zig | 6 +- example/hello_world/hello_libc.zig | 9 +- src/all_types.hpp | 138 ++- src/analyze.cpp | 1566 ++++++++++++++------------------ src/analyze.hpp | 6 +- src/ast_render.cpp | 54 +- src/codegen.cpp | 347 ++----- src/codegen.hpp | 2 + src/errmsg.cpp | 45 +- src/main.cpp | 27 +- src/parseh.cpp | 16 +- src/parser.cpp | 141 +-- src/tokenizer.cpp | 11 +- src/tokenizer.hpp | 3 +- std/bootstrap.zig | 29 +- std/index.zig | 4 + std/io.zig | 377 ++++++++ std/os.zig | 16 +- std/rand.zig | 28 +- std/std.zig | 377 -------- std/test_runner.zig | 22 +- std/test_runner_libc.zig | 4 +- std/test_runner_nolibc.zig | 4 +- test/run_tests.cpp | 649 +++++++------ test/self_hosted.zig | 3 +- test/test_std.zig | 1 - 32 files changed, 1816 insertions(+), 2190 deletions(-)