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) 2006 Apache XML Project. All Rights Reserved.