Class LeftRecursiveRule
java.lang.Object
org.antlr.v4.tool.Rule
org.antlr.v4.tool.LeftRecursiveRule
- All Implemented Interfaces:
AttributeResolver
-
Field Summary
FieldsModifier and TypeFieldDescriptionList<Pair<GrammarAST, String>> Did we delete any labels on direct left-recur refs? Points at ID of ^(= ID el)Fields inherited from class Rule
actionIndex, actions, alt, args, ast, caseInsensitive, exceptions, finallyAction, g, index, isStartRule, locals, mode, modifiers, name, namedActions, numberOfAlts, predefinedRulePropertiesDict, retvals, validLexerCommands -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet -> labels from those alts we deleted for left-recursive rules.intUsed for recursive rules (subclass), which have 1 alt, but many original altsint[]Return an array that maps predicted alt from primary decision to original alt of rule.int[]Return an array that maps predicted alt from recursive op decision to original alt of rule.booleanMethods inherited from class Rule
defineActionInAlt, defineLexerAction, definePredicateInAlt, equals, getAnyLabelDef, getElementLabelDefs, getElementLabelNames, getPredefinedScope, getTokenRefs, hashCode, isFragment, resolveRetvalOrProperty, resolvesToAttributeDict, resolvesToLabel, resolvesToListLabel, resolvesToToken, resolveToAttribute, resolveToAttribute, resolveToRule, toString
-
Field Details
-
recPrimaryAlts
-
recOpAlts
-
originalAST
-
leftRecursiveRuleRefLabels
Did we delete any labels on direct left-recur refs? Points at ID of ^(= ID el)
-
-
Constructor Details
-
LeftRecursiveRule
-
-
Method Details
-
hasAltSpecificContexts
public boolean hasAltSpecificContexts()- Overrides:
hasAltSpecificContextsin classRule
-
getOriginalNumberOfAlts
public int getOriginalNumberOfAlts()Description copied from class:RuleUsed for recursive rules (subclass), which have 1 alt, but many original alts- Overrides:
getOriginalNumberOfAltsin classRule
-
getOriginalAST
-
getUnlabeledAltASTs
- Overrides:
getUnlabeledAltASTsin classRule
-
getPrimaryAlts
public int[] getPrimaryAlts()Return an array that maps predicted alt from primary decision to original alt of rule. For following rule, return [0, 2, 4] e : e '*' e | INT | e '+' e | ID ; That maps predicted alt 1 to original alt 2 and predicted 2 to alt 4.- Since:
- 4.5.1
-
getRecursiveOpAlts
public int[] getRecursiveOpAlts()Return an array that maps predicted alt from recursive op decision to original alt of rule. For following rule, return [0, 1, 3] e : e '*' e | INT | e '+' e | ID ; That maps predicted alt 1 to original alt 1 and predicted 2 to alt 3.- Since:
- 4.5.1
-
getAltLabels
-