Skip to main content

Crate graphforge_ast

Crate graphforge_ast 

Source
Expand description

GraphForge AST — syntax-faithful, span-rich parse tree.

The AST is internal to the compiler pipeline. graphforge-cypher produces it; graphforge-ir consumes it. No other crate should depend on this crate directly.

§Module layout

  • tokenToken enum and Keyword enum (frozen lexer ABI)
  • parse_errorParseError and ParseErrorKind
  • ast — all AST node types

Re-exports§

pub use ast::AstClause;
pub use ast::AstQuery;
pub use ast::BinaryOp;
pub use ast::BinaryOpKind;
pub use ast::CallClause;
pub use ast::CaseExpr;
pub use ast::CreateClause;
pub use ast::DeleteClause;
pub use ast::DialectVersion;
pub use ast::Direction;
pub use ast::ExistentialSubquery;
pub use ast::ExistentialSubqueryBody;
pub use ast::Expr;
pub use ast::FunctionCall;
pub use ast::LabelPredicate;
pub use ast::ListComprehension;
pub use ast::ListLiteral;
pub use ast::Literal;
pub use ast::MapLiteral;
pub use ast::MatchClause;
pub use ast::MergeClause;
pub use ast::NodePattern;
pub use ast::OrderByClause;
pub use ast::ParamRef;
pub use ast::PathElement;
pub use ast::PathPattern;
pub use ast::PatternComprehension;
pub use ast::PatternPredicate;
pub use ast::PropertyAccess;
pub use ast::Quantifier;
pub use ast::QuantifierKind;
pub use ast::RelPattern;
pub use ast::RemoveClause;
pub use ast::RemoveItem;
pub use ast::ReturnClause;
pub use ast::ReturnItem;
pub use ast::SetClause;
pub use ast::SetItem;
pub use ast::SortItem;
pub use ast::SortOrder;
pub use ast::StringOpKind;
pub use ast::UnaryOp;
pub use ast::UnaryOpKind;
pub use ast::UnionClause;
pub use ast::UnwindClause;
pub use ast::VarRef;
pub use ast::WhenClause;
pub use ast::WhereClause;
pub use ast::WithClause;
pub use parse_error::ParseError;
pub use parse_error::ParseErrorKind;
pub use token::Keyword;
pub use token::Token;

Modules§

ast
Syntax-faithful, span-rich AST for openCypher queries.
parse_error
Structured parse error type for the GraphForge Cypher parser.
token
Token contract for the GraphForge Cypher lexer.

Structs§

Span
Byte-offset range in the original source text.