public class Parser extends Object
| Modifier and Type | Class and Description | 
|---|---|
static interface  | 
Parser.ActionHandler
The parser knows how to handle the terminal and non-terminal
 symbols. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected int | 
pos  | 
protected Symbol[] | 
stack  | 
protected Parser.ActionHandler | 
symbolHandler  | 
| Constructor and Description | 
|---|
Parser(Symbol root,
      Parser.ActionHandler symbolHandler)  | 
| Modifier and Type | Method and Description | 
|---|---|
Symbol | 
advance(Symbol input)
Recursively replaces the symbol at the top of the stack with its
 production, until the top is a terminal. 
 | 
int | 
depth()
Returns the depth of the stack. 
 | 
Symbol | 
popSymbol()
Pops and returns the top symbol from the stack. 
 | 
void | 
processImplicitActions()
Performs any implicit actions at the top the stack, expanding any
 production (other than the root) that may be encountered. 
 | 
void | 
processTrailingImplicitActions()
Performs any "trailing" implicit actions at the top the stack. 
 | 
void | 
pushProduction(Symbol sym)
Pushes the production for the given symbol sym. 
 | 
void | 
pushSymbol(Symbol sym)
Pushes sym on to the stack. 
 | 
void | 
reset()  | 
Symbol | 
topSymbol()
Returns the top symbol from the stack. 
 | 
protected final Parser.ActionHandler symbolHandler
protected Symbol[] stack
protected int pos
public Parser(Symbol root, Parser.ActionHandler symbolHandler) throws IOException
IOExceptionpublic final Symbol advance(Symbol input) throws IOException
input - The symbol to match against the terminal at the
 top of the stack.IOExceptionpublic final void processImplicitActions()
                                  throws IOException
IOExceptionpublic final void processTrailingImplicitActions()
                                          throws IOException
IOExceptionpublic final void pushProduction(Symbol sym)
Symbol.ARRAY_END or Symbol.MAP_END pushes nothing.sym - public Symbol popSymbol()
public Symbol topSymbol()
public void pushSymbol(Symbol sym)
public int depth()
public void reset()
Copyright © 2009-2012 The Apache Software Foundation. All Rights Reserved.