
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: api/choco/extracted
Source used for this grammar: Mathieu Vénisse, Choco 1.0, ChocoModel.ecore, 2008/07/18
LocatedElement, OpConstraint, Package, Import, ChocoProblem, Element, Expression, ConstraintDef, IntVar, Domain, IntConstant, SymbolicTerm, IntValue, IntExp, Constraint, PostConstraint, Boolean, Integer, String), 0 root (—), 2 top (LocatedElement, Boolean), 0 bottom (—).[eq], [and2], [or2], [gt], [ge], [lt], [le], [plus], [name] 2, [import], [problem], [fqn], [elements], [op] 4, [left] 3, [right] 3, [domain], [lower], [upper], [val] 2, [term], [constraint].LocatedElement ::= Package
LocatedElement ::= Import
LocatedElement ::= ChocoProblem
LocatedElement ::= Element
LocatedElement ::= Domain
OpConstraint ::= [eq]::ε [and2]::ε [or2]::ε [gt]::ε [ge]::ε [lt]::ε [le]::ε [plus]::ε
Package ::=
[name]::String [import]::Import [problem]::ChocoProblemImport ::= [fqn]::String
ChocoProblem ::=
[name]::String [elements]::ElementElement ::= Expression
Element ::= PostConstraint
Expression ::= ConstraintDef
Expression ::= IntVar
Expression ::= IntConstant
Expression ::= SymbolicTerm
Expression ::= IntValue
Expression ::= IntExp
Expression ::= Constraint
ConstraintDef ::= [op]::OpConstraint [left]::Expression [right]::Expression
IntVar ::= [domain]::Domain
Domain ::= [lower]::Integer [upper]::Integer
IntConstant ::= [val]::Integer
SymbolicTerm ::= [term]::Expression
IntValue ::= [val]::Integer
IntExp ::= [op]::OpConstraint [left]::Expression [right]::Expression
Constraint ::= [op]::OpConstraint [left]::Expression [right]::Expression
PostConstraint ::= [op]::OpConstraint [constraint]::ConstraintDef
Boolean ::= "true" "false"
Integer ::= integer
String ::= string