Browsable Choco Grammar

CC-BY

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

Summary

Syntax

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]::ChocoProblem
Import ::=
	[fqn]::String
ChocoProblem ::=
	[name]::String [elements]::Element+
Element ::=
	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

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []