icu::plurals::provider::rules::reference

Module ast

Source
Expand description

AST provides a set of Syntax Tree Nodes used to store the output of parse method that is used in test_condition method to evaluate whether a given PluralCategory should be used.

🚧 This code is considered unstable; it may change at any time, in breaking or non-breaking ways, including in SemVer minor releases. In particular, the `DataProvider` implementations are only guaranteed to match with this version's `*_unstable` providers. Use with caution.

§Examples

use icu::plurals::provider::rules::reference::ast::*;
use icu::plurals::provider::rules::reference::parse_condition;

let input = "i = 1";

let ast = parse_condition(input.as_bytes()).expect("Parsing failed.");

assert_eq!(
    ast,
    Condition(vec![AndCondition(vec![Relation {
        expression: Expression {
            operand: Operand::I,
            modulus: None,
        },
        operator: Operator::Eq,
        range_list: RangeList(vec![RangeListItem::Value(Value(1))])
    }])])
);

Structs§

Enums§