Expand description

Ungrammar – a DSL for specifying concrete syntax tree grammar.

Producing a parser is an explicit non-goal – it’s ok for this grammar to be ambiguous, non LL, non LR, etc.

See this introductory post for details.


An error encountered when parsing a Grammar.

An Ungrammar grammar.

A node, like A = 'b' | 'c'.

Data about a node.

A token, denoted with single quotes, like '+' or 'struct'.

Data about a token.


A production rule.


Returns a Rust grammar.

Type Definitions

A type alias for std’s Result with the Error as our error type.