jif.parse
Class Grm

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

public class Grm
extends polyglot.parse.Grm

CUP v0.10k generated parser.

Version:
Tue Feb 03 10:05:45 EST 2009

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)