public class LexerATNFactory extends ParserATNFactory
ATNFactory.Handle
Modifier and Type | Field and Description |
---|---|
protected Map<LexerAction,Integer> |
actionToIndexMap
Maps from a
LexerAction object to the action index. |
org.stringtemplate.v4.STGroup |
codegenTemplates |
static Map<String,Integer> |
COMMON_CONSTANTS
Provides a map of names of predefined constants which are likely to
appear as the argument for lexer commands.
|
protected Map<Integer,LexerAction> |
indexToActionMap
Maps from an action index to a
LexerAction object. |
atn, currentOuterAlt, currentRule, g, preventEpsilonClosureBlocks, preventEpsilonOptionalBlocks
Constructor and Description |
---|
LexerATNFactory(LexerGrammar g) |
_createATN, _ruleRef, addEOFTransitionToStartRules, addFollowLink, addRuleFollowLinks, alt, block, blockHasWildcardAlt, elemList, epsilon, epsilon, epsilon, expectNonGreedy, getTokenType, label, listLabel, makeBlock, newState, newState, newState, optional, plus, ruleRef, sempred, setCurrentOuterAlt, setCurrentRuleName, star, wildcard
public org.stringtemplate.v4.STGroup codegenTemplates
public static final Map<String,Integer> COMMON_CONSTANTS
LexerAction
instances that are usable by a lexer interpreter.protected Map<Integer,LexerAction> indexToActionMap
LexerAction
object.protected Map<LexerAction,Integer> actionToIndexMap
LexerAction
object to the action index.public LexerATNFactory(LexerGrammar g)
public ATN createATN()
createATN
in interface ATNFactory
createATN
in class ParserATNFactory
public ATNFactory.Handle rule(GrammarAST ruleAST, String name, ATNFactory.Handle blk)
rule
in interface ATNFactory
rule
in class ParserATNFactory
public ATNFactory.Handle action(ActionAST action)
ParserATNFactory
actionIndex
<0
.action
in interface ATNFactory
action
in class ParserATNFactory
protected int getLexerActionIndex(LexerAction lexerAction)
public ATNFactory.Handle action(String action)
action
in interface ATNFactory
action
in class ParserATNFactory
protected ATNFactory.Handle action(GrammarAST node, LexerAction lexerAction)
public ATNFactory.Handle lexerAltCommands(ATNFactory.Handle alt, ATNFactory.Handle cmds)
lexerAltCommands
in interface ATNFactory
lexerAltCommands
in class ParserATNFactory
public ATNFactory.Handle lexerCallCommand(GrammarAST ID, GrammarAST arg)
lexerCallCommand
in interface ATNFactory
lexerCallCommand
in class ParserATNFactory
public ATNFactory.Handle lexerCommand(GrammarAST ID)
lexerCommand
in interface ATNFactory
lexerCommand
in class ParserATNFactory
public ATNFactory.Handle range(GrammarAST a, GrammarAST b)
ParserATNFactory
range
in interface ATNFactory
range
in class ParserATNFactory
public ATNFactory.Handle set(GrammarAST associatedAST, List<GrammarAST> alts, boolean invert)
ParserATNFactory
o->o-set->o
. To conform to
what an alt block looks like, must have extra state on left.
This also handles ~A
, converted to ~{A}
set.set
in interface ATNFactory
set
in class ParserATNFactory
protected boolean checkRange(GrammarAST leftNode, GrammarAST rightNode, int leftValue, int rightValue)
public ATNFactory.Handle stringLiteral(TerminalAST stringLiteralAST)
stringLiteral
in interface ATNFactory
stringLiteral
in class ParserATNFactory
public ATNFactory.Handle charSetLiteral(GrammarAST charSetAST)
charSetLiteral
in interface ATNFactory
charSetLiteral
in class ParserATNFactory
public IntervalSet getSetFromCharSetLiteral(GrammarAST charSetAST)
protected void checkSetCollision(GrammarAST ast, IntervalSet set, int el)
protected void checkSetCollision(GrammarAST ast, IntervalSet set, int a, int b)
public ATNFactory.Handle tokenRef(TerminalAST node)
ParserATNFactory
A
build graph o-A->o
.tokenRef
in interface ATNFactory
tokenRef
in class ParserATNFactory
Copyright © 1992–2020 ANTLR. All rights reserved.