ConstraintParser class
#include <gtopt/constraint_parser.hpp>
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 |