Package | Description |
---|---|
org.clafer.ast.compiler |
This package provides a compiler to translate Clafer AST to IR.
|
org.clafer.ir |
This package provides the IR used as in intermediate language during
compilation.
|
org.clafer.ir.analysis |
This package provides various analysis and optimizations to perform on the
IR.
|
org.clafer.ir.compiler |
This package provides a compiler to translate IR to Choco.
|
Modifier and Type | Method and Description |
---|---|
static AstSolutionMap |
AstCompiler.compile(AstModel in,
Scope scope,
IrModule out,
Analyzer[] analyzers,
boolean fullSymmetryBreaking) |
static AstSolutionMap |
AstCompiler.compile(AstModel in,
Scope scope,
IrModule out,
boolean fullSymmetryBreaking) |
static AstSolutionMap |
AstCompiler.compile(AstModel in,
Scope scope,
Objective objective,
IrModule out,
Analyzer[] analyzers,
boolean fullSymmetryBreaking) |
static AstSolutionMap |
AstCompiler.compile(AstModel in,
Scope scope,
Objective objective,
IrModule out,
boolean fullSymmetryBreaking) |
Modifier and Type | Method and Description |
---|---|
IrModule |
IrModule.addConstraint(IrBoolExpr expr) |
IrModule |
IrModule.addConstraints(IrBoolExpr... exprs) |
IrModule |
IrModule.addConstraints(Iterable<? extends IrBoolExpr> exprs) |
IrModule |
IrModule.addVariable(IrVar var) |
IrModule |
IrModule.addVariables(IrVar... vars) |
IrModule |
IrModule.addVariables(Iterable<? extends IrVar> vars) |
IrModule |
IrRewriter.rewrite(IrModule module,
T t) |
Modifier and Type | Method and Description |
---|---|
IrModule |
IrRewriter.rewrite(IrModule module,
T t) |
Modifier and Type | Method and Description |
---|---|
static IrModule |
Canonicalizer.canonical(IrModule module)
Rewrites the module in a form that is easier to pattern match and makes
some implicit constraints explicit.
|
static IrModule |
ImplicationFlattener.flatten(IrModule module)
Rewrites expressions so that ands are never directly under the implies
consequent and if-then-else are rewritten to implications.
|
static IrModule |
Optimizer.optimize(IrModule module)
Optimize the module.
|
static IrModule |
DuplicateConstraints.removeDuplicates(IrModule module)
Reduce.
|
Modifier and Type | Method and Description |
---|---|
static Triple<Map<IrIntVar,IrIntVar>,Map<IrSetVar,IrSetVar>,IrModule> |
Coalescer.coalesce(IrModule module) |
Modifier and Type | Method and Description |
---|---|
static IrModule |
Canonicalizer.canonical(IrModule module)
Rewrites the module in a form that is easier to pattern match and makes
some implicit constraints explicit.
|
static Triple<Map<IrIntVar,IrIntVar>,Map<IrSetVar,IrSetVar>,IrModule> |
Coalescer.coalesce(IrModule module) |
static Set<IrExpr> |
CommonSubexpression.findCommonSubexpressions(IrModule module) |
static IrModule |
ImplicationFlattener.flatten(IrModule module)
Rewrites expressions so that ands are never directly under the implies
consequent and if-then-else are rewritten to implications.
|
static IrModule |
Optimizer.optimize(IrModule module)
Optimize the module.
|
static IrModule |
DuplicateConstraints.removeDuplicates(IrModule module)
Reduce.
|
Modifier and Type | Method and Description |
---|---|
static IrSolutionMap |
IrCompiler.compile(IrModule in,
solver.Solver out) |
static IrSolutionMap |
IrCompiler.compile(IrModule in,
solver.Solver out,
boolean coalesceVariables) |
Copyright © 2013. All Rights Reserved.