jif.parse
Class Grm

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

public class Grm
extends polyglot.ext.jl.parse.Grm

CUP v0.10k generated parser.

Version:
Thu Mar 16 21:20:32 EST 2006

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.
 JifNodeFactory nf
           
 JifTypeSystem ts
           
 
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.
 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.ext.jl.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
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.ext.jl.parse.Grm

action_table

public short[][] action_table()
Access to parse-action table.

Overrides:
action_table in class polyglot.ext.jl.parse.Grm

reduce_table

public short[][] reduce_table()
Access to reduce_goto table.

Overrides:
reduce_table in class polyglot.ext.jl.parse.Grm

init_actions

protected void init_actions()
Action encapsulation object initializer.

Overrides:
init_actions in class polyglot.ext.jl.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.ext.jl.parse.Grm
Throws:
java.lang.Exception

start_state

public int start_state()
Indicates start state.

Overrides:
start_state in class polyglot.ext.jl.parse.Grm

start_production

public int start_production()
Indicates start production.

Overrides:
start_production in class polyglot.ext.jl.parse.Grm

EOF_sym

public int EOF_sym()
EOF Symbol index.

Overrides:
EOF_sym in class polyglot.ext.jl.parse.Grm

error_sym

public int error_sym()
error Symbol index.

Overrides:
error_sym in class polyglot.ext.jl.parse.Grm

scan

public java_cup.runtime.Symbol scan()
                             throws java.lang.Exception
Scan to get the next Symbol.

Overrides:
scan in class polyglot.ext.jl.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.ext.jl.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