Skip to main content

ConditionParser

Struct ConditionParser 

Source
pub struct ConditionParser;
Expand description

Parser for AHB condition expressions.

Implementations§

Source§

impl ConditionParser

Source

pub fn parse(input: &str) -> Result<Option<ConditionExpr>, ParseError>

Parse an AHB status string into a condition expression.

Returns Ok(None) if the input contains no condition references (e.g., bare "Muss" or empty string).

§Examples
use automapper_validation::expr::ConditionParser;
use automapper_validation::expr::ConditionExpr;

let expr = ConditionParser::parse("Muss [494]").unwrap().unwrap();
assert_eq!(expr, ConditionExpr::Ref(494));
Source

pub fn parse_with_ub( input: &str, ub_definitions: &HashMap<String, ConditionExpr>, ) -> Result<Option<ConditionExpr>, ParseError>

Parse an AHB status string, expanding UB condition references inline.

When [UB1] is encountered and ub_definitions contains “UB1”, the corresponding pre-parsed expression is substituted. Unknown UB references fall back to the normal parse_condition_id behavior.

Source

pub fn parse_raw(input: &str) -> Result<Option<ConditionExpr>, ParseError>

Parse an expression that is known to contain conditions (no prefix stripping).

Returns Err if the input cannot be parsed. Returns Ok(None) if empty.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.