| Modifier and Type | Field and Description |
|---|---|
| pack-priv static String | |
| pack-priv static Pattern | |
| pack-priv static String | |
| pack-priv static Pattern | |
| public static final int | |
| protected TreeNodeStream | |
| public static final int |
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected static Object | getAncestor(TreeAdaptor adaptor, String[] tokenNames, Object t, String goal)
Helper for static inContext |
| protected Object | getCurrentInputSymbol(IntStream input)
Overrides org. |
| public String | getErrorHeader(RecognitionException e)
Prefix error message with the grammar name because message is
always intended for the programmer because the parser built
the input tree not the user.
|
| public String | getErrorMessage(RecognitionException e, String[] tokenNames)
Tree parsers parse nodes they usually have a token object as
payload.
|
| protected Object | getMissingSymbol(IntStream input, RecognitionException e, int expectedTokenType, BitSet follow)
Overrides org. |
| public String | |
| public TreeNodeStream | |
| public boolean | |
| public static boolean | inContext(TreeAdaptor adaptor, String[] tokenNames, Object t, String context)
The worker for inContext. |
| public void | matchAny(IntStream ignore)
Overrides org. |
| protected Object | recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow)
Overrides org. |
| public void | reset()
Overrides org. |
| public void | |
| public void | |
| public void |
| dotdot | back to summary |
|---|---|
| pack-priv static String dotdot | |
| dotdotPattern | back to summary |
|---|---|
| pack-priv static Pattern dotdotPattern | |
| doubleEtc | back to summary |
|---|---|
| pack-priv static String doubleEtc | |
| doubleEtcPattern | back to summary |
|---|---|
| pack-priv static Pattern doubleEtcPattern | |
| DOWN | back to summary |
|---|---|
| public static final int DOWN | |
| input | back to summary |
|---|---|
| protected TreeNodeStream input | |
| UP | back to summary |
|---|---|
| public static final int UP | |
| TreeParser | back to summary |
|---|---|
| public TreeParser(TreeNodeStream input) | |
| TreeParser | back to summary |
|---|---|
| public TreeParser(TreeNodeStream input, RecognizerSharedState state) | |
| getAncestor | back to summary |
|---|---|
| protected static Object getAncestor(TreeAdaptor adaptor, String[] tokenNames, Object t, String goal) Helper for static inContext | |
| getCurrentInputSymbol | back to summary |
|---|---|
| protected Object getCurrentInputSymbol(IntStream input) Overrides org. Doc from org. Match needs to return the current input symbol, which gets put into the label for the associated token ref; e.g., x=ID. Token and tree parsers need to return different objects. Rather than test for input stream type or change the IntStream interface, I use a simple method to ask the recognizer to tell me what the current input symbol is. This is ignored for lexers.
| |
| getErrorHeader | back to summary |
|---|---|
| public String getErrorHeader(RecognitionException e) Overrides org. Prefix error message with the grammar name because message is always intended for the programmer because the parser built the input tree not the user.
| |
| getErrorMessage | back to summary |
|---|---|
| public String getErrorMessage(RecognitionException e, String[] tokenNames) Overrides org. Tree parsers parse nodes they usually have a token object as payload. Set the exception token and do the default behavior.
| |
| getMissingSymbol | back to summary |
|---|---|
| protected Object getMissingSymbol(IntStream input, RecognitionException e, int expectedTokenType, BitSet follow) Overrides org. Doc from org. Conjure up a missing token during error recovery. The recognizer attempts to recover from single missing symbols. But, actions might refer to that missing symbol. For example, x=ID {f($x);}. The action clearly assumes that there has been an identifier matched previously and that $x points at that token. If that token is missing, but the next token in the stream is what we want we assume that this token is missing and we keep going. Because we have to return some token to replace the missing token, we have to conjure one up. This method gives the user control over the tokens returned for missing tokens. Mostly, you will want to create something special for identifier tokens. For literals such as '{' and ',', the default action in the parser or tree parser works. It simply creates a CommonToken of the appropriate type. The text will be the token. If you change what tokens must be created by the lexer, override this method to create the appropriate tokens.
| |
| getSourceName | back to summary |
|---|---|
| public String getSourceName() Implements abstract org.
| |
| getTreeNodeStream | back to summary |
|---|---|
| public TreeNodeStream getTreeNodeStream() | |
| inContext | back to summary |
|---|---|
| public boolean inContext(String context) Check if current node in input has a context. Context means sequence of nodes towards root of tree. For example, you might say context is "MULT" which means my parent must be MULT. "CLASS VARDEF" says current node must be child of a VARDEF and whose parent is a CLASS node. You can use "..." to mean zero-or-more nodes. "METHOD ... VARDEF" means my parent is VARDEF and somewhere above that is a METHOD node. The first node in the context is not necessarily the root. The context matcher stops matching and returns true when it runs out of context. There is no way to force the first node to be the root. | |
| inContext | back to summary |
|---|---|
| public static boolean inContext(TreeAdaptor adaptor, String[] tokenNames, Object t, String context) The worker for inContext. It's static and full of parameters for testing purposes. | |
| matchAny | back to summary |
|---|---|
| public void matchAny(IntStream ignore) Overrides org. Match '.' in tree parser has special meaning. Skip node or entire tree if node has children. If children, scan until corresponding UP node.
| |
| recoverFromMismatchedToken | back to summary |
|---|---|
| protected Object recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow) throws RecognitionException Overrides org. We have DOWN/UP nodes in the stream that have no line info; override. plus we want to alter the exception type. Don't try to recover from tree parser errors inline...
| |
| reset | back to summary |
|---|---|
| public void reset() Overrides org. Doc from org. reset the parser's state; subclasses must rewinds the input stream
| |
| setTreeNodeStream | back to summary |
|---|---|
| public void setTreeNodeStream(TreeNodeStream input) Set the input stream | |
| traceIn | back to summary |
|---|---|
| public void traceIn(String ruleName, int ruleIndex) | |
| traceOut | back to summary |
|---|---|
| public void traceOut(String ruleName, int ruleIndex) | |