Trait Parser

Source
pub trait Parser {
    type R: RuleType;

    // Required methods
    fn get_inner_mut(&mut self) -> &mut HashMap<String, Comparison>;
    fn get_inner(&self) -> &HashMap<String, Comparison>;
    fn register_comparison(&mut self, comparison: &Comparison);
    fn remove_comparison_by_symbol(&mut self, symbol: &str);
    fn get_comparison(&self, symbol: &str) -> Option<Comparison>;
    fn parse_to_node(&self, code: &str) -> Result<Expr, ParserError>;
    fn parse_comparison(
        &self,
        value: Pair<'_, Self::R>,
    ) -> Result<Comparison, ParserError>;
    fn parse_constraint(
        &self,
        value: Pair<'_, Self::R>,
    ) -> Result<Constraint, ParserError>;
    fn parse_operator(
        &self,
        value: Pair<'_, Self::R>,
    ) -> Result<Operator, ParserError>;
    fn parse_expr(&self, value: Pair<'_, Self::R>) -> Result<Expr, ParserError>;
}

Required Associated Types§

Required Methods§

Source

fn get_inner_mut(&mut self) -> &mut HashMap<String, Comparison>

Source

fn get_inner(&self) -> &HashMap<String, Comparison>

Source

fn register_comparison(&mut self, comparison: &Comparison)

Source

fn remove_comparison_by_symbol(&mut self, symbol: &str)

Source

fn get_comparison(&self, symbol: &str) -> Option<Comparison>

Source

fn parse_to_node(&self, code: &str) -> Result<Expr, ParserError>

Source

fn parse_comparison( &self, value: Pair<'_, Self::R>, ) -> Result<Comparison, ParserError>

Source

fn parse_constraint( &self, value: Pair<'_, Self::R>, ) -> Result<Constraint, ParserError>

Source

fn parse_operator( &self, value: Pair<'_, Self::R>, ) -> Result<Operator, ParserError>

Source

fn parse_expr(&self, value: Pair<'_, Self::R>) -> Result<Expr, ParserError>

Implementors§