nogen include "../scg/scg.cd";

package csp;

import scg.*;
import java.util.Iterator;

CSPInstance = <vars> List(Var) *s <clauses> Cons(Clause) implements InstanceI .
Clause = "(" <relnum> int *s "{" <weight> int "}" *s <vars> List(Var) ")".
// Using the new ListMap, instead
CSPSolution = <assign> ListMap(Var,Boolean) implements SolutionI. 
Var = <id> ident implements Comparable(Var).
CSPInstanceSet = "(" <type> ListSet(Integer) ")" implements InstanceSetI.

CSPDomain = implements DomainI.

CSPConfig = "csp_config[" 
			*l*t "maxRelNum:" *s <maxRelNum> int
			//maximum value of relation number in Instance allowed
			*l*t "maxVariables:" *s <maxVariables> int
			//maximum no of variables allowed in Instance
            *l 
			"]" implements DomainConfigI.