# About zig0 aspires to be an interpreter of zig 0.15.2 written in C. This is written with help from LLM: - Lexer: - Datastructures 100% human. - Helper functions 100% human. - Lexing functions 50/50 human/bot. - Parser: - Datastructures 100% human. - Helper functions 50/50. - Parser functions 5/95 human/bot. - AstGen: TBD. # Testing Quick test: zig build fmt-zig0 test-zig0 Full test and static analysis with all supported compilers and valgrind (run before commit, takes a while): zig build all-zig0 -Dvalgrind # Debugging tips Test runs infinitely? Build the test program executable: $ zig build test-zig0 -Dzig0-no-exec And then run it, capturing the stack trace: ``` gdb -batch \ -ex "python import threading; threading.Timer(1.0, lambda: gdb.post_event(lambda: gdb.execute('interrupt'))).start()" \ -ex run \ -ex "bt full" \ -ex quit \ zig-out/bin/test ``` You are welcome to replace `-ex "bt full"` with anything other of interest.