yggdrasil-shared 0.2.5

Yggdrasil Compiler core shared components
use itertools::Itertools;
use std::{collections::HashSet, mem::take};
use yggdrasil_error::YggdrasilError;
pub use yggdrasil_ir::traits::{CodeGenerator, CodeOptimizer};
use yggdrasil_ir::{
    grammar::GrammarInfo,
    nodes::{ChoiceExpression, ConcatExpression, ExpressionBody, UnaryExpression, YggdrasilExpression},
    rule::{FunctionRule, GrammarAtomic, GrammarRule},
    IndexMap,
};
mod dead_code;
mod emit_function;
mod fuse_rule;
mod inlining;
mod insert_ignore;
mod remark_tag;

mod refine;

pub use self::{
    dead_code::DeadCodeEliminator, emit_function::EmitFunction, fuse_rule::FusionRules, inlining::InlineRules,
    insert_ignore::InsertIgnore, refine::RefineRules, remark_tag::RemarkTags,
};