Package | Description |
---|---|
antlr |
Modifier and Type | Field and Description |
---|---|
protected Lookahead[] |
RuleEndElement.cache |
protected Lookahead[] |
RuleBlock.cache |
protected Lookahead[] |
Alternative.cache |
protected Lookahead[] |
BlockWithImpliedExitPath.exitCache
lookahead to bypass block; set
by deterministic().
|
Modifier and Type | Method and Description |
---|---|
Lookahead |
LLkGrammarAnalyzer.FOLLOW(int k,
RuleEndElement end) |
Lookahead |
LLkAnalyzer.FOLLOW(int k,
RuleEndElement end)
Compute the lookahead set of whatever follows references to
the rule associated witht the FOLLOW block.
|
Lookahead |
Lookahead.intersection(Lookahead q)
What is the intersection of two lookahead depths?
Only the Epsilon "bit" and bitset are considered.
|
Lookahead |
OneOrMoreBlock.look(int k) |
Lookahead |
RuleEndElement.look(int k) |
Lookahead |
RuleBlock.look(int k) |
Lookahead |
WildcardElement.look(int k) |
Lookahead |
ZeroOrMoreBlock.look(int k) |
Lookahead |
SynPredBlock.look(int k) |
Lookahead |
CharLiteralElement.look(int k) |
Lookahead |
TreeElement.look(int k) |
Lookahead |
TokenRangeElement.look(int k) |
Lookahead |
TokenRefElement.look(int k) |
Lookahead |
GrammarElement.look(int k) |
Lookahead |
BlockEndElement.look(int k) |
Lookahead |
StringLiteralElement.look(int k) |
Lookahead |
AlternativeBlock.look(int k) |
Lookahead |
ActionElement.look(int k) |
Lookahead |
RuleRefElement.look(int k) |
Lookahead |
CharRangeElement.look(int k) |
Lookahead |
LLkGrammarAnalyzer.look(int k,
ActionElement action) |
Lookahead |
LLkAnalyzer.look(int k,
ActionElement action)
Actions are ignored
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
AlternativeBlock blk) |
Lookahead |
LLkAnalyzer.look(int k,
AlternativeBlock blk)
Combine the lookahead computed for each alternative
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
BlockEndElement end) |
Lookahead |
LLkAnalyzer.look(int k,
BlockEndElement end)
Compute what follows this place-holder node and possibly
what begins the associated loop unless the
node is locked.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
CharLiteralElement atom) |
Lookahead |
LLkAnalyzer.look(int k,
CharLiteralElement atom)
Return this char as the lookahead if k=1.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
CharRangeElement end) |
Lookahead |
LLkAnalyzer.look(int k,
CharRangeElement r) |
Lookahead |
LLkGrammarAnalyzer.look(int k,
GrammarAtom atom) |
Lookahead |
LLkAnalyzer.look(int k,
GrammarAtom atom) |
Lookahead |
LLkGrammarAnalyzer.look(int k,
OneOrMoreBlock blk) |
Lookahead |
LLkAnalyzer.look(int k,
OneOrMoreBlock blk)
The lookahead of a (...)+ block is the combined lookahead of
all alternatives and, if an empty path is found, the lookahead
of what follows the block.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
RuleBlock blk) |
Lookahead |
LLkAnalyzer.look(int k,
RuleBlock blk)
Combine the lookahead computed for each alternative.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
RuleEndElement end) |
Lookahead |
LLkAnalyzer.look(int k,
RuleEndElement end)
If not locked or noFOLLOW set, compute FOLLOW of a rule.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
RuleRefElement rr) |
Lookahead |
LLkAnalyzer.look(int k,
RuleRefElement rr)
Compute the lookahead contributed by a rule reference.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
String rule) |
Lookahead |
LLkAnalyzer.look(int k,
String rule)
Compute the combined lookahead for all productions of a rule.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
StringLiteralElement atom) |
Lookahead |
LLkAnalyzer.look(int k,
StringLiteralElement atom) |
Lookahead |
LLkGrammarAnalyzer.look(int k,
SynPredBlock blk) |
Lookahead |
LLkAnalyzer.look(int k,
SynPredBlock blk)
The lookahead of a (...)=> block is the lookahead of
what follows the block.
|
Lookahead |
LLkGrammarAnalyzer.look(int k,
TokenRangeElement end) |
Lookahead |
LLkAnalyzer.look(int k,
TokenRangeElement r) |
Lookahead |
LLkGrammarAnalyzer.look(int k,
TreeElement end) |
Lookahead |
LLkAnalyzer.look(int k,
TreeElement t) |
Lookahead |
LLkGrammarAnalyzer.look(int k,
WildcardElement wc) |
Lookahead |
LLkAnalyzer.look(int k,
WildcardElement wc) |
Lookahead |
LLkGrammarAnalyzer.look(int k,
ZeroOrMoreBlock blk) |
Lookahead |
LLkAnalyzer.look(int k,
ZeroOrMoreBlock blk)
The (...)* element is the combined lookahead of the alternatives and what can
follow the loop.
|
static Lookahead |
Lookahead.of(int el) |
Modifier and Type | Method and Description |
---|---|
void |
Lookahead.combineWith(Lookahead q) |
protected String |
CSharpCodeGenerator.getLookaheadTestExpression(Lookahead[] look,
int k) |
protected String |
JavaCodeGenerator.getLookaheadTestExpression(Lookahead[] look,
int k) |
protected String |
CppCodeGenerator.getLookaheadTestExpression(Lookahead[] look,
int k) |
protected String |
PythonCodeGenerator.getLookaheadTestExpression(Lookahead[] look,
int k) |
Lookahead |
Lookahead.intersection(Lookahead q)
What is the intersection of two lookahead depths?
Only the Epsilon "bit" and bitset are considered.
|
static boolean |
LLkAnalyzer.lookaheadEquivForApproxAndFullAnalysis(Lookahead[] bset,
int k)
If the first k-1 sets are singleton sets, the appoximate
lookahead analysis is equivalent to full lookahead analysis.
|
void |
DocBookCodeGenerator.printSet(int depth,
int k,
Lookahead lookahead)
Format a lookahead or follow set.
|
void |
DiagnosticCodeGenerator.printSet(int depth,
int k,
Lookahead lookahead)
Format a lookahead or follow set.
|
void |
HTMLCodeGenerator.printSet(int depth,
int k,
Lookahead lookahead)
Format a lookahead or follow set.
|
void |
ToolErrorHandler.warnAltAmbiguity(Grammar grammar,
AlternativeBlock blk,
boolean lexicalAnalysis,
int depth,
Lookahead[] sets,
int altIdx1,
int altIdx2)
Issue a warning about ambiguity between a alternates
|
void |
DefaultToolErrorHandler.warnAltAmbiguity(Grammar grammar,
AlternativeBlock blk,
boolean lexicalAnalysis,
int depth,
Lookahead[] sets,
int altIdx1,
int altIdx2)
Issue a warning about ambiguity between a alternates
|
void |
ToolErrorHandler.warnAltExitAmbiguity(Grammar grammar,
BlockWithImpliedExitPath blk,
boolean lexicalAnalysis,
int depth,
Lookahead[] sets,
int altIdx)
Issue a warning about ambiguity between an alternate and exit path.
|
void |
DefaultToolErrorHandler.warnAltExitAmbiguity(Grammar grammar,
BlockWithImpliedExitPath blk,
boolean lexicalAnalysis,
int depth,
Lookahead[] sets,
int altIdx)
Issue a warning about ambiguity between an alternate and exit path.
|