gazelle-parser 0.2.0

LR parser generator with runtime operator precedence and natural lexer feedback
Documentation
// Simple expression grammar for runtime_grammar example
//
// Usage:
//   cat examples/expr_tokens.txt | cargo run --example runtime_grammar examples/expr.gzl
//
// Or inline:
//   echo "NUM:1 OP:+@<1 NUM:2 OP:*@<2 NUM:3" | cargo run --example runtime_grammar examples/expr.gzl
//
// Token format: NAME:value@<precedence (< = left assoc, > = right assoc)
// Multiple expressions separated by semicolons

start expr;
mode lr;

terminals {
    NUM,
    prec OP,
    LPAREN, RPAREN
}

expr = expr OP expr @binary_expression
     | LPAREN expr RPAREN
     | NUM @terminal_expression;