jif.parse

## Class Grm

- java.lang.Object
- - java_cup.runtime.lr_parser
  - - polyglot.parse.BaseParser
    - - polyglot.parse.Grm
      - - jif.parse.Grm

-     public class Grm
      extends polyglot.parse.Grm

  CUP v0.11b 20150326 generated parser.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static short[][]` | `_action_table` Parse-action table.
    `protected static short[][]` | `_production_table` Production table.
    `protected static short[][]` | `_reduce_table` `reduce_goto` table.
    `protected jif.parse.Grm.CUP$Grm$actions` | `action_obj` Instance of action encapsulation class.
    `static java.lang.String` | `END_LABEL_ANNOTATION`
    `static java.lang.String` | `METHOD_ACTSFOR_ANNOTATION`
    `static java.lang.String` | `METHOD_AUTH_ANNOTATION`
    `static java.lang.String` | `METHOD_AUTO_ENDORSE_ANNOTATION`
    `static java.lang.String` | `METHOD_CALLER_ANNOTATION`
    `static java.lang.String` | `METHOD_LABEL_ASSERTION_ANNOTATION`
    `JifNodeFactory` | `nf`
    `static java.lang.String` | `PC_BOUND_ANNOTATION`
    `JifTypeSystem` | `ts`
    `static java.lang.String` | `TYPE_ANNOTATION`

    - ### Fields inherited from class polyglot.parse.BaseParser

      `eq, lexer, position, positionToTokenIndexMap, prev_pos, tokenStream`

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

      `_done_parsing, _error_sync_size, action_tab, cur_token, lookahead, lookahead_pos, production_tab, reduce_tab, stack, symbolFactory, tos`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Grm(polyglot.lex.Lexer l, JifTypeSystem t, JifNodeFactory n, polyglot.util.ErrorQueue q)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `short[][]` | `action_table()` Access to parse-action table.
    `void` | `countAnnotation(java.lang.String key, polyglot.util.Position pos)`
    `java_cup.runtime.Symbol` | `do_action(int act_num, java_cup.runtime.lr_parser parser, java.util.Stack<java_cup.runtime.Symbol> stack, int top)` Invoke a user supplied parse action.
    `int` | `EOF_sym()` `EOF` Symbol index.
    `int` | `error_sym()` `error` Symbol index.
    `polyglot.ast.PackageNode` | `exprToPackage(polyglot.ast.Expr e)`
    `ParamNode` | `exprToParam(polyglot.ast.Expr e)`
    `polyglot.ast.TypeNode` | `exprToType(polyglot.ast.Expr e)`
    `polyglot.ast.TypeNode` | `exprToUninstType(polyglot.ast.Expr e)`
    `protected void` | `init_actions()` Action encapsulation object initializer.
    `Amb` | `makeAccessOrInst(Amb a, java.util.List b)`
    `java.util.List` | `makeParamOrExprList(polyglot.ast.Expr a)`
    `java_cup.runtime.Symbol` | `parse()` After we parse as usual, the AST may contain reftype_or_expr nodes wrapped in expressions.
    `polyglot.util.Position` | `pos()`
    `static polyglot.util.Position` | `pos(Amb n)` Return the source position of the Parse.
    `polyglot.util.Position` | `pos(Declarator n)`
    `protected polyglot.util.Position` | `posForObject(java.lang.Object o)`
    `polyglot.ast.PackageNode` | `prefixToPackage(polyglot.ast.Prefix p)`
    `short[][]` | `production_table()` Access to production table.
    `short[][]` | `reduce_table()` Access to `reduce_goto` table.
    `java_cup.runtime.Symbol` | `scan()` Scan to get the next Symbol.
    `int` | `start_production()` Indicates start production.
    `int` | `start_state()` Indicates start state.
    `java.util.List` | `toParamList(java.util.List l)`

    - ### Methods inherited from class polyglot.parse.Grm

      `pos, report_error, syntax_error, variableDeclarators`

    - ### Methods inherited from class polyglot.parse.BaseParser

      `array, die, die, die, emptyTokenPos, exprToQualifier, getSymbolContainer, javadoc, javadoc, nextSymbol, pos, pos, pos, pos, pos, pos, pos, pos, position, prefixToQualifier, report_fatal_error, typeToQualifier`

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

      `advance_lookahead, cur_err_token, debug_message, debug_parse, debug_reduce, debug_shift, debug_stack, done_parsing, dump_stack, error_recovery, error_sync_size, expected_token_ids, find_recovery_config, get_action, get_reduce, getScanner, getSymbolFactory, parse_lookahead, read_lookahead, report_expected_token_ids, restart_lookahead, setScanner, shift_under_error, symbl_name_from_id, try_parse_ahead, unpackFromStrings, unrecovered_syntax_error, user_init`

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

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

- - ### Field Detail

    - #### _production_table

          protected static final short[][] _production_table

      Production table.

    - #### _action_table

          protected static final short[][] _action_table

      Parse-action table.

    - #### _reduce_table

          protected static final short[][] _reduce_table

      `reduce_goto` table.

    - #### action_obj

          protected jif.parse.Grm.CUP$Grm$actions action_obj

      Instance of action encapsulation class.

    - #### nf

          public final JifNodeFactory nf

    - #### ts

          public final JifTypeSystem ts

    - #### TYPE_ANNOTATION

          public static final java.lang.String TYPE_ANNOTATION

      See Also:
        Constant Field Values

    - #### PC_BOUND_ANNOTATION

          public static final java.lang.String PC_BOUND_ANNOTATION

      See Also:
        Constant Field Values

    - #### END_LABEL_ANNOTATION

          public static final java.lang.String END_LABEL_ANNOTATION

      See Also:
        Constant Field Values

    - #### METHOD_AUTH_ANNOTATION

          public static final java.lang.String METHOD_AUTH_ANNOTATION

      See Also:
        Constant Field Values

    - #### METHOD_CALLER_ANNOTATION

          public static final java.lang.String METHOD_CALLER_ANNOTATION

      See Also:
        Constant Field Values

    - #### METHOD_AUTO_ENDORSE_ANNOTATION

          public static final java.lang.String METHOD_AUTO_ENDORSE_ANNOTATION

      See Also:
        Constant Field Values

    - #### METHOD_ACTSFOR_ANNOTATION

          public static final java.lang.String METHOD_ACTSFOR_ANNOTATION

      See Also:
        Constant Field Values

    - #### METHOD_LABEL_ASSERTION_ANNOTATION

          public static final java.lang.String METHOD_LABEL_ASSERTION_ANNOTATION

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Grm

          public Grm(polyglot.lex.Lexer l,
                     JifTypeSystem t,
                     JifNodeFactory n,
                     polyglot.util.ErrorQueue q)

  - ### Method Detail

    - #### production_table

          public short[][] production_table()

      Access to production table.
      Overrides:
        `production_table` in class `polyglot.parse.Grm`

    - #### action_table

          public short[][] action_table()

      Access to parse-action table.
      Overrides:
        `action_table` in class `polyglot.parse.Grm`

    - #### reduce_table

          public short[][] reduce_table()

      Access to `reduce_goto` table.
      Overrides:
        `reduce_table` in class `polyglot.parse.Grm`

    - #### init_actions

          protected void init_actions()

      Action encapsulation object initializer.
      Overrides:
        `init_actions` in class `polyglot.parse.Grm`

    - #### do_action

          public java_cup.runtime.Symbol do_action(int act_num,
                                                   java_cup.runtime.lr_parser parser,
                                                   java.util.Stack<java_cup.runtime.Symbol> stack,
                                                   int top)
                                            throws java.lang.Exception

      Invoke a user supplied parse action.
      Overrides:
        `do_action` in class `polyglot.parse.Grm`
      Throws:
        `java.lang.Exception`

    - #### start_state

          public int start_state()

      Indicates start state.
      Overrides:
        `start_state` in class `polyglot.parse.Grm`

    - #### start_production

          public int start_production()

      Indicates start production.
      Overrides:
        `start_production` in class `polyglot.parse.Grm`

    - #### EOF_sym

          public int EOF_sym()

      `EOF` Symbol index.
      Overrides:
        `EOF_sym` in class `polyglot.parse.Grm`

    - #### error_sym

          public int error_sym()

      `error` Symbol index.
      Overrides:
        `error_sym` in class `polyglot.parse.Grm`

    - #### scan

          public java_cup.runtime.Symbol scan()
                                       throws java.lang.Exception

      Scan to get the next Symbol.
      Overrides:
        `scan` in class `polyglot.parse.Grm`
      Throws:
        `java.lang.Exception`

    - #### parse

          public java_cup.runtime.Symbol parse()
                                        throws java.lang.Exception

      After we parse as usual, the AST may contain reftype_or_expr nodes wrapped in expressions. These are the _only_ reftype_or_expr expressions in the AST at this point, although there may be reftype_or_expr types, qualifiers, etc. Here, we make a visitor pass over the AST to unwrap these reftype_or_expr nodes and convert them to (possibly reftype_or_expr) expressions. This pass is done after parsing to avoid having to convert expressions into types.
      Overrides:
        `parse` in class `java_cup.runtime.lr_parser`
      Throws:
        `java.lang.Exception`

    - #### exprToPackage

          public polyglot.ast.PackageNode exprToPackage(polyglot.ast.Expr e)
                                                 throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### prefixToPackage

          public polyglot.ast.PackageNode prefixToPackage(polyglot.ast.Prefix p)
                                                   throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exprToParam

          public ParamNode exprToParam(polyglot.ast.Expr e)
                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exprToUninstType

          public polyglot.ast.TypeNode exprToUninstType(polyglot.ast.Expr e)
                                                 throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exprToType

          public polyglot.ast.TypeNode exprToType(polyglot.ast.Expr e)
                                           throws java.lang.Exception

      Overrides:
        `exprToType` in class `polyglot.parse.BaseParser`
      Throws:
        `java.lang.Exception`

    - #### toParamList

          public java.util.List toParamList(java.util.List l)
                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### makeParamOrExprList

          public java.util.List makeParamOrExprList(polyglot.ast.Expr a)

    - #### pos

          public static polyglot.util.Position pos(Amb n)

      Return the source position of the Parse.

    - #### posForObject

          protected polyglot.util.Position posForObject(java.lang.Object o)

      Overrides:
        `posForObject` in class `polyglot.parse.Grm`

    - #### pos

          public polyglot.util.Position pos(Declarator n)

    - #### pos

          public polyglot.util.Position pos()

    - #### makeAccessOrInst

          public Amb makeAccessOrInst(Amb a,
                                      java.util.List b)
                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### countAnnotation

          public void countAnnotation(java.lang.String key,
                                      polyglot.util.Position pos)