org.apache.xalan.xsltc.compiler
Class XPathParser

java.lang.Object
  |
  +--java_cup.runtime.lr_parser
        |
        +--org.apache.xalan.xsltc.compiler.XPathParser

public class XPathParser
extends java_cup.runtime.lr_parser

CUP v0.10j generated parser.


Field Summary
 org.apache.xalan.xsltc.compiler.SymbolTable _symbolTable
          Reference to the symbol table.
static org.apache.xalan.xsltc.compiler.VariableRef DummyVarRef
          Reference to non-existing variable.
static java.util.Vector EmptyArgs
          Used by function calls with no args.
 
Constructor Summary
XPathParser()
          Default constructor.
XPathParser(Parser parser)
           
XPathParser(java_cup.runtime.Scanner s)
          Constructor which sets the default scanner.
 
Method Summary
 short[][] action_table()
          Access to parse-action table.
 void addError(ErrorMsg error)
           
 org.apache.xalan.xsltc.compiler.StepPattern createStepPattern(int axis, java.lang.Object test, java.util.Vector predicates)
          This method is similar to findNodeType(int, Object) except that it creates a StepPattern instead of just returning a node type.
 java_cup.runtime.Symbol do_action(int act_num, java_cup.runtime.lr_parser parser, java.util.Stack stack, int top)
          Invoke a user supplied parse action.
 int EOF_sym()
          EOF Symbol index.
 int error_sym()
          error Symbol index.
 int findNodeType(int axis, java.lang.Object test)
           
 int getLineNumber()
           
 org.apache.xalan.xsltc.compiler.QName getQNameIgnoreDefaultNs(java.lang.String name)
           
 org.apache.xalan.xsltc.compiler.RelativeLocationPath insertStep(org.apache.xalan.xsltc.compiler.Step step, org.apache.xalan.xsltc.compiler.RelativeLocationPath rlp)
           
 boolean isElementAxis(int axis)
          Returns true if the axis applies to elements only.
 java_cup.runtime.Symbol parse(java.lang.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.
 void report_error(java.lang.String message, java.lang.Object info)
           
 void report_fatal_error(java.lang.String message, java.lang.Object info)
           
 void setCallsNodeset(boolean flag)
           
 void setHasIdCall(boolean flag)
           
 void setMultiDocument(boolean flag)
           
 int start_production()
          Indicates start production.
 int start_state()
          Indicates start state.
 
Methods inherited from class java_cup.runtime.lr_parser
debug_message, debug_parse, debug_reduce, debug_shift, debug_stack, done_parsing, dump_stack, getScanner, parse, scan, setScanner, syntax_error, unrecovered_syntax_error, user_init
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EmptyArgs

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

DummyVarRef

public static final org.apache.xalan.xsltc.compiler.VariableRef DummyVarRef
Reference to non-existing variable.

_symbolTable

public org.apache.xalan.xsltc.compiler.SymbolTable _symbolTable
Reference to the symbol table.
Constructor Detail

XPathParser

public XPathParser()
Default constructor.

XPathParser

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

XPathParser

public XPathParser(Parser parser)
Method Detail

production_table

public short[][] production_table()
Access to production table.
Overrides:
production_table in class java_cup.runtime.lr_parser

action_table

public short[][] action_table()
Access to parse-action table.
Overrides:
action_table in class java_cup.runtime.lr_parser

reduce_table

public short[][] reduce_table()
Access to reduce_goto table.
Overrides:
reduce_table in class java_cup.runtime.lr_parser

do_action

public java_cup.runtime.Symbol do_action(int act_num,
                                         java_cup.runtime.lr_parser parser,
                                         java.util.Stack stack,
                                         int top)
                                  throws java.lang.Exception
Invoke a user supplied parse action.
Overrides:
do_action in class java_cup.runtime.lr_parser

start_state

public int start_state()
Indicates start state.
Overrides:
start_state in class java_cup.runtime.lr_parser

start_production

public int start_production()
Indicates start production.
Overrides:
start_production in class java_cup.runtime.lr_parser

EOF_sym

public int EOF_sym()
EOF Symbol index.
Overrides:
EOF_sym in class java_cup.runtime.lr_parser

error_sym

public int error_sym()
error Symbol index.
Overrides:
error_sym in class java_cup.runtime.lr_parser

getLineNumber

public int getLineNumber()

getQNameIgnoreDefaultNs

public org.apache.xalan.xsltc.compiler.QName getQNameIgnoreDefaultNs(java.lang.String name)

setMultiDocument

public void setMultiDocument(boolean flag)

setCallsNodeset

public void setCallsNodeset(boolean flag)

setHasIdCall

public void setHasIdCall(boolean flag)

createStepPattern

public org.apache.xalan.xsltc.compiler.StepPattern createStepPattern(int axis,
                                                                     java.lang.Object test,
                                                                     java.util.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).

findNodeType

public int findNodeType(int axis,
                        java.lang.Object test)

parse

public java_cup.runtime.Symbol parse(java.lang.String expression,
                                     int lineNumber)
                              throws java.lang.Exception
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.

addError

public final void addError(ErrorMsg error)

report_error

public void report_error(java.lang.String message,
                         java.lang.Object info)
Overrides:
report_error in class java_cup.runtime.lr_parser

report_fatal_error

public void report_fatal_error(java.lang.String message,
                               java.lang.Object info)
Overrides:
report_fatal_error in class java_cup.runtime.lr_parser

insertStep

public org.apache.xalan.xsltc.compiler.RelativeLocationPath insertStep(org.apache.xalan.xsltc.compiler.Step step,
                                                                       org.apache.xalan.xsltc.compiler.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.


Copyright © 2003 Apache XML Project. All Rights Reserved.