org.apache.xpath.compiler

Class OpCodes


public class OpCodes
extends java.lang.Object

Operations codes for XPath. Code for the descriptions of the operations codes: [UPPER CASE] indicates a literal value, [lower case] is a description of a value, ([length] always indicates the length of the operation, including the operations code and the length integer.) {UPPER CASE} indicates the given production, {description} is the description of a new production, (For instance, {boolean expression} means some expression that should be resolved to a boolean.) * means that it occurs zero or more times, + means that it occurs one or more times, ? means that it is optional. returns: indicates what the production should return.

Field Summary

static int
AXES_END_TYPES
The end of the axes types.
static int
AXES_START_TYPES
[FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}?
static int
ELEMWILDCARD
[ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.
static int
EMPTY
[EMPTY] Empty slot to indicate NULL.
static int
ENDOP
[ENDOP] Some operators may like to have a terminator.
static int
FROM_ANCESTORS
ancestor axes opcode.
static int
FROM_ANCESTORS_OR_SELF
ancestor-or-self axes opcode.
static int
FROM_ATTRIBUTES
attribute axes opcode.
static int
FROM_CHILDREN
children axes opcode.
static int
FROM_DESCENDANTS
descendants axes opcode.
static int
FROM_DESCENDANTS_OR_SELF
descendants-of-self axes opcode.
static int
FROM_FOLLOWING
following axes opcode.
static int
FROM_FOLLOWING_SIBLINGS
following-siblings axes opcode.
static int
FROM_NAMESPACE
namespace axes opcode.
static int
FROM_PARENT
parent axes opcode.
static int
FROM_PRECEDING
preceding axes opcode.
static int
FROM_PRECEDING_SIBLINGS
preceding-sibling axes opcode.
static int
FROM_ROOT
'/' axes opcode.
static int
FROM_SELF
self axes opcode.
static int
MATCH_ANY_ANCESTOR
For match patterns.
static int
MATCH_ATTRIBUTE
For match patterns.
static int
MATCH_IMMEDIATE_ANCESTOR
For match patterns.
static int
NODENAME
[NODENAME] [index to ns token or EMPTY] [index to name token] returns: XBoolean
static int
NODETYPE_ANYELEMENT
[NODETYPE_ANY] No size or arguments.
static int
NODETYPE_COMMENT
[NODETYPE_COMMENT] No size or arguments.
static int
NODETYPE_FUNCTEST
[NODETYPE_ANY] No size or arguments.
static int
NODETYPE_NODE
[NODETYPE_NODE] No size or arguments.
static int
NODETYPE_PI
[NODETYPE_PI] [index to token] Note: must not overlap function OP number!
static int
NODETYPE_ROOT
[NODETYPE_ROOT] No size or arguments.
static int
NODETYPE_TEXT
[NODETYPE_TEXT] No size or arguments.
static int
OP_AND
[OP_AND] [length] {boolean expression} {boolean expression} returns: XBoolean
static int
OP_ARGUMENT
[OP_ARGUMENT] (Function argument.)
static int
OP_BOOL
[OP_BOOL] (cast operation) [length] {expression} returns: XBoolean
static int
OP_DIV
[OP_DIV] [length] {number expression} {number expression} returns: XNumber
static int
OP_EQUALS
[OP_EQUALS] [length] {expression} {expression} returns: XBoolean
static int
OP_EXTFUNCTION
[OP_EXTFUNCTION] (Extension function.)
static int
OP_FUNCTION
[OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int
OP_GROUP
[OP_GROUP] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int
OP_GT
[OP_GT] (greater-than) [length] {number expression} {number expression} returns: XBoolean
static int
OP_GTE
[OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
static int
OP_LITERAL
[OP_LITERAL] [3] [index to token] returns: XString
static int
OP_LOCATIONPATH
[OP_LOCATIONPATH] [length] {FROM_stepType} | {function} {predicate} [ENDOP] (Note that element and attribute namespaces and names can be wildcarded '*'.)
static int
OP_LOCATIONPATHPATTERN
[OP_LOCATIONPATHPATTERN] [length] {FROM_stepType} | {function}{predicate} [ENDOP] returns: XNodeSet
static int
OP_LT
[OP_LT] (less-than) [length] {number expression} {number expression} returns: XBoolean
static int
OP_LTE
[OP_LTE] (less-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
static int
OP_MATCHPATTERN
[OP_MATCHPATTERN] [length] {PathExpr}+ returns: XNodeSet
static int
OP_MINUS
[OP_MINUS] [length] {number expression} {number expression} returns: XNumber
static int
OP_MOD
[OP_MOD] [length] {number expression} {number expression} returns: XNumber
static int
OP_MULT
[OP_MULT] [length] {number expression} {number expression} returns: XNumber
static int
OP_NEG
[OP_NEG] [length] {number expression} returns: XNumber
static int
OP_NOTEQUALS
[OP_NOTEQUALS] [length] {expression} {expression} returns: XBoolean
static int
OP_NUMBER
[OP_NUMBER] (cast operation) [length] {expression} returns: XBoolean
static int
OP_NUMBERLIT
[OP_NUMBERLIT] (Number literal.)
static int
OP_OR
[OP_OR] [length] {boolean expression} {boolean expression} returns: XBoolean
static int
OP_PLUS
[OP_PLUS] [length] {number expression} {number expression} returns: XNumber
static int
OP_PREDICATE
[OP_PREDICATE] [length] {expression} [ENDOP] (For safety) returns: XBoolean or XNumber
static int
OP_QUO
[OP_QUO] [length] {number expression} {number expression} returns: XNumber
static int
OP_STRING
[OP_STRING] (cast operation) [length] {expression} returns: XString
static int
OP_UNION
[OP_UNION] [length] {PathExpr}+ returns: XNodeSet
static int
OP_VARIABLE
[OP_VARIABLE] [4] [index to namespace token, or EMPTY] [index to function name token] returns: XString
static int
OP_XPATH
[OP_XPATH] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

Field Details

AXES_END_TYPES

public static final int AXES_END_TYPES
The end of the axes types.

Field Value:
53


AXES_START_TYPES

public static final int AXES_START_TYPES
[FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}? returns: XBoolean

Field Value:
37


ELEMWILDCARD

public static final int ELEMWILDCARD
[ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.

Field Value:
-3


EMPTY

public static final int EMPTY
[EMPTY] Empty slot to indicate NULL.

Field Value:
-2


ENDOP

public static final int ENDOP
[ENDOP] Some operators may like to have a terminator.

Field Value:
-1


FROM_ANCESTORS

public static final int FROM_ANCESTORS
ancestor axes opcode.

Field Value:
37


FROM_ANCESTORS_OR_SELF

public static final int FROM_ANCESTORS_OR_SELF
ancestor-or-self axes opcode.

Field Value:
38


FROM_ATTRIBUTES

public static final int FROM_ATTRIBUTES
attribute axes opcode.

Field Value:
39


FROM_CHILDREN

public static final int FROM_CHILDREN
children axes opcode.

Field Value:
40


FROM_DESCENDANTS

public static final int FROM_DESCENDANTS
descendants axes opcode.

Field Value:
41


FROM_DESCENDANTS_OR_SELF

public static final int FROM_DESCENDANTS_OR_SELF
descendants-of-self axes opcode.

Field Value:
42


FROM_FOLLOWING

public static final int FROM_FOLLOWING
following axes opcode.

Field Value:
43


FROM_FOLLOWING_SIBLINGS

public static final int FROM_FOLLOWING_SIBLINGS
following-siblings axes opcode.

Field Value:
44


FROM_NAMESPACE

public static final int FROM_NAMESPACE
namespace axes opcode.

Field Value:
49


FROM_PARENT

public static final int FROM_PARENT
parent axes opcode.

Field Value:
45


FROM_PRECEDING

public static final int FROM_PRECEDING
preceding axes opcode.

Field Value:
46


FROM_PRECEDING_SIBLINGS

public static final int FROM_PRECEDING_SIBLINGS
preceding-sibling axes opcode.

Field Value:
47


FROM_ROOT

public static final int FROM_ROOT
'/' axes opcode.

Field Value:
50


FROM_SELF

public static final int FROM_SELF
self axes opcode.

Field Value:
48


MATCH_ANY_ANCESTOR

public static final int MATCH_ANY_ANCESTOR
For match patterns.

Field Value:
52


MATCH_ATTRIBUTE

public static final int MATCH_ATTRIBUTE
For match patterns.

Field Value:
51


MATCH_IMMEDIATE_ANCESTOR

public static final int MATCH_IMMEDIATE_ANCESTOR
For match patterns.

Field Value:
53


NODENAME

public static final int NODENAME
[NODENAME] [index to ns token or EMPTY] [index to name token] returns: XBoolean

Field Value:
34


NODETYPE_ANYELEMENT

public static final int NODETYPE_ANYELEMENT
[NODETYPE_ANY] No size or arguments. returns: XBoolean

Field Value:
36


NODETYPE_COMMENT

public static final int NODETYPE_COMMENT
[NODETYPE_COMMENT] No size or arguments. Note: must not overlap function OP number! returns: XBoolean

Field Value:
1030


NODETYPE_FUNCTEST

public static final int NODETYPE_FUNCTEST
[NODETYPE_ANY] No size or arguments. returns: XBoolean

Field Value:
1034


NODETYPE_NODE

public static final int NODETYPE_NODE
[NODETYPE_NODE] No size or arguments. Note: must not overlap function OP number! returns: XBoolean

Field Value:
1033


NODETYPE_PI

public static final int NODETYPE_PI
[NODETYPE_PI] [index to token] Note: must not overlap function OP number! returns: XBoolean

Field Value:
1032


NODETYPE_ROOT

public static final int NODETYPE_ROOT
[NODETYPE_ROOT] No size or arguments. returns: XBoolean

Field Value:
35


NODETYPE_TEXT

public static final int NODETYPE_TEXT
[NODETYPE_TEXT] No size or arguments. Note: must not overlap function OP number! returns: XBoolean

Field Value:
1031


OP_AND

public static final int OP_AND
[OP_AND] [length] {boolean expression} {boolean expression} returns: XBoolean

Field Value:
3


OP_ARGUMENT

public static final int OP_ARGUMENT
[OP_ARGUMENT] (Function argument.) [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

Field Value:
26


OP_BOOL

public static final int OP_BOOL
[OP_BOOL] (cast operation) [length] {expression} returns: XBoolean

Field Value:
18


OP_DIV

public static final int OP_DIV
[OP_DIV] [length] {number expression} {number expression} returns: XNumber

Field Value:
13


OP_EQUALS

public static final int OP_EQUALS
[OP_EQUALS] [length] {expression} {expression} returns: XBoolean

Field Value:
5


OP_EXTFUNCTION

public static final int OP_EXTFUNCTION
[OP_EXTFUNCTION] (Extension function.) [length] [index to namespace token] [index to function name token] {OP_ARGUMENT} returns: XNodeSet XNumber XString XBoolean XRTree XObject

Field Value:
24


OP_FUNCTION

public static final int OP_FUNCTION
[OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject

Field Value:
25


OP_GROUP

public static final int OP_GROUP
[OP_GROUP] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

Field Value:
23


OP_GT

public static final int OP_GT
[OP_GT] (greater-than) [length] {number expression} {number expression} returns: XBoolean

Field Value:
9


OP_GTE

public static final int OP_GTE
[OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression} returns: XBoolean

Field Value:
8


OP_LITERAL

public static final int OP_LITERAL
[OP_LITERAL] [3] [index to token] returns: XString

Field Value:
21


OP_LOCATIONPATH

public static final int OP_LOCATIONPATH
[OP_LOCATIONPATH] [length] {FROM_stepType} | {function} {predicate} [ENDOP] (Note that element and attribute namespaces and names can be wildcarded '*'.) returns: XNodeSet

Field Value:
28


OP_LOCATIONPATHPATTERN

public static final int OP_LOCATIONPATHPATTERN
[OP_LOCATIONPATHPATTERN] [length] {FROM_stepType} | {function}{predicate} [ENDOP] returns: XNodeSet

Field Value:
31


OP_LT

public static final int OP_LT
[OP_LT] (less-than) [length] {number expression} {number expression} returns: XBoolean

Field Value:
7


OP_LTE

public static final int OP_LTE
[OP_LTE] (less-than-or-equals) [length] {number expression} {number expression} returns: XBoolean

Field Value:
6


OP_MATCHPATTERN

public static final int OP_MATCHPATTERN
[OP_MATCHPATTERN] [length] {PathExpr}+ returns: XNodeSet

Field Value:
30


OP_MINUS

public static final int OP_MINUS
[OP_MINUS] [length] {number expression} {number expression} returns: XNumber

Field Value:
11


OP_MOD

public static final int OP_MOD
[OP_MOD] [length] {number expression} {number expression} returns: XNumber

Field Value:
14


OP_MULT

public static final int OP_MULT
[OP_MULT] [length] {number expression} {number expression} returns: XNumber

Field Value:
12


OP_NEG

public static final int OP_NEG
[OP_NEG] [length] {number expression} returns: XNumber

Field Value:
16


OP_NOTEQUALS

public static final int OP_NOTEQUALS
[OP_NOTEQUALS] [length] {expression} {expression} returns: XBoolean

Field Value:
4


OP_NUMBER

public static final int OP_NUMBER
[OP_NUMBER] (cast operation) [length] {expression} returns: XBoolean

Field Value:
19


OP_NUMBERLIT

public static final int OP_NUMBERLIT
[OP_NUMBERLIT] (Number literal.) [3] [index to token] returns: XString

Field Value:
27


OP_OR

public static final int OP_OR
[OP_OR] [length] {boolean expression} {boolean expression} returns: XBoolean

Field Value:
2


OP_PLUS

public static final int OP_PLUS
[OP_PLUS] [length] {number expression} {number expression} returns: XNumber

Field Value:
10


OP_PREDICATE

public static final int OP_PREDICATE
[OP_PREDICATE] [length] {expression} [ENDOP] (For safety) returns: XBoolean or XNumber

Field Value:
29


OP_QUO

public static final int OP_QUO
[OP_QUO] [length] {number expression} {number expression} returns: XNumber

Field Value:
15


OP_STRING

public static final int OP_STRING
[OP_STRING] (cast operation) [length] {expression} returns: XString

Field Value:
17


OP_UNION

public static final int OP_UNION
[OP_UNION] [length] {PathExpr}+ returns: XNodeSet

Field Value:
20


OP_VARIABLE

public static final int OP_VARIABLE
[OP_VARIABLE] [4] [index to namespace token, or EMPTY] [index to function name token] returns: XString

Field Value:
22


OP_XPATH

public static final int OP_XPATH
[OP_XPATH] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject

Field Value:
1


Copyright B) 2004 Apache XML Project. All Rights Reserved.