gtopt::ConstraintParser class

Parser for AMPL-inspired user constraint expressions.

Provides static parse() methods that tokenize and parse a constraint expression string into a ConstraintExpr AST. Supports comments (# or // to end-of-line), element references, sum aggregation, and domain clauses.

Public static functions

static auto parse(std::string_view expression) -> ConstraintExpr
Parse a constraint expression (unnamed)
static auto parse(std::string_view name, std::string_view expression) -> ConstraintExpr
Parse a constraint expression with an optional name.

Function documentation

static ConstraintExpr gtopt::ConstraintParser::parse(std::string_view expression)

Parse a constraint expression (unnamed)

Parameters
expression Constraint expression string
Returns Parsed ConstraintExpr AST
Exceptions
std::invalid_argument on syntax errors

static ConstraintExpr gtopt::ConstraintParser::parse(std::string_view name, std::string_view expression)

Parse a constraint expression with an optional name.

Parameters
name Human-readable constraint name
expression Constraint expression string
Returns Parsed ConstraintExpr AST
Exceptions
std::invalid_argument on syntax errors