weka.core.expressionlanguage.parser

## Class Parser

- java.lang.Object
- - java_cup.runtime.lr_parser
  - - weka.core.expressionlanguage.parser.Parser

-     public class Parser
      extends java_cup.runtime.lr_parser

  CUP v0.11b 20141202 (SVN rev 60) generated parser.

- - ### Field Summary

    - ### Fields inherited from class java_cup.runtime.lr_parser

      `symbolFactory`

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `short[][]` | `action_table()` Access to parse-action table.
    `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.
    `Node` | `getRoot()` Returns the root node of the program
    `java.lang.Class` | `getSymbolContainer()`
    `static Node` | `parse(java.lang.String expr, VariableDeclarations variables, MacroDeclarations macros)` Tries to parse and compile a program from the textual representation in expr while exposing the variables and marcos
    `short[][]` | `production_table()` Access to production table.
    `short[][]` | `reduce_table()` Access to `reduce_goto` table.
    `void` | `setMacros(MacroDeclarations macros)` Sets the macro declarations for the program
    `void` | `setVariables(VariableDeclarations variables)` Sets the variable declarations for the program
    `int` | `start_production()` Indicates start production.
    `int` | `start_state()` Indicates start state.
    `void` | `unrecovered_syntax_error(java_cup.runtime.Symbol token)`

    - ### Methods inherited from class java_cup.runtime.lr_parser

      `debug_message, debug_parse, debug_reduce, debug_shift, debug_stack, done_parsing, dump_stack, getScanner, getSymbolFactory, parse, report_error, report_fatal_error, scan, setScanner, syntax_error, user_init`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Parser

          public Parser()

      Default constructor.

    - #### Parser

          public Parser(java_cup.runtime.Scanner s)

      Constructor which sets the default scanner.

    - #### Parser

          public Parser(java_cup.runtime.Scanner s,
                java_cup.runtime.SymbolFactory sf)

      Constructor which sets the default scanner.

  - ### Method Detail

    - #### getSymbolContainer

          public final java.lang.Class getSymbolContainer()

    - #### 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`

    - #### setVariables

          public void setVariables(VariableDeclarations variables)

      Sets the variable declarations for the program
      Parameters:
        `variables` - the variables that should be exposed to the program

    - #### setMacros

          public void setMacros(MacroDeclarations macros)

      Sets the macro declarations for the program
      Parameters:
        `macros` - the macros that should be exposed to the program

    - #### getRoot

          public Node getRoot()

      Returns the root node of the program
      Returns:
        the root node

    - #### parse

          public static Node parse(java.lang.String expr,
                   VariableDeclarations variables,
                   MacroDeclarations macros)
                            throws java.lang.Exception

      Tries to parse and compile a program from the textual representation in expr while exposing the variables and marcos
      Parameters:
        `expr` - the expression to be compiled in textual form
        `variables` - the variables exposed to the program
        `macros` - the macros exposed to the program
      Returns:
        the root node of the compiled program
      Throws:
        `java.lang.Exception` - if an error occurs during compilation

    - #### unrecovered_syntax_error

          public void unrecovered_syntax_error(java_cup.runtime.Symbol token)
                                        throws SyntaxException

      Overrides:
        `unrecovered_syntax_error` in class `java_cup.runtime.lr_parser`
      Throws:
        `SyntaxException`