程序包 org.antlr.tool
类 LeftRecursiveRuleAnalyzer
- java.lang.Object
-
- org.antlr.runtime.BaseRecognizer
-
- org.antlr.runtime.tree.TreeParser
-
- org.antlr.grammar.v3.LeftRecursiveRuleWalker
-
- org.antlr.tool.LeftRecursiveRuleAnalyzer
-
public class LeftRecursiveRuleAnalyzer extends LeftRecursiveRuleWalker
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static classLeftRecursiveRuleAnalyzer.ASSOC-
从类继承的嵌套类/接口 org.antlr.grammar.v3.LeftRecursiveRuleWalker
LeftRecursiveRuleWalker.outerAlternative_return, LeftRecursiveRuleWalker.ruleBlock_return
-
-
字段概要
字段 修饰符和类型 字段 说明 java.util.Map<java.lang.Integer,LeftRecursiveRuleAnalyzer.ASSOC>altAssociativityjava.util.LinkedHashMap<java.lang.Integer,java.lang.String>binaryAltsGrammargCodeGeneratorgeneratorjava.lang.Stringlanguagejava.util.List<java.lang.String>otherAltsjava.util.List<java.lang.String>prefixAltsorg.stringtemplate.v4.STGrouprecRuleTemplatesGrammarASTretvalsjava.lang.StringruleNamejava.util.LinkedHashMap<java.lang.Integer,java.lang.String>suffixAltsjava.util.LinkedHashMap<java.lang.Integer,java.lang.String>ternaryAlts-
从类继承的字段 org.antlr.grammar.v3.LeftRecursiveRuleWalker
ACTION, ACTION_CHAR_LITERAL, ACTION_ESC, ACTION_STRING_LITERAL, ALT, AMPERSAND, ARG, ARG_ACTION, ARGLIST, ASSIGN, BACKTRACK_SEMPRED, BANG, BLOCK, CATCH, CHAR_LITERAL, CHAR_RANGE, CLOSE_ELEMENT_OPTION, CLOSURE, COLON, COMBINED_GRAMMAR, COMMA, COMMENT, DIGIT, DOC_COMMENT, DOLLAR, DOT, DOUBLE_ANGLE_STRING_LITERAL, DOUBLE_QUOTE_STRING_LITERAL, EOA, EOB, EOF, EOR, EPSILON, ESC, ETC, FINALLY, FOLLOW_ACTION_in_element1365, FOLLOW_ACTION_in_exceptionHandler1200, FOLLOW_ACTION_in_finallyClause1215, FOLLOW_ACTION_in_rewrite1254, FOLLOW_ACTION_in_ruleScopeSpec288, FOLLOW_ALT_in_binary814, FOLLOW_ALT_in_binaryMultipleOp851, FOLLOW_ALT_in_binaryMultipleOp873, FOLLOW_ALT_in_block413, FOLLOW_ALT_in_outerAlternative760, FOLLOW_ALT_in_prefix949, FOLLOW_ALT_in_rewrite1241, FOLLOW_ALT_in_suffix985, FOLLOW_ALT_in_ternary909, FOLLOW_AMPERSAND_in_rec_rule215, FOLLOW_ARG_ACTION_in_atom1487, FOLLOW_ARG_ACTION_in_atom1497, FOLLOW_ARG_ACTION_in_exceptionHandler1198, FOLLOW_ARG_ACTION_in_rec_rule184, FOLLOW_ARG_ACTION_in_rec_rule194, FOLLOW_ARG_in_rec_rule182, FOLLOW_ASSIGN_in_element1319, FOLLOW_ASSIGN_in_option73, FOLLOW_ASSIGN_in_recurse1018, FOLLOW_ASSIGN_in_token1068, FOLLOW_atom_in_atom1524, FOLLOW_atom_in_element1293, FOLLOW_atom_in_element1310, FOLLOW_atom_in_element1312, FOLLOW_BACKTRACK_SEMPRED_in_binary818, FOLLOW_BACKTRACK_SEMPRED_in_binaryMultipleOp855, FOLLOW_BACKTRACK_SEMPRED_in_element1380, FOLLOW_BACKTRACK_SEMPRED_in_prefix953, FOLLOW_BACKTRACK_SEMPRED_in_suffix989, FOLLOW_BACKTRACK_SEMPRED_in_ternary913, FOLLOW_BANG_in_element1285, FOLLOW_BANG_in_token1111, FOLLOW_binary_in_outerAlternative544, FOLLOW_binary_in_synpred2_LeftRecursiveRuleWalker530, FOLLOW_binaryMultipleOp_in_outerAlternative488, FOLLOW_binaryMultipleOp_in_synpred1_LeftRecursiveRuleWalker484, FOLLOW_BLOCK_in_binaryMultipleOp867, FOLLOW_BLOCK_in_block381, FOLLOW_block_in_ebnf1402, FOLLOW_block_in_ebnf1416, FOLLOW_block_in_ebnf1433, FOLLOW_block_in_ebnf1451, FOLLOW_block_in_element1353, FOLLOW_BLOCK_in_ruleBlock315, FOLLOW_CATCH_in_exceptionHandler1196, FOLLOW_CHAR_LITERAL_in_atom1504, FOLLOW_CHAR_LITERAL_in_charSetElement115, FOLLOW_CHAR_LITERAL_in_charSetElement123, FOLLOW_CHAR_LITERAL_in_charSetElement125, FOLLOW_CHAR_LITERAL_in_charSetElement134, FOLLOW_CHAR_LITERAL_in_charSetElement136, FOLLOW_CHAR_LITERAL_in_token1125, FOLLOW_CLOSURE_in_ebnf1431, FOLLOW_DOT_in_atom1520, FOLLOW_ebnf_in_element1340, FOLLOW_element_in_block415, FOLLOW_element_in_element1278, FOLLOW_element_in_element1287, FOLLOW_element_in_element1301, FOLLOW_element_in_element1323, FOLLOW_element_in_element1334, FOLLOW_element_in_outerAlternative762, FOLLOW_element_in_prefix966, FOLLOW_element_in_suffix1001, FOLLOW_element_in_tree_1471, FOLLOW_EOA_in_binary834, FOLLOW_EOA_in_binaryMultipleOp879, FOLLOW_EOA_in_binaryMultipleOp894, FOLLOW_EOA_in_block418, FOLLOW_EOA_in_outerAlternative765, FOLLOW_EOA_in_prefix972, FOLLOW_EOA_in_suffix1005, FOLLOW_EOA_in_ternary933, FOLLOW_EOB_in_binaryMultipleOp888, FOLLOW_EOB_in_block439, FOLLOW_EOB_in_ruleBlock358, FOLLOW_EOR_in_rec_rule239, FOLLOW_EPSILON_in_element1390, FOLLOW_ETC_in_rewrite1256, FOLLOW_exceptionGroup_in_rec_rule233, FOLLOW_exceptionHandler_in_exceptionGroup1172, FOLLOW_FINALLY_in_finallyClause1213, FOLLOW_finallyClause_in_exceptionGroup1175, FOLLOW_finallyClause_in_exceptionGroup1181, FOLLOW_FORCED_ACTION_in_element1360, FOLLOW_GATED_SEMPRED_in_element1385, FOLLOW_ID_in_atom1522, FOLLOW_ID_in_element1321, FOLLOW_ID_in_element1332, FOLLOW_ID_in_option75, FOLLOW_ID_in_rec_rule168, FOLLOW_ID_in_recurse1020, FOLLOW_ID_in_recurse1031, FOLLOW_ID_in_ruleScopeSpec291, FOLLOW_ID_in_token1070, FOLLOW_ID_in_token1085, FOLLOW_modifier_in_rec_rule175, FOLLOW_NOT_in_element1299, FOLLOW_option_in_optionsSpec59, FOLLOW_OPTIONAL_in_ebnf1414, FOLLOW_OPTIONS_in_optionsSpec57, FOLLOW_optionsSpec_in_block395, FOLLOW_optionsSpec_in_rec_rule201, FOLLOW_optionsSpec_in_ruleBlock320, FOLLOW_optionValue_in_option77, FOLLOW_OR_in_charSetElement121, FOLLOW_outerAlternative_in_ruleBlock328, FOLLOW_PLUS_ASSIGN_in_element1330, FOLLOW_PLUS_ASSIGN_in_recurse1029, FOLLOW_PLUS_ASSIGN_in_token1083, FOLLOW_POSITIVE_CLOSURE_in_ebnf1449, FOLLOW_prefix_in_outerAlternative662, FOLLOW_prefix_in_synpred4_LeftRecursiveRuleWalker648, FOLLOW_RANGE_in_charSetElement132, FOLLOW_RANGE_in_element1308, FOLLOW_recurse_in_binary832, FOLLOW_recurse_in_binaryMultipleOp892, FOLLOW_recurse_in_prefix970, FOLLOW_recurse_in_ternary927, FOLLOW_recurse_in_ternary931, FOLLOW_recurseNoLabel_in_binary826, FOLLOW_recurseNoLabel_in_binaryMultipleOp863, FOLLOW_recurseNoLabel_in_recurse1022, FOLLOW_recurseNoLabel_in_recurse1033, FOLLOW_recurseNoLabel_in_recurse1039, FOLLOW_recurseNoLabel_in_suffix997, FOLLOW_recurseNoLabel_in_ternary921, FOLLOW_RET_in_rec_rule192, FOLLOW_rewrite_in_block421, FOLLOW_REWRITE_in_rewrite1234, FOLLOW_rewrite_in_ruleBlock340, FOLLOW_REWRITES_in_rewrite1228, FOLLOW_ROOT_in_element1276, FOLLOW_ROOT_in_token1098, FOLLOW_RULE_in_rec_rule164, FOLLOW_RULE_REF_in_atom1485, FOLLOW_RULE_REF_in_recurseNoLabel1051, FOLLOW_ruleBlock_in_rec_rule226, FOLLOW_ruleScopeSpec_in_rec_rule207, FOLLOW_SCOPE_in_ruleScopeSpec286, FOLLOW_SEMPRED_in_element1370, FOLLOW_SEMPRED_in_rewrite1236, FOLLOW_STRING_LITERAL_in_atom1509, FOLLOW_STRING_LITERAL_in_token1139, FOLLOW_suffix_in_outerAlternative718, FOLLOW_suffix_in_synpred5_LeftRecursiveRuleWalker704, FOLLOW_SYN_SEMPRED_in_element1375, FOLLOW_SYNPRED_in_element1351, FOLLOW_TEMPLATE_in_rewrite1248, FOLLOW_ternary_in_outerAlternative606, FOLLOW_ternary_in_synpred3_LeftRecursiveRuleWalker593, FOLLOW_token_in_binary830, FOLLOW_token_in_binaryMultipleOp877, FOLLOW_token_in_ternary925, FOLLOW_token_in_ternary929, FOLLOW_token_in_token1074, FOLLOW_token_in_token1089, FOLLOW_token_in_token1102, FOLLOW_token_in_token1115, FOLLOW_TOKEN_REF_in_atom1495, FOLLOW_TOKEN_REF_in_token1151, FOLLOW_tree__in_element1345, FOLLOW_TREE_BEGIN_in_tree_1469, FOLLOW_WILDCARD_in_atom1514, FORCED_ACTION, FRAGMENT, GATED_SEMPRED, grammar, GRAMMAR, ID, IMPLIES, IMPORT, INITACTION, INT, LABEL, LEXER, LEXER_GRAMMAR, LPAREN, ML_COMMENT, NESTED_ACTION, NESTED_ARG_ACTION, NOT, numAlts, OPEN_ELEMENT_OPTION, OPTIONAL, OPTIONS, OR, PARSER, PARSER_GRAMMAR, PLUS, PLUS_ASSIGN, POSITIVE_CLOSURE, PREC_RULE, PRIVATE, PROTECTED, PUBLIC, QUESTION, RANGE, RCURLY, RECURSIVE_RULE_REF, RET, RETURNS, REWRITE, REWRITES, ROOT, RPAREN, RULE, RULE_REF, SCOPE, SEMI, SEMPRED, SL_COMMENT, SRC, STAR, STRAY_BRACKET, STRING_LITERAL, SYN_SEMPRED, SYNPRED, TEMPLATE, THROWS, TOKEN_REF, tokenNames, TOKENS, TREE, TREE_BEGIN, TREE_GRAMMAR, WILDCARD, WS, WS_LOOP, WS_OPT, XDIGIT
-
从类继承的字段 org.antlr.runtime.tree.TreeParser
DOWN, input, UP
-
从类继承的字段 org.antlr.runtime.BaseRecognizer
DEFAULT_TOKEN_CHANNEL, HIDDEN, INITIAL_FOLLOW_STACK_SIZE, MEMO_RULE_FAILED, MEMO_RULE_UNKNOWN, NEXT_TOKEN_RULE_NAME, state
-
-
构造器概要
构造器 构造器 说明 LeftRecursiveRuleAnalyzer(TreeNodeStream input, Grammar g, java.lang.String ruleName)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 voidbinaryAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)voidfillRetValAssignments(org.stringtemplate.v4.ST ruleST, java.lang.String srcName)java.lang.StringgetArtificialOpPrecRule()java.lang.StringgetArtificialPrecStartRule()java.lang.StringgetArtificialPrimaryRule()java.util.Collection<java.lang.String>getNamesFromArgAction(Token t)static booleanhasImmediateRecursiveRuleRefs(GrammarAST t, java.lang.String ruleName)voidloadPrecRuleTemplates()intnextPrecedence(int alt)voidotherAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)intprecedence(int alt)voidprefixAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)GrammarASTreplaceLastRuleRef(GrammarAST t, java.lang.String name)GrammarASTreplaceRuleRefs(GrammarAST t, java.lang.String name)voidsetReturnValues(GrammarAST t)voidsetTokenPrec(GrammarAST t, int alt)voidstripLeftRecursion(GrammarAST altAST)voidstripSynPred(GrammarAST altAST)voidsuffixAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)voidternaryAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)Convert e ? e : e → ? e : e_[nextPrec]java.lang.Stringtext(GrammarAST t)java.lang.StringtoString()-
从类继承的方法 org.antlr.grammar.v3.LeftRecursiveRuleWalker
ast_suffix, atom, binary, binaryMultipleOp, block, charSetElement, ebnf, element, exceptionGroup, exceptionHandler, finallyClause, getDelegates, getGrammarFileName, getTokenNames, modifier, option, optionsSpec, optionValue, outerAlternative, prefix, rec_rule, recurse, recurseNoLabel, reportError, rewrite, ruleBlock, ruleScopeSpec, suffix, synpred1_LeftRecursiveRuleWalker, synpred1_LeftRecursiveRuleWalker_fragment, synpred2_LeftRecursiveRuleWalker, synpred2_LeftRecursiveRuleWalker_fragment, synpred3_LeftRecursiveRuleWalker, synpred3_LeftRecursiveRuleWalker_fragment, synpred4_LeftRecursiveRuleWalker, synpred4_LeftRecursiveRuleWalker_fragment, synpred5_LeftRecursiveRuleWalker, synpred5_LeftRecursiveRuleWalker_fragment, ternary, token, tree_
-
从类继承的方法 org.antlr.runtime.tree.TreeParser
getAncestor, getCurrentInputSymbol, getErrorHeader, getErrorMessage, getMissingSymbol, getSourceName, getTreeNodeStream, inContext, inContext, matchAny, recoverFromMismatchedToken, reset, setTreeNodeStream, traceIn, traceOut
-
从类继承的方法 org.antlr.runtime.BaseRecognizer
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, setBacktrackingLevel, toStrings, traceIn, traceOut
-
-
-
-
字段详细资料
-
g
public Grammar g
-
generator
public CodeGenerator generator
-
ruleName
public java.lang.String ruleName
-
binaryAlts
public java.util.LinkedHashMap<java.lang.Integer,java.lang.String> binaryAlts
-
ternaryAlts
public java.util.LinkedHashMap<java.lang.Integer,java.lang.String> ternaryAlts
-
suffixAlts
public java.util.LinkedHashMap<java.lang.Integer,java.lang.String> suffixAlts
-
prefixAlts
public java.util.List<java.lang.String> prefixAlts
-
otherAlts
public java.util.List<java.lang.String> otherAlts
-
retvals
public GrammarAST retvals
-
recRuleTemplates
public org.stringtemplate.v4.STGroup recRuleTemplates
-
language
public java.lang.String language
-
altAssociativity
public java.util.Map<java.lang.Integer,LeftRecursiveRuleAnalyzer.ASSOC> altAssociativity
-
-
构造器详细资料
-
LeftRecursiveRuleAnalyzer
public LeftRecursiveRuleAnalyzer(TreeNodeStream input, Grammar g, java.lang.String ruleName)
-
-
方法详细资料
-
loadPrecRuleTemplates
public void loadPrecRuleTemplates()
-
setReturnValues
public void setReturnValues(GrammarAST t)
-
setTokenPrec
public void setTokenPrec(GrammarAST t, int alt)
- 覆盖:
setTokenPrec在类中LeftRecursiveRuleWalker
-
binaryAlt
public void binaryAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)
- 覆盖:
binaryAlt在类中LeftRecursiveRuleWalker
-
ternaryAlt
public void ternaryAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)
Convert e ? e : e → ? e : e_[nextPrec]- 覆盖:
ternaryAlt在类中LeftRecursiveRuleWalker
-
prefixAlt
public void prefixAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)
- 覆盖:
prefixAlt在类中LeftRecursiveRuleWalker
-
suffixAlt
public void suffixAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)
- 覆盖:
suffixAlt在类中LeftRecursiveRuleWalker
-
otherAlt
public void otherAlt(GrammarAST altTree, GrammarAST rewriteTree, int alt)
- 覆盖:
otherAlt在类中LeftRecursiveRuleWalker
-
getArtificialPrecStartRule
public java.lang.String getArtificialPrecStartRule()
-
getArtificialOpPrecRule
public java.lang.String getArtificialOpPrecRule()
-
getArtificialPrimaryRule
public java.lang.String getArtificialPrimaryRule()
-
replaceRuleRefs
public GrammarAST replaceRuleRefs(GrammarAST t, java.lang.String name)
-
hasImmediateRecursiveRuleRefs
public static boolean hasImmediateRecursiveRuleRefs(GrammarAST t, java.lang.String ruleName)
-
replaceLastRuleRef
public GrammarAST replaceLastRuleRef(GrammarAST t, java.lang.String name)
-
stripSynPred
public void stripSynPred(GrammarAST altAST)
-
stripLeftRecursion
public void stripLeftRecursion(GrammarAST altAST)
-
text
public java.lang.String text(GrammarAST t)
-
precedence
public int precedence(int alt)
-
nextPrecedence
public int nextPrecedence(int alt)
-
fillRetValAssignments
public void fillRetValAssignments(org.stringtemplate.v4.ST ruleST, java.lang.String srcName)
-
getNamesFromArgAction
public java.util.Collection<java.lang.String> getNamesFromArgAction(Token t)
-
toString
public java.lang.String toString()
- 覆盖:
toString在类中java.lang.Object
-
-