public class LeftRecursiveRule extends Rule
| Modifier and Type | Field and Description |
|---|---|
java.util.List<Pair<GrammarAST,java.lang.String>> |
leftRecursiveRuleRefLabels
Did we delete any labels on direct left-recur refs? Points at ID of ^(= ID el)
|
RuleAST |
originalAST |
OrderedHashMap<java.lang.Integer,LeftRecursiveRuleAltInfo> |
recOpAlts |
java.util.List<LeftRecursiveRuleAltInfo> |
recPrimaryAlts |
actionIndex, actions, alt, args, ast, exceptions, finallyAction, g, index, isStartRule, locals, mode, modifiers, name, namedActions, numberOfAlts, predefinedRulePropertiesDict, retvals, validLexerCommands| Constructor and Description |
|---|
LeftRecursiveRule(Grammar g,
java.lang.String name,
RuleAST ast) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<java.lang.String,java.util.List<Pair<java.lang.Integer,AltAST>>> |
getAltLabels()
Get -> labels from those alts we deleted for left-recursive rules.
|
RuleAST |
getOriginalAST() |
int |
getOriginalNumberOfAlts()
Used for recursive rules (subclass), which have 1 alt, but many original alts
|
java.util.List<AltAST> |
getUnlabeledAltASTs() |
boolean |
hasAltSpecificContexts() |
defineActionInAlt, defineLexerAction, definePredicateInAlt, equals, getAnyLabelDef, getElementLabelDefs, getElementLabelNames, getPredefinedScope, getTokenRefs, hashCode, isFragment, resolveRetvalOrProperty, resolvesToAttributeDict, resolvesToLabel, resolvesToListLabel, resolvesToToken, resolveToAttribute, resolveToAttribute, resolveToRule, toStringpublic java.util.List<LeftRecursiveRuleAltInfo> recPrimaryAlts
public OrderedHashMap<java.lang.Integer,LeftRecursiveRuleAltInfo> recOpAlts
public RuleAST originalAST
public java.util.List<Pair<GrammarAST,java.lang.String>> leftRecursiveRuleRefLabels
public boolean hasAltSpecificContexts()
hasAltSpecificContexts in class Rulepublic int getOriginalNumberOfAlts()
RulegetOriginalNumberOfAlts in class Rulepublic RuleAST getOriginalAST()
public java.util.List<AltAST> getUnlabeledAltASTs()
getUnlabeledAltASTs in class Rulepublic java.util.Map<java.lang.String,java.util.List<Pair<java.lang.Integer,AltAST>>> getAltLabels()
getAltLabels in class Rule