org.apache.xalan.xsltc.compiler

Class XPathParser

public class XPathParser extends lr_parser

CUP v0.10k generated parser.

Version: Thu Nov 22 16:41:50 EST 2007

Field Summary
static VariableRefDummyVarRef
Reference to non-existing variable.
static VectorEmptyArgs
Used by function calls with no args.
SymbolTable_symbolTable
Reference to the symbol table.
Constructor Summary
XPathParser()
Default constructor.
XPathParser(Scanner s)
Constructor which sets the default scanner.
XPathParser(Parser parser)
Method Summary
short[][]action_table()
Access to parse-action table.
voidaddError(ErrorMsg error)
StepPatterncreateStepPattern(int axis, Object test, Vector predicates)
This method is similar to findNodeType(int, Object) except that it creates a StepPattern instead of just returning a node type.
Symboldo_action(int act_num, lr_parser parser, Stack stack, int top)
Invoke a user supplied parse action.
interror_sym()
error Symbol index.
intEOF_sym()
EOF Symbol index.
intfindNodeType(int axis, Object test)
intgetLineNumber()
QNamegetQName(String namespace, String prefix, String localname)
QNamegetQNameIgnoreDefaultNs(String name)
RelativeLocationPathinsertStep(Step step, RelativeLocationPath rlp)
booleanisElementAxis(int axis)
Returns true if the axis applies to elements only.
Symbolparse(String expression, int lineNumber)
Parse the expression passed to the current scanner.
short[][]production_table()
Access to production table.
short[][]reduce_table()
Access to reduce_goto table.
voidreport_error(String message, Object info)
voidreport_fatal_error(String message, Object info)
voidsetCallsNodeset(boolean flag)
voidsetHasIdCall(boolean flag)
voidsetMultiDocument(boolean flag)
intstart_production()
Indicates start production.
intstart_state()
Indicates start state.

Field Detail

DummyVarRef

public static final VariableRef DummyVarRef
Reference to non-existing variable.

EmptyArgs

public static final Vector EmptyArgs
Used by function calls with no args.

_symbolTable

public SymbolTable _symbolTable
Reference to the symbol table.

Constructor Detail

XPathParser

public XPathParser()
Default constructor.

XPathParser

public XPathParser(Scanner s)
Constructor which sets the default scanner.

XPathParser

public XPathParser(Parser parser)

Method Detail

action_table

public short[][] action_table()
Access to parse-action table.

addError

public final void addError(ErrorMsg error)

createStepPattern

public StepPattern createStepPattern(int axis, Object test, Vector predicates)
This method is similar to findNodeType(int, Object) except that it creates a StepPattern instead of just returning a node type. It also differs in the way it handles "{uri}:*" and "{uri}:@*". The last two patterns are expanded as "*[namespace-uri() = 'uri']" and "@*[namespace-uri() = 'uri']", respectively. This expansion considerably simplifies the grouping of patterns in the Mode class. For this expansion to be correct, the priority of the pattern/template must be set to -0.25 (when no other predicates are present).

do_action

public Symbol do_action(int act_num, lr_parser parser, Stack stack, int top)
Invoke a user supplied parse action.

error_sym

public int error_sym()
error Symbol index.

EOF_sym

public int EOF_sym()
EOF Symbol index.

findNodeType

public int findNodeType(int axis, Object test)

getLineNumber

public int getLineNumber()

getQName

public QName getQName(String namespace, String prefix, String localname)

getQNameIgnoreDefaultNs

public QName getQNameIgnoreDefaultNs(String name)

insertStep

public RelativeLocationPath insertStep(Step step, RelativeLocationPath rlp)

isElementAxis

public boolean isElementAxis(int axis)
Returns true if the axis applies to elements only. The axes child, attribute, namespace, descendant result in non-empty nodesets only if the context node is of type element.

parse

public Symbol parse(String expression, int lineNumber)
Parse the expression passed to the current scanner. If this expression contains references to local variables and it will be compiled in an external module (not in the main class) request the current template to create a new variable stack frame.

Parameters: lineNumber Line where the current expression is defined. external Set to true if this expression is compiled in a separate module.

production_table

public short[][] production_table()
Access to production table.

reduce_table

public short[][] reduce_table()
Access to reduce_goto table.

report_error

public void report_error(String message, Object info)

report_fatal_error

public void report_fatal_error(String message, Object info)

setCallsNodeset

public void setCallsNodeset(boolean flag)

setHasIdCall

public void setHasIdCall(boolean flag)

setMultiDocument

public void setMultiDocument(boolean flag)

start_production

public int start_production()
Indicates start production.

start_state

public int start_state()
Indicates start state.
Copyright B) 2006 Apache XML Project. All Rights Reserved.