pepl-parser 0.1.2

PEPL parser: token stream to AST
Documentation
# pepl-parser

PEPL parser: transforms a token stream into a typed AST.

Second stage of the PEPL compilation pipeline. Implements a recursive-descent parser for the full PEPL grammar — spaces, state declarations, action blocks, view blocks, expressions, UI components, and sum types.

## Key Exports

```rust
use pepl_parser::{Parser, ParseResult};
use pepl_lexer::Lexer;

let tokens = Lexer::new(source, "example.pepl").lex();
let ast: ParseResult = Parser::new(tokens.tokens, "example.pepl").parse();
```

## Grammar Coverage

- Space declarations with state, action, view
- Expressions: arithmetic, comparison, logical, nil-coalescing (`??`), match, if/else, string interpolation
- Statements: let bindings, set mutations, for loops, return, assert
- Type annotations: primitives, List\<T\>, Record, Result\<T,E\>, sum types, nullable (`T | nil`)
- UI components: Column, Row, Scroll, Text, ProgressBar, Button, TextInput, ScrollList, Modal, Toast

## Install

```bash
cargo add pepl-parser
```

## License

MIT — see [LICENSE](../../LICENSE)