#![forbid(unsafe_code)]
#![deny(rustdoc::bare_urls, rustdoc::broken_intra_doc_links)]
extern crate self as mel_ast;
extern crate self as mel_lexer;
extern crate self as mel_maya;
extern crate self as mel_parser;
extern crate self as mel_sema;
extern crate self as mel_syntax;
pub mod ast;
pub mod lexer;
pub mod maya;
pub mod parser;
pub mod sema;
pub mod syntax;
pub(crate) use maya::{model, normalize, registry, specialize, validate};
pub(crate) use parser::decode;
pub(crate) use sema::{command_norm, command_schema, scope};
#[doc(hidden)]
pub use ast::*;
#[doc(hidden)]
pub use lexer::*;
#[doc(hidden)]
pub use maya::*;
#[doc(hidden)]
pub use parser::*;
#[doc(hidden)]
pub use sema::*;
#[doc(hidden)]
pub use syntax::*;
#[doc(inline)]
pub use maya::{
MayaCommandRegistry, MayaSpecializedCommand, MayaTopLevelCommand, MayaTopLevelFacts,
MayaTopLevelItem, collect_top_level_facts, collect_top_level_facts_shared,
collect_top_level_facts_shared_with_registry, collect_top_level_facts_with_registry,
};
#[doc(inline)]
pub use parser::{
DecodeDiagnostic, Parse, ParseBudgets, ParseError, ParseMode, ParseOptions, SharedParse,
SourceEncoding, parse_bytes, parse_bytes_with_encoding, parse_file, parse_file_with_encoding,
parse_shared_bytes, parse_shared_bytes_with_encoding, parse_shared_file,
parse_shared_file_with_encoding, parse_shared_source, parse_shared_source_with_options,
parse_source, parse_source_with_options,
};
#[doc(inline)]
pub use sema::{
Analysis, Diagnostic, DiagnosticFilter, DiagnosticLabel, DiagnosticSeverity, analyze,
analyze_diagnostics_with_registry, analyze_diagnostics_with_registry_filtered,
analyze_with_registry,
};