Summary
Add support for indexed bounds in var blocks using lower { expr } and upper { expr } child nodes, allowing bounds to reference parameters.
Parent: #176
Blocked by: #179
Syntax
// Scalar bounds (existing, inline)
var x lower=0 upper=100 {index generators; index buses}
// Indexed bounds (new, child nodes)
var x lower=0 {
index generators; index buses
upper { capacity[g] }
}
// Both bounds indexed
var flow {
index arcs
lower { min_flow[a] }
upper { max_flow[a] }
}
Acceptance Criteria
Implementation Notes
Location: crates/arco-kdl/src/source/parser.rs (in parse_var or similar)
The lower { expr } / upper { expr } nodes contain a math expression that gets parsed by the existing expression parser.
- AFK — extends existing var parsing with clear pattern
Summary
Add support for indexed bounds in
varblocks usinglower { expr }andupper { expr }child nodes, allowing bounds to reference parameters.Parent: #176
Blocked by: #179
Syntax
Acceptance Criteria
lower { expr }as child node in var blockupper { expr }as child node in var blocklower=0) still worklower=0+ childupper { expr }worksImplementation Notes
Location:
crates/arco-kdl/src/source/parser.rs(inparse_varor similar)The
lower { expr }/upper { expr }nodes contain a math expression that gets parsed by the existing expression parser.