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