Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.10k generated parser.

Version:
  Tue Apr 15 13:54:17 EDT 2008

Field Summary
`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.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, prev_pos`

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, tos`

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

Method Summary
`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 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, exprToQualifier, nextSymbol, 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, find_recovery_config, get_action, get_reduce, getScanner, parse_lookahead, read_lookahead, restart_lookahead, setScanner, shift_under_error, 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.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 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)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD