pub fn parse_additive(input: &str) -> IResult<&str, Additive>Expand description
Parse an additive expression.
Parses expressions with additive operators (+, -) according to left associativity.
The parser consumes multiplicative expressions as operands and builds an AST node
representing the additive operation.
§Arguments
input- The input string slice to parse
§Returns
A IResult containing the remaining input and parsed Additive expression.
§Grammar
additive := multiplicative (S? ('+' | '-') S? multiplicative)*Where S represents optional whitespace.
§Examples
use aimx::expressions::additive::parse_additive;
// Simple addition
let result = parse_additive("123 + 456");
assert!(result.is_ok());
// Chained operations (left associative)
let result = parse_additive("10 - 5 - 2");
assert!(result.is_ok());
// Parsed as (10 - 5) - 2
// With whitespace
let result = parse_additive("123 + 456");
assert!(result.is_ok());