lora-ast 0.8.4

AST types for the Cypher query language used by LoraDB.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// AST node variants have deliberate size asymmetry (e.g. a full MATCH/WITH/RETURN
// pipeline vs. a StandaloneCall). Boxing the large variants would trade fewer
// stack copies for an extra heap allocation per parse — the opposite of what
// the parser is tuned for. Self-referential cases that do need indirection
// (e.g. `PatternElement::Parenthesized`) already box explicitly.
#![allow(clippy::large_enum_variant)]

pub mod ast;

pub use ast::{
    BinaryOp, Create, Delete, Direction, Document, Expr, InQueryCall, ListPredicateKind,
    MapProjectionSelector, Match, Merge, MergeAction, MultiPartQuery, NodePattern, Pattern,
    PatternElement, PatternElementChain, PatternPart, ProcedureInvocation, ProcedureInvocationKind,
    ProcedureName, ProjectionBody, ProjectionItem, Query, QueryPart, RangeLiteral, ReadingClause,
    RegularQuery, RelationshipDetail, RelationshipPattern, Remove, RemoveItem, Return, Set,
    SetItem, SinglePartQuery, SingleQuery, SortDirection, SortItem, Span, StandaloneCall,
    Statement, UnaryOp, UnionPart, Unwind, UpdatingClause, Variable, With, YieldItem,
};