Expand description
Parser and IR for the teksu! DSL.
Extracted from teksilo-macros so non-proc-macro consumers (notably
cargo teksilo-fmt) can build on the same grammar without depending on
a proc-macro = true crate. The proc-macro crate teksilo-macros
depends on this crate and only owns the lowering step.
Surface:
parse_root— entry point. Takes aproc_macro2::TokenStreamand returns aTeksiRoot.irmodule — IR types (TeksiRoot,TeksiElement,BodyItem, …). All fields arepubso consumers can walk and reformat the tree.diagmodule — shared diagnostic helpers and theis_widget_builder_method/is_category_b_widgetpredicates used by both lowering and pretty-printing.
See engineering/docs/teksu-language-spec-v3.md for the surface language.
Re-exports§
pub use ir::BodyItem;pub use ir::PropArg;pub use ir::RustShape;pub use ir::TeksiElement;pub use ir::TeksiElse;pub use ir::TeksiFor;pub use ir::TeksiIf;pub use ir::TeksiMatch;pub use ir::TeksiMatchArm;pub use ir::TeksiProperty;pub use ir::TeksiRoot;