Skip to main content

wpl/
lib.rs

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;
16//mod checker;
17pub mod generator;
18mod idcard;
19mod pkg;
20pub mod precompile;
21mod setting;
22//pub mod traits;
23pub mod types;
24pub mod util;
25//pub mod wasm;
26
27pub use ast::WplCode;
28pub use ast::WplRule;
29pub use ast::WplSep;
30pub use ast::WplStatementType;
31pub use ast::ann_func::{AnnotationFunc, AnnotationType};
32pub use ast::{SepPattern, build_pattern};
33pub use ast::{WplExpress, WplPackage, WplPkgMeta};
34pub use eval::DataTypeParser;
35pub use eval::OPTIMIZE_TIMES;
36pub use eval::PipeLineResult;
37pub use eval::WplEvaluator;
38pub use eval::builtins::registry::{
39    create_pipe_unit as create_preorder_pipe_unit, list_pipe_units as list_preorder_pipe_units,
40    register_pipe_unit as register_preorder_pipe_unit,
41    register_wpl_pipe_batch as register_preorder_pipe_unit_batch,
42};
43// Note: DataResult is now provided by wp-parse-api for plugin development
44pub use eval::{WparseError, WparseReason, WparseResult};
45pub use parser::error::error_detail;
46pub use parser::parse_code::wpl_express;
47pub use parser::wpl_pkg::wpl_package;
48pub use pkg::DEFAULT_KEY;
49pub use pkg::PkgID;
50pub use pkg::gen_pkg_id;
51pub use setting::{PattenMode, WplSetting, check_level_or_stop};
52//pub use engine::field::parser::base::DigitRange;
53pub use ast::AnnFun;
54pub use eval::ParserFactory;
55pub use parser::error::{WplCodeError, WplCodeResult};
56pub use precompile::{CompiledRule as WplCompiledRule, compile_rule as wpl_compile_rule};
57// Deprecated: Use wp_parse_api::Parsable instead
58// pub use traits::RawParseAble;