Skip to main content

arity_parser/
lib.rs

1//! Lossless CST parser, typed AST wrappers, and incremental reparser for the
2//! R language.
3//!
4//! This crate is the parsing engine of [arity](https://arity.cc), extracted so
5//! that other tools can build on it. The public surface mirrors the module
6//! layout of the `arity` crate itself:
7//!
8//! - [`syntax`] — `SyntaxKind`, the rowan language definition, and
9//!   position-independent node pointers.
10//! - [`parser`] — the lossless parser (`parse`/`reconstruct`), diagnostics,
11//!   and the incremental reparse entry points (`reparse`, `apply_edits`).
12//! - [`ast`] — zero-cost typed wrappers over the CST, in rust-analyzer's
13//!   mould.
14//!
15//! The parser preserves all source text: `reconstruct(&parse(text).syntax())`
16//! is always `text`.
17
18pub mod ast;
19pub mod parser;
20pub mod syntax;