public class SymbolCollector extends GrammarTreeVisitor
GrammarTreeVisitor.action_return, GrammarTreeVisitor.actionElement_return, GrammarTreeVisitor.alternative_return, GrammarTreeVisitor.astOperand_return, GrammarTreeVisitor.atom_return, GrammarTreeVisitor.block_return, GrammarTreeVisitor.blockSet_return, GrammarTreeVisitor.blockSuffix_return, GrammarTreeVisitor.channelSpec_return, GrammarTreeVisitor.channelsSpec_return, GrammarTreeVisitor.delegateGrammar_return, GrammarTreeVisitor.delegateGrammars_return, GrammarTreeVisitor.DFA38, GrammarTreeVisitor.ebnfSuffix_return, GrammarTreeVisitor.element_return, GrammarTreeVisitor.elementOption_return, GrammarTreeVisitor.elementOptions_return, GrammarTreeVisitor.exceptionGroup_return, GrammarTreeVisitor.exceptionHandler_return, GrammarTreeVisitor.finallyClause_return, GrammarTreeVisitor.grammarSpec_return, GrammarTreeVisitor.labeledElement_return, GrammarTreeVisitor.labeledLexerElement_return, GrammarTreeVisitor.lexerAlternative_return, GrammarTreeVisitor.lexerAtom_return, GrammarTreeVisitor.lexerBlock_return, GrammarTreeVisitor.lexerCommand_return, GrammarTreeVisitor.lexerCommandExpr_return, GrammarTreeVisitor.lexerElement_return, GrammarTreeVisitor.lexerElements_return, GrammarTreeVisitor.lexerOuterAlternative_return, GrammarTreeVisitor.lexerRule_return, GrammarTreeVisitor.lexerRuleBlock_return, GrammarTreeVisitor.lexerSubrule_return, GrammarTreeVisitor.locals_return, GrammarTreeVisitor.mode_return, GrammarTreeVisitor.option_return, GrammarTreeVisitor.optionsSpec_return, GrammarTreeVisitor.optionValue_return, GrammarTreeVisitor.outerAlternative_return, GrammarTreeVisitor.prequelConstruct_return, GrammarTreeVisitor.prequelConstructs_return, GrammarTreeVisitor.range_return, GrammarTreeVisitor.rule_return, GrammarTreeVisitor.ruleAction_return, GrammarTreeVisitor.ruleBlock_return, GrammarTreeVisitor.ruleModifier_return, GrammarTreeVisitor.ruleref_return, GrammarTreeVisitor.ruleReturns_return, GrammarTreeVisitor.rules_return, GrammarTreeVisitor.setElement_return, GrammarTreeVisitor.subrule_return, GrammarTreeVisitor.terminal_return, GrammarTreeVisitor.throwsSpec_return, GrammarTreeVisitor.tokenSpec_return, GrammarTreeVisitor.tokensSpec_return
Modifier and Type | Field and Description |
---|---|
List<GrammarAST> |
channelDefs |
Rule |
currentRule |
ErrorManager |
errMgr |
Grammar |
g
which grammar are we checking
|
List<GrammarAST> |
qualifiedRulerefs |
List<GrammarAST> |
rulerefs |
Set<String> |
strings |
List<GrammarAST> |
terminals |
List<GrammarAST> |
tokenIDRefs |
List<GrammarAST> |
tokensDefs |
ACTION, ACTION_CHAR_LITERAL, ACTION_ESC, ACTION_STRING_LITERAL, ALT, ALTLIST, ARG, ARG_ACTION, ARG_OR_CHARSET, ARGLIST, ASSIGN, AT, BLOCK, CATCH, CHANNELS, CHAR_RANGE, CLOSURE, COLON, COLONCOLON, COMBINED, COMMA, COMMENT, currentModeName, currentOuterAltNumber, currentOuterAltRoot, currentRuleAST, currentRuleName, dfa38, DOC_COMMENT, DOLLAR, DOT, ELEMENT_OPTIONS, EOF, EPSILON, ERRCHAR, ESC_SEQ, FINALLY, FOLLOW_ACTION_in_action596, FOLLOW_ACTION_in_actionElement1716, FOLLOW_ACTION_in_actionElement1724, FOLLOW_ACTION_in_block2467, FOLLOW_ACTION_in_element1905, FOLLOW_ACTION_in_element1934, FOLLOW_ACTION_in_elementOption2770, FOLLOW_ACTION_in_exceptionHandler990, FOLLOW_ACTION_in_finallyClause1017, FOLLOW_ACTION_in_lexerElement1465, FOLLOW_ACTION_in_lexerElement1494, FOLLOW_action_in_prequelConstruct234, FOLLOW_ACTION_in_ruleAction1131, FOLLOW_ALT_in_alternative1767, FOLLOW_ALT_in_alternative1780, FOLLOW_ALT_in_lexerElements1420, FOLLOW_alternative_in_block2470, FOLLOW_alternative_in_outerAlternative1354, FOLLOW_ARG_ACTION_in_exceptionHandler988, FOLLOW_ARG_ACTION_in_locals1047, FOLLOW_ARG_ACTION_in_rule809, FOLLOW_ARG_ACTION_in_ruleref2504, FOLLOW_ARG_ACTION_in_ruleReturns1072, FOLLOW_ASSIGN_in_delegateGrammar420, FOLLOW_ASSIGN_in_elementOption2720, FOLLOW_ASSIGN_in_elementOption2744, FOLLOW_ASSIGN_in_elementOption2764, FOLLOW_ASSIGN_in_elementOption2786, FOLLOW_ASSIGN_in_option295, FOLLOW_AT_in_action585, FOLLOW_AT_in_ruleAction1127, FOLLOW_atom_in_astOperand1996, FOLLOW_atom_in_element1893, FOLLOW_block_in_astOperand2013, FOLLOW_BLOCK_in_block2459, FOLLOW_block_in_element1974, FOLLOW_block_in_labeledLexerElement1555, FOLLOW_BLOCK_in_lexerBlock1580, FOLLOW_BLOCK_in_lexerRuleBlock1209, FOLLOW_BLOCK_in_ruleBlock1273, FOLLOW_block_in_subrule2071, FOLLOW_block_in_subrule2078, FOLLOW_blockSet_in_astOperand2004, FOLLOW_blockSet_in_atom2262, FOLLOW_blockSet_in_element1965, FOLLOW_blockSet_in_lexerAtom1629, FOLLOW_blockSet_in_lexerAtom1640, FOLLOW_blockSuffix_in_lexerSubrule2103, FOLLOW_blockSuffix_in_subrule2069, FOLLOW_CATCH_in_exceptionHandler986, FOLLOW_CHANNELS_in_channelsSpec532, FOLLOW_channelSpec_in_channelsSpec534, FOLLOW_channelsSpec_in_prequelConstruct224, FOLLOW_delegateGrammar_in_delegateGrammars391, FOLLOW_delegateGrammars_in_prequelConstruct204, FOLLOW_DOT_in_atom2200, FOLLOW_DOT_in_atom2211, FOLLOW_ebnfSuffix_in_blockSuffix2139, FOLLOW_element_in_alternative1772, FOLLOW_element_in_labeledElement2044, FOLLOW_ELEMENT_OPTIONS_in_elementOptions2667, FOLLOW_elementOption_in_elementOptions2669, FOLLOW_elementOptions_in_actionElement1726, FOLLOW_elementOptions_in_actionElement1744, FOLLOW_elementOptions_in_alternative1769, FOLLOW_elementOptions_in_alternative1782, FOLLOW_elementOptions_in_atom2227, FOLLOW_elementOptions_in_element1936, FOLLOW_elementOptions_in_element1949, FOLLOW_elementOptions_in_lexerAtom1653, FOLLOW_elementOptions_in_lexerElement1496, FOLLOW_elementOptions_in_lexerElement1509, FOLLOW_elementOptions_in_ruleref2507, FOLLOW_elementOptions_in_setElement2325, FOLLOW_elementOptions_in_setElement2339, FOLLOW_elementOptions_in_terminal2580, FOLLOW_elementOptions_in_terminal2619, FOLLOW_EPSILON_in_alternative1785, FOLLOW_EPSILON_in_lexerElement1517, FOLLOW_exceptionGroup_in_rule910, FOLLOW_exceptionHandler_in_exceptionGroup957, FOLLOW_FINALLY_in_finallyClause1015, FOLLOW_finallyClause_in_exceptionGroup960, FOLLOW_FRAGMENT_in_lexerRule712, FOLLOW_GRAMMAR_in_grammarSpec85, FOLLOW_ID_in_action589, FOLLOW_ID_in_action594, FOLLOW_ID_in_atom2202, FOLLOW_ID_in_atom2213, FOLLOW_ID_in_channelSpec557, FOLLOW_ID_in_delegateGrammar424, FOLLOW_ID_in_delegateGrammar428, FOLLOW_ID_in_delegateGrammar443, FOLLOW_ID_in_elementOption2700, FOLLOW_ID_in_elementOption2724, FOLLOW_ID_in_elementOption2728, FOLLOW_ID_in_elementOption2746, FOLLOW_ID_in_elementOption2766, FOLLOW_ID_in_elementOption2788, FOLLOW_ID_in_grammarSpec87, FOLLOW_ID_in_labeledElement2042, FOLLOW_ID_in_labeledLexerElement1550, FOLLOW_ID_in_lexerCommand1813, FOLLOW_ID_in_lexerCommand1831, FOLLOW_ID_in_mode664, FOLLOW_ID_in_option297, FOLLOW_ID_in_ruleAction1129, FOLLOW_ID_in_throwsSpec1100, FOLLOW_ID_in_tokenSpec502, FOLLOW_IMPORT_in_delegateGrammars389, FOLLOW_INT_in_elementOption2792, FOLLOW_labeledElement_in_element1888, FOLLOW_labeledLexerElement_in_lexerElement1448, FOLLOW_LEXER_ACTION_CALL_in_lexerCommand1811, FOLLOW_LEXER_ALT_ACTION_in_lexerAlternative1376, FOLLOW_LEXER_CHAR_SET_in_lexerAtom1672, FOLLOW_LEXER_CHAR_SET_in_setElement2434, FOLLOW_lexerAlternative_in_lexerBlock1585, FOLLOW_lexerAlternative_in_lexerOuterAlternative1332, FOLLOW_lexerAtom_in_labeledLexerElement1553, FOLLOW_lexerAtom_in_lexerElement1453, FOLLOW_lexerBlock_in_lexerSubrule2105, FOLLOW_lexerBlock_in_lexerSubrule2112, FOLLOW_lexerCommand_in_lexerAlternative1380, FOLLOW_lexerCommandExpr_in_lexerCommand1815, FOLLOW_lexerElement_in_lexerElements1422, FOLLOW_lexerElements_in_lexerAlternative1378, FOLLOW_lexerElements_in_lexerAlternative1392, FOLLOW_lexerOuterAlternative_in_lexerRuleBlock1228, FOLLOW_lexerRule_in_mode668, FOLLOW_lexerRule_in_rules631, FOLLOW_lexerRuleBlock_in_lexerRule737, FOLLOW_lexerSubrule_in_lexerElement1458, FOLLOW_LOCALS_in_locals1045, FOLLOW_locals_in_rule848, FOLLOW_mode_in_grammarSpec125, FOLLOW_MODE_in_mode662, FOLLOW_NOT_in_astOperand2002, FOLLOW_NOT_in_astOperand2011, FOLLOW_NOT_in_element1963, FOLLOW_NOT_in_element1972, FOLLOW_NOT_in_lexerAtom1627, FOLLOW_option_in_optionsSpec261, FOLLOW_OPTIONS_in_optionsSpec259, FOLLOW_optionsSpec_in_block2461, FOLLOW_optionsSpec_in_lexerBlock1582, FOLLOW_optionsSpec_in_prequelConstruct194, FOLLOW_optionsSpec_in_rule863, FOLLOW_optionValue_in_option301, FOLLOW_outerAlternative_in_ruleBlock1292, FOLLOW_prequelConstruct_in_prequelConstructs167, FOLLOW_prequelConstructs_in_grammarSpec106, FOLLOW_range_in_element1957, FOLLOW_range_in_lexerAtom1682, FOLLOW_RANGE_in_range2544, FOLLOW_RANGE_in_setElement2403, FOLLOW_RETURNS_in_ruleReturns1070, FOLLOW_RULE_in_lexerRule694, FOLLOW_RULE_in_rule782, FOLLOW_rule_in_rules629, FOLLOW_RULE_REF_in_rule784, FOLLOW_RULE_REF_in_ruleref2500, FOLLOW_ruleAction_in_block2464, FOLLOW_ruleAction_in_rule877, FOLLOW_ruleBlock_in_rule908, FOLLOW_ruleModifier_in_rule798, FOLLOW_RULEMODIFIERS_in_lexerRule708, FOLLOW_RULEMODIFIERS_in_rule793, FOLLOW_ruleref_in_atom2215, FOLLOW_ruleref_in_atom2272, FOLLOW_ruleref_in_lexerAtom1692, FOLLOW_ruleReturns_in_rule822, FOLLOW_rules_in_grammarSpec123, FOLLOW_RULES_in_rules624, FOLLOW_SEMPRED_in_actionElement1734, FOLLOW_SEMPRED_in_actionElement1742, FOLLOW_SEMPRED_in_element1919, FOLLOW_SEMPRED_in_element1947, FOLLOW_SEMPRED_in_lexerElement1479, FOLLOW_SEMPRED_in_lexerElement1507, FOLLOW_SET_in_blockSet2297, FOLLOW_set_in_labeledElement2036, FOLLOW_set_in_labeledLexerElement1544, FOLLOW_setElement_in_blockSet2299, FOLLOW_STRING_LITERAL_in_elementOption2750, FOLLOW_STRING_LITERAL_in_range2546, FOLLOW_STRING_LITERAL_in_range2548, FOLLOW_STRING_LITERAL_in_setElement2323, FOLLOW_STRING_LITERAL_in_setElement2349, FOLLOW_STRING_LITERAL_in_setElement2407, FOLLOW_STRING_LITERAL_in_setElement2411, FOLLOW_STRING_LITERAL_in_terminal2578, FOLLOW_STRING_LITERAL_in_terminal2603, FOLLOW_subrule_in_element1898, FOLLOW_terminal_in_atom2204, FOLLOW_terminal_in_atom2254, FOLLOW_terminal_in_lexerAtom1616, FOLLOW_THROWS_in_throwsSpec1098, FOLLOW_throwsSpec_in_rule835, FOLLOW_TOKEN_REF_in_lexerRule696, FOLLOW_TOKEN_REF_in_setElement2337, FOLLOW_TOKEN_REF_in_setElement2374, FOLLOW_TOKEN_REF_in_terminal2617, FOLLOW_TOKEN_REF_in_terminal2630, FOLLOW_TOKENS_SPEC_in_tokensSpec477, FOLLOW_tokenSpec_in_tokensSpec479, FOLLOW_tokensSpec_in_prequelConstruct214, FOLLOW_WILDCARD_in_atom2225, FOLLOW_WILDCARD_in_atom2238, FOLLOW_WILDCARD_in_lexerAtom1651, FOLLOW_WILDCARD_in_lexerAtom1664, FRAGMENT, GRAMMAR, grammarName, GT, HEX_DIGIT, ID, IMPORT, INITACTION, INT, LABEL, LEXER, LEXER_ACTION_CALL, LEXER_ALT_ACTION, LEXER_CHAR_SET, LIST, LOCALS, LPAREN, LT, MODE, NameChar, NameStartChar, NESTED_ACTION, NLCHARS, NOT, OPTIONAL, OPTIONS, OR, PARSER, PLUS, PLUS_ASSIGN, POSITIVE_CLOSURE, POUND, PREC_RULE, PRIVATE, PROTECTED, PUBLIC, QUESTION, RANGE, RARROW, RBRACE, RESULT, RET, RETURNS, rewriteEBNFLevel, RPAREN, RULE, RULE_REF, RULEACTIONS, RULEMODIFIERS, RULES, SEMI, SEMPRED, SET, SRC, STAR, STRING_LITERAL, SYNPRED, TEMPLATE, THROWS, TOKEN_REF, tokenNames, TOKENS_SPEC, TREE_GRAMMAR, UNICODE_ESC, UNICODE_EXTENDED_ESC, UnicodeBOM, WILDCARD, WS, WSCHARS, WSNLCHARS
Constructor and Description |
---|
SymbolCollector(Grammar g) |
action, actionElement, alternative, astOperand, atom, block, blockSet, blockSuffix, channelSpec, channelsSpec, delegateGrammar, delegateGrammars, discoverAlt, discoverGrammar, discoverRules, ebnfSuffix, element, elementOption, elementOptions, enterAction, enterActionElement, enterAlternative, enterAstOperand, enterAtom, enterBlock, enterBlockSet, enterBlockSuffix, enterChannelSpec, enterChannelsSpec, enterDelegateGrammar, enterDelegateGrammars, enterEbnfSuffix, enterElement, enterElementOption, enterElementOptions, enterExceptionGroup, enterExceptionHandler, enterFinallyClause, enterGrammarSpec, enterLabeledElement, enterLabeledLexerElement, enterLexerAlternative, enterLexerAtom, enterLexerBlock, enterLexerCommand, enterLexerCommandExpr, enterLexerElement, enterLexerElements, enterLexerOuterAlternative, enterLexerRule, enterLexerRuleBlock, enterLexerSubrule, enterLocals, enterMode, enterOption, enterOptionsSpec, enterOptionValue, enterOuterAlternative, enterPrequelConstruct, enterPrequelConstructs, enterRange, enterRule, enterRuleAction, enterRuleBlock, enterRuleModifier, enterRuleref, enterRuleReturns, enterRules, enterSetElement, enterSubrule, enterTerminal, enterThrowsSpec, enterTokenSpec, enterTokensSpec, exceptionGroup, exceptionHandler, exitAction, exitActionElement, exitAlternative, exitAstOperand, exitAtom, exitBlock, exitBlockSet, exitBlockSuffix, exitChannelSpec, exitChannelsSpec, exitDelegateGrammar, exitDelegateGrammars, exitEbnfSuffix, exitElement, exitElementOption, exitElementOptions, exitExceptionGroup, exitExceptionHandler, exitFinallyClause, exitGrammarSpec, exitLabeledElement, exitLabeledLexerElement, exitLexerAlternative, exitLexerAtom, exitLexerBlock, exitLexerCommand, exitLexerCommandExpr, exitLexerElement, exitLexerElements, exitLexerOuterAlternative, exitLexerRule, exitLexerRuleBlock, exitLexerSubrule, exitLocals, exitMode, exitOption, exitOptionsSpec, exitOptionValue, exitOuterAlternative, exitPrequelConstruct, exitPrequelConstructs, exitRange, exitRule, exitRuleAction, exitRuleBlock, exitRuleModifier, exitRuleref, exitRuleReturns, exitRules, exitSetElement, exitSubrule, exitTerminal, exitThrowsSpec, exitTokenSpec, exitTokensSpec, finallyClause, finishAlt, finishGrammar, finishLexerRule, finishOuterAlt, finishPrequels, finishRule, finishRules, getDelegates, getGrammarFileName, getTokenNames, grammarSpec, importGrammar, labeledElement, labeledLexerElement, lexerAlternative, lexerAtom, lexerBlock, lexerCallCommand, lexerCommand, lexerCommand, lexerCommandExpr, lexerElement, lexerElements, lexerOuterAlternative, lexerRule, lexerRuleBlock, lexerSubrule, locals, mode, modeDef, option, optionsSpec, optionValue, outerAlternative, prequelConstruct, prequelConstructs, range, rule, ruleAction, ruleBlock, ruleModifier, ruleref, ruleReturns, rules, setElement, subrule, terminal, throwsSpec, tokenSpec, tokensSpec, traceIn, traceOut, visit, visitGrammar, wildcardRef
getAncestor, getCurrentInputSymbol, getErrorHeader, getErrorMessage, getMissingSymbol, getSourceName, getTreeNodeStream, inContext, inContext, matchAny, recoverFromMismatchedToken, reset, setTreeNodeStream
alreadyParsedRule, beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, emitErrorMessage, endResync, failed, getBacktrackingLevel, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, match, memoize, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, reportError, setBacktrackingLevel, toStrings, traceIn, traceOut
public Grammar g
public List<GrammarAST> rulerefs
public List<GrammarAST> qualifiedRulerefs
public List<GrammarAST> terminals
public List<GrammarAST> tokenIDRefs
public List<GrammarAST> tokensDefs
public List<GrammarAST> channelDefs
public ErrorManager errMgr
public Rule currentRule
public SymbolCollector(Grammar g)
public ErrorManager getErrorManager()
getErrorManager
in class GrammarTreeVisitor
public void process(GrammarAST ast)
public void globalNamedAction(GrammarAST scope, GrammarAST ID, ActionAST action)
globalNamedAction
in class GrammarTreeVisitor
public void defineToken(GrammarAST ID)
defineToken
in class GrammarTreeVisitor
public void defineChannel(GrammarAST ID)
defineChannel
in class GrammarTreeVisitor
public void discoverRule(RuleAST rule, GrammarAST ID, List<GrammarAST> modifiers, ActionAST arg, ActionAST returns, GrammarAST thrws, GrammarAST options, ActionAST locals, List<GrammarAST> actions, GrammarAST block)
discoverRule
in class GrammarTreeVisitor
public void discoverLexerRule(RuleAST rule, GrammarAST ID, List<GrammarAST> modifiers, GrammarAST block)
discoverLexerRule
in class GrammarTreeVisitor
public void discoverOuterAlt(AltAST alt)
discoverOuterAlt
in class GrammarTreeVisitor
public void actionInAlt(ActionAST action)
actionInAlt
in class GrammarTreeVisitor
public void sempredInAlt(PredAST pred)
sempredInAlt
in class GrammarTreeVisitor
public void ruleCatch(GrammarAST arg, ActionAST action)
ruleCatch
in class GrammarTreeVisitor
public void finallyAction(ActionAST action)
finallyAction
in class GrammarTreeVisitor
public void label(GrammarAST op, GrammarAST ID, GrammarAST element)
label
in class GrammarTreeVisitor
public void stringRef(TerminalAST ref)
stringRef
in class GrammarTreeVisitor
public void tokenRef(TerminalAST ref)
tokenRef
in class GrammarTreeVisitor
public void ruleRef(GrammarAST ref, ActionAST arg)
ruleRef
in class GrammarTreeVisitor
public void grammarOption(GrammarAST ID, GrammarAST valueAST)
grammarOption
in class GrammarTreeVisitor
public void ruleOption(GrammarAST ID, GrammarAST valueAST)
ruleOption
in class GrammarTreeVisitor
public void blockOption(GrammarAST ID, GrammarAST valueAST)
blockOption
in class GrammarTreeVisitor
public void elementOption(GrammarASTWithOptions t, GrammarAST ID, GrammarAST valueAST)
elementOption
in class GrammarTreeVisitor
Copyright © 1992–2020 ANTLR. All rights reserved.