#[derive(Copy, Clone, Debug, Default)]
pub struct FormatFlags {
pub minus: bool,
pub plus: bool,
pub hash: bool,
pub space: bool,
}
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum FormatSpec {
Decimal,
Octal,
LowerHex,
UpperHex,
String,
}
#[derive(Copy, Clone, Debug)]
pub struct Format {
pub flags: FormatFlags,
pub width: Option<u32>,
pub precision: Option<u32>,
pub spec: FormatSpec,
}
#[derive(Debug)]
pub enum Op<'a> {
OutputBytes(&'a [u8]),
OutputPercent,
OutputFormatted(Format),
OutputChar,
PushParameter(usize),
SetDynamic(usize),
GetDynamic(usize),
SetStatic(usize),
GetStatic(usize),
PushChar(char),
PushInt(i32),
PushStringLength,
Add,
Sub,
Mul,
Div,
Mod,
BitAnd,
BitOr,
BitXor,
Eq,
Gt,
Lt,
BoolAnd,
BoolOr,
BitNot,
BoolNot,
AnsiIncrement,
IfStart,
Then,
Else,
IfEnd,
End,
}