Function parse_additive

Source
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());