Skip to main content

nargo_ir/
lib.rs

1#![warn(missing_docs)]
2
3//! HXO IR 模块
4//! 
5//! 提供 HXO 编译器的中间表示(IR)系统,支持 JavaScript 语言特性的表示、优化和验证。
6//! 
7//! ## 主要功能
8//! - 支持多种 JavaScript 表达式和语句的表示
9//! - 提供访问者模式,方便遍历和处理 IR 结构
10//! - 支持常量折叠、死代码消除等优化规则
11//! - 提供类型检查、语义验证等验证功能
12//! - 支持模块级别的清理和优化
13
14// 模块声明
15pub mod expr;
16pub mod optimizer;
17pub mod program;
18pub mod stmt;
19pub mod template;
20pub mod types;
21pub mod validator;
22pub mod visitor;
23
24// 重导出公共接口
25pub use expr::{JsExpr, JsExprVisitor, TseAttribute};
26pub use optimizer::{ExprOptimizer, IROptimizer, ProgramOptimizer, StmtOptimizer};
27pub use program::{IRModule, JsProgram};
28pub use stmt::{JsStmt, JsStmtVisitor};
29pub use template::{AttributeIR, CustomBlockIR, ElementIR, ExpressionIR, ForIteratorIR, ForNodeIR, IfNodeIR, StyleIR, TemplateIR, TemplateNodeIR, TemplateNodeVisitor, TestIR};
30pub use types::{Comment, IRError, MAX_ARRAY_LENGTH, MAX_OBJECT_SIZE, MAX_RECURSION_DEPTH, MAX_STRING_LENGTH, Trivia};
31pub use validator::{ExprValidator, IRValidator, ProgramValidator, StmtValidator, TypeEnvironment, TypeInfo};
32pub use visitor::DefaultVisitor;