Motiejus Jakštys d9ae83d1f6 parser: port comment, switch, error value tests batch
Port tests:
- "comment after if before another if"
- "line comment between if block and else keyword"
- "same line comments in expression"
- "add comma on last switch prong"
- "same-line comment after a statement"
- "same-line comment after var decl in struct"
- "same-line comment after field decl"
- "same-line comment after switch prong"
- "same-line comment after non-block if expression"
- "same-line comment on comptime expression"
- "switch with empty body"
- "line comments in struct initializer"
- "first line comment in struct initializer"
- "doc comments before struct field"

Implement in parser.c:
- error.Value and error{...} in parsePrimaryTypeExpr
- TOKEN_PERIOD_ASTERISK (deref) in parseSuffixOp
- Fix comptime statement to wrap inner expression in comptime node

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-11 14:40:17 +00:00
fmt
2025-01-08 19:04:40 +01:00
2026-02-10 10:03:44 +00:00
2026-02-10 10:47:27 +00:00
2026-02-10 11:35:41 +00:00
fmt
2025-01-08 19:04:40 +01:00
2026-02-11 14:40:02 +00:00
2026-02-10 11:35:41 +00:00
2026-02-11 14:40:02 +00:00
2026-02-10 11:35:41 +00:00
2024-12-30 22:36:35 +02:00
2026-02-11 14:40:02 +00:00
2025-01-04 22:47:51 +01:00
2026-02-10 10:03:44 +00:00
2026-02-10 11:35:41 +00:00
2025-01-01 17:26:58 +02:00
2026-02-10 11:35:41 +00:00
2025-07-01 19:48:18 +00:00

zig0 aspires to be an interpreter of zig 0.15.1 written in C.

Testing

Quick test:

zig build

Debugging tips

Test runs infinitely? Build the test program executable:

$ zig build test -Dno-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.

Description
Replacing zig1.wasm with a C program (see stage0/).
Readme MIT 388 MiB
Languages
Zig 96.3%
C 2.7%
C++ 0.6%
Python 0.1%