org.semanticweb.HermiT.tableau
Class DLClauseEvaluator.ConjunctionCompiler

java.lang.Object
  extended by org.semanticweb.HermiT.tableau.DLClauseEvaluator.ConjunctionCompiler
Direct Known Subclasses:
ConjunctiveQuery.QueryCompiler, DLClauseEvaluator.DLClauseCompiler
Enclosing class:
DLClauseEvaluator

public abstract static class DLClauseEvaluator.ConjunctionCompiler
extends java.lang.Object


Field Summary
protected  Atom[] m_bodyAtoms
           
protected  java.util.Set<Variable> m_boundSoFar
           
protected  DLClauseEvaluator.BufferSupply m_bufferSupply
           
protected  ExtensionManager m_extensionManager
           
protected  java.util.List<java.lang.Integer> m_labels
           
protected  java.util.List<ExtensionTable.Retrieval> m_retrievals
           
protected  UnionDependencySet m_unionDependencySet
           
protected  DLClauseEvaluator.ValuesBufferManager m_valuesBufferManager
           
protected  java.util.List<Variable> m_variables
           
 java.util.List<DLClauseEvaluator.Worker> m_workers
           
 
Constructor Summary
DLClauseEvaluator.ConjunctionCompiler(DLClauseEvaluator.BufferSupply bufferSupply, DLClauseEvaluator.ValuesBufferManager valuesBufferManager, java.util.Map<java.lang.Integer,UnionDependencySet> unionDependencySetsBySize, ExtensionManager extensionManager, Atom[] bodyAtoms, java.util.List<Variable> headVariables)
           
 
Method Summary
protected  int addLabel()
           
protected  void compileBodyAtom(int bodyAtomIndex, int lastAtomNextElement)
           
protected  void compileCheckUnboundVariableMatches(Atom atom, ExtensionTable.Retrieval retrieval, int jumpIndex)
           
protected  void compileGenerateBindings(ExtensionTable.Retrieval retrieval, Atom atom)
           
protected abstract  void compileHeads()
           
protected  void generateCode(int firstBodyAtomToCompile, ExtensionTable.Retrieval firstAtomRetrieval)
           
protected  Atom getBodyAtom(int atomIndex)
           
protected  int getBodyLength()
           
protected  boolean occursInBodyAtomsAfter(Variable variable, int startIndex)
           
protected  void setLabelProgramCounter(int labelID)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_bufferSupply

protected final DLClauseEvaluator.BufferSupply m_bufferSupply

m_valuesBufferManager

protected final DLClauseEvaluator.ValuesBufferManager m_valuesBufferManager

m_extensionManager

protected final ExtensionManager m_extensionManager

m_bodyAtoms

protected final Atom[] m_bodyAtoms

m_variables

protected final java.util.List<Variable> m_variables

m_boundSoFar

protected final java.util.Set<Variable> m_boundSoFar

m_unionDependencySet

protected final UnionDependencySet m_unionDependencySet

m_retrievals

protected final java.util.List<ExtensionTable.Retrieval> m_retrievals

m_workers

public final java.util.List<DLClauseEvaluator.Worker> m_workers

m_labels

protected final java.util.List<java.lang.Integer> m_labels
Constructor Detail

DLClauseEvaluator.ConjunctionCompiler

public DLClauseEvaluator.ConjunctionCompiler(DLClauseEvaluator.BufferSupply bufferSupply,
                                             DLClauseEvaluator.ValuesBufferManager valuesBufferManager,
                                             java.util.Map<java.lang.Integer,UnionDependencySet> unionDependencySetsBySize,
                                             ExtensionManager extensionManager,
                                             Atom[] bodyAtoms,
                                             java.util.List<Variable> headVariables)
Method Detail

generateCode

protected final void generateCode(int firstBodyAtomToCompile,
                                  ExtensionTable.Retrieval firstAtomRetrieval)

occursInBodyAtomsAfter

protected final boolean occursInBodyAtomsAfter(Variable variable,
                                               int startIndex)

compileBodyAtom

protected final void compileBodyAtom(int bodyAtomIndex,
                                     int lastAtomNextElement)

getBodyLength

protected final int getBodyLength()

getBodyAtom

protected final Atom getBodyAtom(int atomIndex)

compileCheckUnboundVariableMatches

protected final void compileCheckUnboundVariableMatches(Atom atom,
                                                        ExtensionTable.Retrieval retrieval,
                                                        int jumpIndex)

compileGenerateBindings

protected final void compileGenerateBindings(ExtensionTable.Retrieval retrieval,
                                             Atom atom)

addLabel

protected final int addLabel()

setLabelProgramCounter

protected final void setLabelProgramCounter(int labelID)

compileHeads

protected abstract void compileHeads()