Package | Description |
---|---|
org.antlr.analysis | |
org.antlr.tool |
Modifier and Type | Class and Description |
---|---|
static class |
SemanticContext.AND |
static class |
SemanticContext.NOT |
static class |
SemanticContext.OR |
static class |
SemanticContext.Predicate |
static class |
SemanticContext.TruePredicate |
Modifier and Type | Field and Description |
---|---|
protected SemanticContext |
SemanticContext.NOT.ctx |
static SemanticContext |
SemanticContext.EMPTY_SEMANTIC_CONTEXT
Create a default value for the semantic context shared among all
NFAConfigurations that do not have an actual semantic context.
|
protected SemanticContext |
SemanticContext.AND.left |
protected SemanticContext |
SemanticContext.AND.right |
SemanticContext |
NFAConfiguration.semanticContext
The set of semantic predicates associated with this NFA
configuration.
|
protected SemanticContext |
PredicateLabel.semanticContext
A tree of semantic predicates from the grammar AST if label==SEMPRED.
|
Modifier and Type | Field and Description |
---|---|
protected Map<DFAState,Map<Integer,SemanticContext>> |
DecisionProbe.stateToAltSetWithSemanticPredicatesMap
Track the predicates for each alt per DFA state;
more than one DFA state might have syntactically ambig alt prediction.
|
Modifier and Type | Method and Description |
---|---|
protected SemanticContext |
LL1Analyzer._getPredicates(NFAState s,
NFAState altStartState) |
static SemanticContext |
SemanticContext.and(SemanticContext a,
SemanticContext b) |
abstract SemanticContext |
SemanticContext.getGatedPredicateContext()
Given a semantic context expression tree, return a tree with all
nongated predicates set to true and then reduced.
|
SemanticContext |
SemanticContext.Predicate.getGatedPredicateContext() |
SemanticContext |
SemanticContext.AND.getGatedPredicateContext() |
SemanticContext |
SemanticContext.OR.getGatedPredicateContext() |
SemanticContext |
SemanticContext.NOT.getGatedPredicateContext() |
SemanticContext |
DFAState.getGatedPredicatesInNFAConfigurations()
For gated productions, we need an OR'd list of all predicates for the
target of an edge so we can gate the edge based upon the predicates
associated with taking that path (if any).
|
SemanticContext |
LL1Analyzer.getPredicates(NFAState altStartState)
Return predicate expression found via epsilon edges from s.
|
SemanticContext |
Label.getSemanticContext() |
SemanticContext |
PredicateLabel.getSemanticContext() |
SemanticContext |
DecisionProbe.getSemanticContextForAlt(DFAState d,
int alt)
Each state in the DFA represents a different input sequence for an
alt of the decision.
|
protected static SemanticContext |
NFAToDFAConverter.getUnionOfPredicates(Map altToPredMap)
OR together all predicates from the alts.
|
static SemanticContext |
SemanticContext.not(SemanticContext a) |
static SemanticContext |
SemanticContext.or(SemanticContext a,
SemanticContext b) |
Modifier and Type | Method and Description |
---|---|
protected Map<Integer,SemanticContext> |
NFAToDFAConverter.getPredicatesPerNonDeterministicAlt(DFAState d,
Set nondeterministicAlts)
Return a mapping from nondeterministc alt to combined list of predicates.
|
Modifier and Type | Method and Description |
---|---|
NFAConfiguration |
DFAState.addNFAConfiguration(NFAState state,
int alt,
NFAContext context,
SemanticContext semanticContext) |
static SemanticContext |
SemanticContext.and(SemanticContext a,
SemanticContext b) |
void |
NFAToDFAConverter.closure(NFAState p,
int alt,
NFAContext context,
SemanticContext semanticContext,
DFAState d,
boolean collectPredicates)
Where can we get from NFA state p traversing only epsilon transitions?
Add new NFA states + context to DFA state d.
|
static SemanticContext |
SemanticContext.not(SemanticContext a) |
static SemanticContext |
SemanticContext.or(SemanticContext a,
SemanticContext b) |
Constructor and Description |
---|
AND(SemanticContext a,
SemanticContext b) |
NFAConfiguration(int state,
int alt,
NFAContext context,
SemanticContext semanticContext) |
NOT(SemanticContext ctx) |
OR(SemanticContext a,
SemanticContext b) |
PredicateLabel(SemanticContext semCtx)
Make a semantic predicates label
|
Modifier and Type | Method and Description |
---|---|
void |
Grammar.synPredUsedInDFA(DFA dfa,
SemanticContext semCtx) |
Copyright © 2020. All rights reserved.