Package org.antlr.v4.tool
Class LeftRecursiveRule
java.lang.Object
org.antlr.v4.tool.Rule
org.antlr.v4.tool.LeftRecursiveRule
- All Implemented Interfaces:
AttributeResolver
-
Field Summary
FieldsModifier and TypeFieldDescriptionDid we delete any labels on direct left-recur refs? Points at ID of ^(= ID el)Fields inherited from class org.antlr.v4.tool.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.int
Used 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.boolean
Methods inherited from class org.antlr.v4.tool.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:
hasAltSpecificContexts
in classRule
-
getOriginalNumberOfAlts
public int getOriginalNumberOfAlts()Description copied from class:Rule
Used for recursive rules (subclass), which have 1 alt, but many original alts- Overrides:
getOriginalNumberOfAlts
in classRule
-
getOriginalAST
-
getUnlabeledAltASTs
- Overrides:
getUnlabeledAltASTs
in 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
Get -> labels from those alts we deleted for left-recursive rules.- Overrides:
getAltLabels
in classRule
-