brane_ast/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
// LIB.rs
// by Lut99
//
// Created:
// 10 Aug 2022, 13:51:38
// Last edited:
// 16 Jan 2024, 11:32:14
// Auto updated?
// Yes
//
// Description:
//! The `brane-ast` package takes a parsed AST and converts it to one
//! that is runnable. Specifically, it implements multiple compiler
//! passes that resolve different things (such as type-safety or data
//! ownership).
//
// Use macros
#[macro_use]
extern crate lazy_static;
// Declare the modules
pub mod ast;
pub mod ast_unresolved;
pub mod compile;
pub mod data_type;
pub mod edgebuffer;
pub mod errors;
pub mod fetcher;
pub mod func_id;
pub mod locations;
pub mod spec;
pub mod state;
pub mod traversals;
pub mod warnings;
// Re-export some stuff from brane-dsl
pub use ast::{SymTable, Workflow};
pub use ast_unresolved::UnresolvedWorkflow;
pub use brane_dsl::ParserOptions;
pub use brane_dsl::spec::{MergeStrategy, TextPos, TextRange};
pub use compile::{CompileResult, CompileStage, compile_program, compile_program_to, compile_snippet, compile_snippet_to};
pub use data_type::DataType;
// Bring some stuff into the global namespace.
pub use errors::AstError as Error;
pub use warnings::AstWarning as Warning;