pub struct ConditionParser;Expand description
Parser for AHB condition expressions.
Implementations§
Source§impl ConditionParser
impl ConditionParser
Sourcepub fn parse(input: &str) -> Result<Option<ConditionExpr>, ParseError>
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));Sourcepub fn parse_with_ub(
input: &str,
ub_definitions: &HashMap<String, ConditionExpr>,
) -> Result<Option<ConditionExpr>, ParseError>
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.
Sourcepub fn parse_raw(input: &str) -> Result<Option<ConditionExpr>, ParseError>
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§
impl Freeze for ConditionParser
impl RefUnwindSafe for ConditionParser
impl Send for ConditionParser
impl Sync for ConditionParser
impl Unpin for ConditionParser
impl UnsafeUnpin for ConditionParser
impl UnwindSafe for ConditionParser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more