pub struct LutTarget {Show 17 fields
pub input: String,
pub output: String,
pub handler_mod: String,
pub ctx_type: String,
pub dispatch: Dispatch,
pub groups: HashMap<String, Vec<String>>,
pub lut_mod: Option<String>,
pub instr_type: Option<String>,
pub raw_expr: Option<String>,
pub instr_type_output: Option<String>,
pub subdecoder_groups: HashMap<String, HashMap<String, Vec<String>>>,
pub subdecoder_instr_type_outputs: HashMap<String, String>,
pub subdecoder_instr_types: HashMap<String, String>,
pub subdecoder_dispatch: HashMap<String, Dispatch>,
pub invalid_handler: Option<String>,
pub subdecoder_invalid_handlers: HashMap<String, String>,
pub subdecoder_handler_mods: HashMap<String, String>,
}Expand description
A single emulator dispatch LUT generation target.
Fields§
§input: StringPath to the input .chipi file.
output: StringOutput file path for the LUT dispatch code.
handler_mod: StringRust module path where handler functions live.
ctx_type: StringMutable context type passed to every handler.
dispatch: DispatchDispatch strategy.
groups: HashMap<String, Vec<String>>Map a group name to its list of instruction names.
lut_mod: Option<String>Rust module path where the generated OP_* constants live.
instr_type: Option<String>Override the type of the second handler parameter.
raw_expr: Option<String>Expression to extract the raw integer from the instr local.
instr_type_output: Option<String>Output file path for the instruction newtype with field accessors.
subdecoder_groups: HashMap<String, HashMap<String, Vec<String>>>Map a sub-decoder name to its group map.
subdecoder_instr_type_outputs: HashMap<String, String>Map a sub-decoder name to its instr-type output path.
subdecoder_instr_types: HashMap<String, String>Map a sub-decoder name to its instr-type Rust path.
subdecoder_dispatch: HashMap<String, Dispatch>Map a sub-decoder name to its dispatch strategy.
An empty map makes sub-decoders inherit from dispatch.
invalid_handler: Option<String>Path to the handler called for unmatched opcodes.
None falls back to a todo!() panic.
subdecoder_invalid_handlers: HashMap<String, String>Map a sub-decoder name to its invalid handler path.
subdecoder_handler_mods: HashMap<String, String>Map a sub-decoder name to its handler module override.