1#[macro_use]
2extern crate log as _;
3#[macro_use]
4extern crate serde;
5
6extern crate winnow;
7
8mod ast;
9#[cfg(feature = "check")]
10pub mod check;
11pub mod compat;
12pub mod eval;
13pub mod parser;
14#[macro_use]
15pub mod macro_def;
16pub mod generator;
18mod pkg;
19pub mod precompile;
20mod setting;
21pub mod types;
23pub mod util;
24pub use ast::WplCode;
27pub use ast::WplRule;
28pub use ast::WplSep;
29pub use ast::WplStatementType;
30pub use ast::ann_func::{AnnotationFunc, AnnotationType};
31pub use ast::{SepPattern, build_pattern};
32pub use ast::{WplExpress, WplPackage, WplPkgMeta};
33pub use eval::DataTypeParser;
34pub use eval::OPTIMIZE_TIMES;
35pub use eval::PipeLineResult;
36pub use eval::WplEvaluator;
37pub use eval::builtins::registry::{
38 create_pipe_unit as create_preorder_pipe_unit, list_pipe_units as list_preorder_pipe_units,
39 register_pipe_unit as register_preorder_pipe_unit,
40 register_wpl_pipe_batch as register_preorder_pipe_unit_batch,
41};
42pub use eval::{WparseError, WparseReason, WparseResult};
44pub use parser::error::error_detail;
45pub use parser::parse_code::wpl_express;
46pub use parser::wpl_pkg::wpl_package;
47pub use pkg::DEFAULT_KEY;
48pub use pkg::PkgID;
49pub use pkg::gen_pkg_id;
50pub use setting::{PattenMode, WplSetting, check_level_or_stop};
51pub use ast::AnnFun;
53pub use eval::ParserFactory;
54pub use parser::error::{WplCodeError, WplCodeResult};
55pub use precompile::{CompiledRule as WplCompiledRule, compile_rule as wpl_compile_rule};
56