INNER CODE UNIT · Rust

parse_clause

fcoury/oxide · src/parser/mod.rs:79

fn parse_clause(clause: Clause) -> Result<String> {
    match clause {
        Clause::Leaf(leaf) => parse_leaf(leaf),
        Clause::ExpressionTree(exp_tree) => parse_expression_tree(exp_tree),
    }
}

fn parse_leaf(leaf: LeafClause) -> Result<String> {
    match leaf.value {
        Value::Leaf(leaf_value) => parse_leaf_value(leaf_value, leaf.key, None),
        Value::Operators(val_operators) => parse_value_operators(val_operators, leaf.key),
    }
}

fn parse_value_operators(val_operators: Vec<Operator>, field: String) -> Result<String> {
    let values: Result<Vec<String>> = val_operators
        .into_iter()
        .map(|operator| parse_operator(operator, field.clone()))

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…