Trait cpclib_asm::implementation::tokens::TokenExt
source · [−]pub trait TokenExt: ListingElement + Clone + Debug {
fn estimated_duration(&self) -> Result<usize, AssemblerError>;
fn unroll(&self, env: &Env) -> Option<Result<Vec<&Self>, AssemblerError>>;
fn disassemble_data(&self) -> Result<Listing, String>;
fn to_bytes_with_options(
&self,
option: &AssemblingOptions
) -> Result<Vec<u8>, AssemblerError>;
fn number_of_bytes(&self) -> Result<usize, String> { ... }
fn number_of_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent
) -> Result<usize, String> { ... }
fn to_bytes(&self) -> Result<Vec<u8>, AssemblerError> { ... }
fn to_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent
) -> Result<Vec<u8>, AssemblerError> { ... }
fn is_valid(&self) -> bool { ... }
}Expand description
Needed methods for the Token defined in cpclib_tokens
Required Methods
fn estimated_duration(&self) -> Result<usize, AssemblerError>
Unroll the tokens when it represents a loop
fn disassemble_data(&self) -> Result<Listing, String>
fn disassemble_data(&self) -> Result<Listing, String>
Generate the listing of opcodes for directives that embed bytes
fn to_bytes_with_options(
&self,
option: &AssemblingOptions
) -> Result<Vec<u8>, AssemblerError>
Provided Methods
fn number_of_bytes(&self) -> Result<usize, String>
fn number_of_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent
) -> Result<usize, String>
fn number_of_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent
) -> Result<usize, String>
Return the number of bytes of the token given the provided context
Dummy version that assemble without taking into account the context TODO find a way to not build a symbol table each time
fn to_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent
) -> Result<Vec<u8>, AssemblerError>
fn to_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent
) -> Result<Vec<u8>, AssemblerError>
Assemble the symbol taking into account some context, but never modify this context