forked from MightyPork/crsn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
504 B
26 lines
504 B
pub use cond::Cond;
|
|
pub use flatten::Flatten;
|
|
pub use op::Op;
|
|
use sexp::SourcePosition;
|
|
|
|
use crate::asm::data::literal::RoutineName;
|
|
|
|
pub mod op;
|
|
pub mod cond;
|
|
pub mod flatten;
|
|
|
|
/// A higher-level instruction
|
|
#[derive(Debug)]
|
|
pub struct InstrWithBranches {
|
|
pub op: Op,
|
|
pub pos: SourcePosition,
|
|
pub branches: Option<Vec<(Cond, Box<dyn Flatten>)>>,
|
|
}
|
|
|
|
/// A routine
|
|
#[derive(Debug)]
|
|
pub struct Routine {
|
|
pub name: RoutineName,
|
|
pub pos: SourcePosition,
|
|
pub body: Box<dyn Flatten>,
|
|
}
|
|
|