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.10k generated parser.
  Version:
    Sat Mar 25 19:56:31 IST 2023

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `XPathParser()` Default constructor.
    `XPathParser(Parser parser)`
    `XPathParser(java_cup.runtime.Scanner s)` Constructor which sets the default scanner.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `getQName(java.lang.String namespace, java.lang.String prefix, java.lang.String localname)`
    `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.
      Specified by:
        `production_table` in class `java_cup.runtime.lr_parser`

    - #### action_table

          public short[][] action_table()

      Access to parse-action table.
      Specified by:
        `action_table` in class `java_cup.runtime.lr_parser`

    - #### reduce_table

          public short[][] reduce_table()

      Access to `reduce_goto` table.
      Specified by:
        `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.
      Specified by:
        `do_action` in class `java_cup.runtime.lr_parser`
      Throws:
        `java.lang.Exception`

    - #### start_state

          public int start_state()

      Indicates start state.
      Specified by:
        `start_state` in class `java_cup.runtime.lr_parser`

    - #### start_production

          public int start_production()

      Indicates start production.
      Specified by:
        `start_production` in class `java_cup.runtime.lr_parser`

    - #### EOF_sym

          public int EOF_sym()

      `EOF` Symbol index.
      Specified by:
        `EOF_sym` in class `java_cup.runtime.lr_parser`

    - #### error_sym

          public int error_sym()

      `error` Symbol index.
      Specified by:
        `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)

    - #### getQName

          public org.apache.xalan.xsltc.compiler.QName getQName(java.lang.String namespace,
                                                                java.lang.String prefix,
                                                                java.lang.String localname)

    - #### 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.
      Throws:
        `java.lang.Exception`

    - #### 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 © 2023 Apache XML Project. All Rights Reserved.