org.eigenbase.relopt.hep
Class HepProgram

java.lang.Object
  extended by org.eigenbase.relopt.hep.HepProgram

public class HepProgram
extends Object

HepProgram specifies the order in which rules should be attempted by HepPlanner. Use HepProgramBuilder to create a new instance of HepProgram.

Note that the structure of a program is immutable, but the planner uses it as read/write during planning, so a program can only be in use by a single planner at a time.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/relopt/hep/HepProgram.java#7 $
Author:
John V. Sichi

Field Summary
(package private)  HepInstruction.EndGroup group
           
(package private)  List<HepInstruction> instructions
           
static int MATCH_UNTIL_FIXPOINT
          Symbolic constant for matching until no more matches occur.
(package private)  int matchLimit
           
(package private)  HepMatchOrder matchOrder
           
 
Constructor Summary
HepProgram(List<HepInstruction> instructions)
          Creates a new empty HepProgram.
 
Method Summary
(package private)  void initialize(boolean clearCache)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MATCH_UNTIL_FIXPOINT

public static final int MATCH_UNTIL_FIXPOINT
Symbolic constant for matching until no more matches occur.

See Also:
Constant Field Values

instructions

final List<HepInstruction> instructions

matchLimit

int matchLimit

matchOrder

HepMatchOrder matchOrder

group

HepInstruction.EndGroup group
Constructor Detail

HepProgram

HepProgram(List<HepInstruction> instructions)
Creates a new empty HepProgram. The program has an initial match order of HepMatchOrder.ARBITRARY, and an initial match limit of MATCH_UNTIL_FIXPOINT.

Method Detail

initialize

void initialize(boolean clearCache)