Files
lang/src/ir/structs/mod.rs
T
2026-06-02 03:24:21 -04:00

37 lines
516 B
Rust

mod namespace;
pub use namespace::*;
use super::Id;
pub struct Fn {
pub body: Body,
}
pub struct Body {
pub statements: Vec<Statement>,
}
pub struct Statement {
ty: StatementTy,
}
pub enum StatementTy {
Define { target: VarId, val: VarId },
Assign { target: VarId, val: VarId },
Call { target: VarId, args: Vec<VarId> },
}
pub struct Var {
const_: bool,
ty: TypeId,
}
pub enum Type {
Unsigned(u8),
Signed(u8),
Infer,
}
pub type VarId = u32;
pub type TypeId = u32;