Syntax Tree library used throughout the rust-analyzer.
Properties:
- easy and fast incremental re-parsing
- graceful handling of errors
- full-fidelity representation (*any* text can be precisely represented as
a syntax tree)
For more information, see the [RFC]. Current implementation is inspired by
the [Swift] one.
The most interesting modules here are `syntax_node` (which defines concrete
syntax tree) and `ast` (which defines abstract syntax tree on top of the
CST). The actual parser live in a separate `parser` crate, though the
lexer lives in this crate.
See `api_walkthrough` test in this file for a quick API tour!
[RFC]:
[Swift]: