Parser is the class that maintains the stack for parsing. This class is used by encoders, which are not required to skip.
More...
|
interface | IActionHandler |
| The parser knows how to handle the terminal and non-terminal symbols. But it needs help from outside to handle implicit and explicit actions. The clients implement this interface to provide this help. More...
|
|
Parser is the class that maintains the stack for parsing. This class is used by encoders, which are not required to skip.
◆ Parser()
Initializes a new instance of the Parser class.
◆ Advance()
Recursively replaces the symbol at the top of the stack with its production, until the top is a terminal. Then checks if the top symbol matches the terminal symbol supplied input
.
- Parameters
-
input | The symbol to match against the terminal at the top of the stack. |
- Returns
- The terminal symbol at the top of the stack unless an implicit action resulted in another symbol, in which case that symbol is returned.
◆ Depth()
virtual int Avro.IO.Parsing.Parser.Depth |
( |
| ) |
|
|
inlinevirtual |
Returns the depth of the stack.
◆ PopSymbol()
virtual Symbol Avro.IO.Parsing.Parser.PopSymbol |
( |
| ) |
|
|
inlinevirtual |
Pops and returns the top symbol from the stack.
◆ ProcessImplicitActions()
void Avro.IO.Parsing.Parser.ProcessImplicitActions |
( |
| ) |
|
|
inline |
Performs any implicit actions at the top the stack, expanding any production (other than the root) that may be encountered. This method will fail if there are any repeaters on the stack.
◆ ProcessTrailingImplicitActions()
void Avro.IO.Parsing.Parser.ProcessTrailingImplicitActions |
( |
| ) |
|
|
inline |
Performs any "trailing" implicit actions at the top the stack.
◆ PushProduction()
void Avro.IO.Parsing.Parser.PushProduction |
( |
Symbol |
sym | ) |
|
|
inline |
Pushes the production for the given symbol sym
. If sym
is a repeater and input
is either Symbol.ArrayEnd or Symbol.MapEnd pushes nothing.
- Parameters
-
◆ PushSymbol()
virtual void Avro.IO.Parsing.Parser.PushSymbol |
( |
Symbol |
sym | ) |
|
|
inlinevirtual |
Pushes sym
on to the stack.
◆ Reset()
virtual void Avro.IO.Parsing.Parser.Reset |
( |
| ) |
|
|
inlinevirtual |
◆ TopSymbol()
virtual Symbol Avro.IO.Parsing.Parser.TopSymbol |
( |
| ) |
|
|
inlinevirtual |
Returns the top symbol from the stack.
◆ Pos
int Avro.IO.Parsing.Parser.Pos |
|
protected |
◆ Stack
Symbol [] Avro.IO.Parsing.Parser.Stack |
|
protected |
The documentation for this class was generated from the following file:
- src/apache/main/IO/Parsing/Parser.cs