# Syncraft

Syncraft is a parser/generator combinator library with full round-trip support:

- Parse source code into AST or dataclasses
- Generate source code from dataclasses
- Bidirectional transformations via lenses
- Convenience combinators: `all`, `first`, `last`, `named`
- SQLite syntax support included

## Installation

```bash
pip install syncraft
```


## TODO
- [ ] Test Walker.get/set for bidirectional mapping between source code and data class
- [ ] Annotate sqlite3 grammar with named nodes and data classes
- [ ] 
