fn function_from_rule(rule: Rule) -> &'static dyn Function {
    match rule {
        Rule::op_lt => &functions::ops::LT,
        Rule::op_eq => &functions::ops::EQ,
        Rule::op_gt => &functions::ops::GT,
        Rule::op_le => &functions::ops::LE,
        Rule::op_ne => &functions::ops::NE,
        Rule::op_ge => &functions::ops::GE,
        Rule::op_add => &functions::ops::Arith::Add,
        Rule::op_sub => &functions::ops::Arith::Sub,
        Rule::op_mul => &functions::ops::Arith::Mul,
        Rule::op_float_div => &functions::ops::Arith::FloatDiv,
        Rule::op_semicolon => &functions::ops::Last,
        Rule::op_concat => &functions::string::Concat,
        Rule::kw_is => &functions::ops::IS,
        Rule::is_not => &functions::ops::IS_NOT,
        Rule::kw_and => &functions::ops::AND,
        Rule::kw_or => &functions::ops::OR,
        Rule::op_bit_and => &functions::ops::Bitwise::And,
        Rule::op_bit_or => &functions::ops::Bitwise::Or,
        Rule::op_bit_xor => &functions::ops::Bitwise::Xor,
        r => unreachable!("Unexpected operator rule {:?}", r),
    }
}
/// Obtains a function from the parser rule.
Obtains a function from the parser rule.
Obtains a function from the parser rule .
fn function_from_rule(rule: Rule) -> &'static dyn Function {
    match rule {
        Rule::op_lt => &functions::ops::LT,
        Rule::op_eq => &functions::ops::EQ,
        Rule::op_gt => &functions::ops::GT,
        Rule::op_le => &functions::ops::LE,
        Rule::op_ne => &functions::ops::NE,
        Rule::op_ge => &functions::ops::GE,
        Rule::op_add => &functions::ops::Arith::Add,
        Rule::op_sub => &functions::ops::Arith::Sub,
        Rule::op_mul => &functions::ops::Arith::Mul,
        Rule::op_float_div => &functions::ops::Arith::FloatDiv,
        Rule::op_semicolon => &functions::ops::Last,
        Rule::op_concat => &functions::string::Concat,
        Rule::kw_is => &functions::ops::IS,
        Rule::is_not => &functions::ops::IS_NOT,
        Rule::kw_and => &functions::ops::AND,
        Rule::kw_or => &functions::ops::OR,
        Rule::op_bit_and => &functions::ops::Bitwise::And,
        Rule::op_bit_or => &functions::ops::Bitwise::Or,
        Rule::op_bit_xor => &functions::ops::Bitwise::Xor,
        r => unreachable!("Unexpected operator rule {:?}", r),
    }
}
fn function_from_rule ( rule : Rule ) -> & ' static dyn Function { match rule { Rule :: op_lt => & functions :: ops :: LT , Rule :: op_eq => & functions :: ops :: EQ , Rule :: op_gt => & functions :: ops :: GT , Rule :: op_le => & functions :: ops :: LE , Rule :: op_ne => & functions :: ops :: NE , Rule :: op_ge => & functions :: ops :: GE , Rule :: op_add => & functions :: ops :: Arith :: Add , Rule :: op_sub => & functions :: ops :: Arith :: Sub , Rule :: op_mul => & functions :: ops :: Arith :: Mul , Rule :: op_float_div => & functions :: ops :: Arith :: FloatDiv , Rule :: op_semicolon => & functions :: ops :: Last , Rule :: op_concat => & functions :: string :: Concat , Rule :: kw_is => & functions :: ops :: IS , Rule :: is_not => & functions :: ops :: IS_NOT , Rule :: kw_and => & functions :: ops :: AND , Rule :: kw_or => & functions :: ops :: OR , Rule :: op_bit_and => & functions :: ops :: Bitwise :: And , Rule :: op_bit_or => & functions :: ops :: Bitwise :: Or , Rule :: op_bit_xor => & functions :: ops :: Bitwise :: Xor , r => unreachable ! ( " " r ) , } }
Obtains a function from the parser rule.
Obtains a function from the parser rule .
rule
Rule
rule
Rule