rubbler 0.1.2

Rubbler is a RISC-V assembler written in Rust 🦀. This library was written with the main purpose of embedding a simple RISC-V assembler inside of a RISC-V CPU test bench code written with verilator.
Documentation
use crate::expression::Expression;

pub struct Statement {
    line_number: i32,
    stmt_type: StmtType,
}

pub enum StmtType {
    Label(Vec<String>),
    Operation(String, Vec<Expression>),
    Directive(String, Vec<Expression>),
}

impl Statement {
    pub fn new_label(labels: Vec<String>, line_number: i32) -> Statement {
        Statement {
            line_number,
            stmt_type: StmtType::Label(labels),
        }
    }
    pub fn new_operation(op: String, args: Vec<Expression>, line_number: i32) -> Statement {
        Statement {
            line_number,
            stmt_type: StmtType::Operation(op, args),
        }
    }
    pub fn new_directive(dir: String, args: Vec<Expression>, line_number: i32) -> Statement {
        Statement {
            line_number,
            stmt_type: StmtType::Directive(dir, args),
        }
    }
    pub fn get_type(&self) -> &StmtType {
        &self.stmt_type
    }
    pub fn get_line_number(&self) -> i32 {
        self.line_number
    }
}