[][src]Struct customasm::AssemblerState

pub struct AssemblerState {
    pub cpudef: Option<CpuDef>,
    pub labels: LabelManager,
    pub parsed_instrs: Vec<ParsedInstruction>,
    pub parsed_exprs: Vec<ParsedExpression>,
    pub bankdefs: Vec<BankDef>,
    pub blocks: Vec<Bank>,
    pub cur_bank: usize,
    pub cur_block: usize,
}

Fields

cpudef: Option<CpuDef>labels: LabelManagerparsed_instrs: Vec<ParsedInstruction>parsed_exprs: Vec<ParsedExpression>bankdefs: Vec<BankDef>blocks: Vec<Bank>cur_bank: usizecur_block: usize

Methods

impl AssemblerState[src]

pub fn new() -> AssemblerState[src]

pub fn process_file<S>(
    &mut self,
    report: RcReport,
    fileserver: &dyn FileServer,
    filename: S
) -> Result<(), ()> where
    S: Into<String>, 
[src]

pub fn wrapup(&mut self, report: RcReport) -> Result<(), ()>[src]

pub fn get_binary_output(&self) -> BinaryBlock[src]

pub fn get_symbol_output(&self) -> String[src]

impl AssemblerState[src]

pub fn check_cpudef_active(
    &self,
    report: RcReport,
    span: &Span
) -> Result<(), ()>
[src]

pub fn get_cur_context(&self) -> ExpressionContext[src]

pub fn find_bankdef(&self, name: &str) -> Option<usize>[src]

pub fn check_bank_overlap(&self, report: RcReport)[src]

pub fn get_cur_address(
    &self,
    report: RcReport,
    span: &Span
) -> Result<usize, ()>
[src]

pub fn check_valid_address(
    &self,
    report: RcReport,
    block_index: usize,
    addr: usize,
    span: &Span
) -> Result<(), ()>
[src]

pub fn output_bits_until_aligned(
    &mut self,
    report: RcReport,
    multiple_of: usize,
    report_span: &Span,
    output_span: Option<&Span>
) -> Result<(), ()>
[src]

pub fn output_bit(
    &mut self,
    report: RcReport,
    bit: bool,
    skipping: bool,
    report_span: &Span,
    output_span: Option<&Span>
) -> Result<(), ()>
[src]

pub fn output_zero_bits(
    &mut self,
    report: RcReport,
    num: usize,
    skipping: bool,
    report_span: &Span,
    output_span: Option<&Span>
) -> Result<(), ()>
[src]

pub fn mark_label(&mut self, addr: usize, output_span: &Span)[src]

pub fn resolve_instrs(&mut self, report: RcReport) -> Result<(), ()>[src]

pub fn resolve_exprs(&mut self, report: RcReport) -> Result<(), ()>[src]

pub fn check_expr_constraint(
    &self,
    report: RcReport,
    value: &ExpressionValue,
    typ: &RuleParameterType,
    span: &Span
) -> Result<(), ()>
[src]

pub fn output_parsed_instr(
    &mut self,
    report: RcReport,
    instr: &mut ParsedInstruction
) -> Result<(), ()>
[src]

pub fn output_parsed_expr(
    &mut self,
    report: RcReport,
    expr: &ParsedExpression
) -> Result<(), ()>
[src]

pub fn expr_eval(
    &self,
    report: RcReport,
    ctx: &ExpressionContext,
    expr: &Expression,
    eval_ctx: &mut ExpressionEvalContext
) -> Result<ExpressionValue, ()>
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.