## Uses of Class
org.apache.xpath.compiler.Compiler

Packages that use Compiler
Package | Description
--- | ---
org.apache.xpath.axes | Implementation of XPath LocationPath support -- primary classes are LocPathIterator and UnionPathIterator.
org.apache.xpath.compiler | Implements an XPath parser which produces an OpMap, and a so-called Compiler which produces an expression tree for fast evaluation.
org.apache.xpath.functions | Implements XPath functions -- each function is derived from Function, FunctionOneArg, Function2Args, etc, with number-of-arguments checking being applied mainly at compile time -- this package only implements XPath functions, XSLT functions are found in the "templates" package.

### Uses of Compiler in org.apache.xpath.axes

Methods in org.apache.xpath.axes with parameters of type Compiler
Modifier and Type | Method and Description
--- | ---
`static LocPathIterator` | UnionPathIterator.`createUnionIterator(Compiler compiler, int opPos)` This will return an iterator capable of handling the union of paths given.
`static void` | WalkerFactory.`diagnoseIterator(java.lang.String name, int analysis, Compiler compiler)`
`static int` | WalkerFactory.`getAxisFromStep(Compiler compiler, int stepOpCodePos)` Special purpose function to see if we can optimize the pattern for a DescendantIterator.
`void` | FilterExprWalker.`init(Compiler compiler, int opPos, int stepType)` Init a FilterExprWalker.
`void` | AxesWalker.`init(Compiler compiler, int opPos, int stepType)` Initialize an AxesWalker during the parse of the XPath expression.
`static boolean` | WalkerFactory.`mightBeProximate(Compiler compiler, int opPos, int stepType)` Tell if the predicates need to have proximity knowledge.
`static DTMIterator` | WalkerFactory.`newDTMIterator(Compiler compiler, int opPos, boolean isTopLevel)` Create a new LocPathIterator iterator.

Constructors in org.apache.xpath.axes with parameters of type Compiler
Constructor and Description
`UnionPathIterator(Compiler compiler, int opPos)` Create a UnionPathIterator object, including creation of location path iterators from the opcode list, and call back into the Compiler to create predicate expressions.

### Uses of Compiler in org.apache.xpath.compiler

Methods in org.apache.xpath.compiler with parameters of type Compiler
Modifier and Type | Method and Description
--- | ---
`void` | XPathParser.`initMatchPattern(Compiler compiler, java.lang.String expression, PrefixResolver namespaceContext)` Given an string, init an XPath object for pattern matches, in order that a parse doesn't have to be done each time the expression is evaluated.
`void` | XPathParser.`initXPath(Compiler compiler, java.lang.String expression, PrefixResolver namespaceContext)` Given an string, init an XPath object for selections, in order that a parse doesn't have to be done each time the expression is evaluated.

### Uses of Compiler in org.apache.xpath.functions

Methods in org.apache.xpath.functions with parameters of type Compiler
Modifier and Type | Method and Description
--- | ---
`void` | Function.`postCompileStep(Compiler compiler)` This function is currently only being used by Position() and Last().
`void` | FuncPosition.`postCompileStep(Compiler compiler)` Figure out if we're executing a toplevel expression.
`void` | FuncLast.`postCompileStep(Compiler compiler)` Figure out if we're executing a toplevel expression.