Crate plotnik_lib

Crate plotnik_lib 

Source
Expand description

Plotnik: Query language for tree-sitter AST with type inference.

§Example

use plotnik_lib::Query;

let source = r#"
    Expr = [(identifier) (number)]
    (assignment left: (Expr) @lhs right: (Expr) @rhs)
"#;

let query = Query::try_from(source).expect("out of fuel");
eprintln!("{}", query.diagnostics().render(source));

Re-exports§

pub use diagnostics::Diagnostics;
pub use diagnostics::DiagnosticsPrinter;
pub use diagnostics::Severity;
pub use query::Query;
pub use query::UNNAMED_DEF;

Modules§

diagnostics
engine
Query execution engine.
ir
Intermediate Representation (IR) for compiled queries.
parser
Parser infrastructure for the query language.
query
Query processing pipeline.

Enums§

Error
Errors that can occur during query parsing.

Type Aliases§

PassResult
Result type for analysis passes that produce both output and diagnostics.
Result
Result type for query operations.