010 parser generator

✓ Passing This code compiles and runs correctly.

Code

// TEST: Parser Generator - Basic
//
// Tests that [derive(parser)] generates a working lexer from event schema.
// Phantom annotations carry regex patterns that the derive handler interprets.

~import "$std/parser_generator"
~import "$std/io"

// Token schema - phantom annotations carry regex patterns
~[derive(parser)]event token {}
| number u64[\d+]
| plus void[\+]
| eof

// Test the generated parser using Koru flows!
~token.parse(stream: "123+456")
| number n |> std.io:print.ln("number: {{ n.value }}")
| plus _ |> std.io:print.ln("plus")
| eof _ |> std.io:print.ln("eof")
| error e |> std.io:print.ln("error: {{ e.message }}")
input.kz

Expected Output

number: 123

Test Configuration

MUST_RUN