Package org.antlr.grammar.v2
Class TreeToNFAConverter
- java.lang.Object
-
- antlr.TreeParser
-
- org.antlr.grammar.v2.TreeToNFAConverter
-
- All Implemented Interfaces:
TreeToNFAConverterTokenTypes
public class TreeToNFAConverter extends antlr.TreeParser implements TreeToNFAConverterTokenTypes
Build an NFA from a tree representing an ANTLR grammar.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]_tokenNamesstatic antlr.collections.impl.BitSet_tokenSet_0protected intblockLevelprotected java.lang.StringcurrentRuleNameprotected NFAFactoryfactoryFactory used to create nodes and submachinesprotected GrammargrammarWhich grammar are we converting an NFA for?protected NFAnfaWhich NFA object are we filling in?protected intouterAltNum-
Fields inherited from class antlr.TreeParser
_retTree, astFactory, ASTNULL, inputState, returnAST, tokenNames, traceDepth
-
Fields inherited from interface org.antlr.grammar.v2.TreeToNFAConverterTokenTypes
ACTION, ACTION_CHAR_LITERAL, ACTION_ESC, ACTION_STRING_LITERAL, ALT, AMPERSAND, ARG, ARG_ACTION, ARGLIST, ASSIGN, BACKTRACK_SEMPRED, BANG, BLOCK, 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, FORCED_ACTION, FRAGMENT, GATED_SEMPRED, ID, IMPLIES, IMPORT, INITACTION, INT, INTERNAL_RULE_REF, LABEL, LEXER, LEXER_GRAMMAR, LITERAL_catch, LITERAL_finally, LITERAL_grammar, LITERAL_lexer, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_returns, LITERAL_throws, LITERAL_tree, LPAREN, ML_COMMENT, NESTED_ACTION, NESTED_ARG_ACTION, NOT, NULL_TREE_LOOKAHEAD, OPEN_ELEMENT_OPTION, OPTIONAL, OPTIONS, OR, PARSER, PARSER_GRAMMAR, PLUS, PLUS_ASSIGN, POSITIVE_CLOSURE, QUESTION, RANGE, RCURLY, RET, REWRITE, ROOT, RPAREN, RULE, RULE_REF, SCOPE, SEMI, SEMPRED, SL_COMMENT, SRC, STAR, STRAY_BRACKET, STRING_LITERAL, SYN_SEMPRED, SYNPRED, TEMPLATE, TOKEN_REF, TOKENS, TREE_BEGIN, TREE_GRAMMAR, WILDCARD, WS, WS_LOOP, WS_OPT, XDIGIT
-
-
Constructor Summary
Constructors Constructor Description TreeToNFAConverter()TreeToNFAConverter(Grammar g, NFA nfa, NFAFactory factory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddFollowTransition(java.lang.String ruleName, NFAState following)StateClusteralternative(antlr.collections.AST _t)voidast_suffix(antlr.collections.AST _t)StateClusteratom(antlr.collections.AST _t, java.lang.String scopeName)StateClusteratom_or_notatom(antlr.collections.AST _t)voidattrScope(antlr.collections.AST _t)StateClusterblock(antlr.collections.AST _t)StateClusterebnf(antlr.collections.AST _t)StateClusterelement(antlr.collections.AST _t)voidexceptionGroup(antlr.collections.AST _t)voidexceptionHandler(antlr.collections.AST _t)voidfinallyClause(antlr.collections.AST _t)protected voidfinish()voidgrammar(antlr.collections.AST _t)voidgrammarSpec(antlr.collections.AST _t)private static long[]mk_tokenSet_0()voidmodifier(antlr.collections.AST _t)voidreportError(antlr.RecognitionException ex)voidrewrite(antlr.collections.AST _t)voidrule(antlr.collections.AST _t)voidrules(antlr.collections.AST _t)voidruleScopeSpec(antlr.collections.AST _t)StateClusterset(antlr.collections.AST _t)voidsetElement(antlr.collections.AST _t, IntSet elements)IntSetsetRule(antlr.collections.AST _t)voidtestBlockAsSet(antlr.collections.AST _t)Check to see if this block can be a set.voidtestSetElement(antlr.collections.AST _t)Match just an element; no ast suffix etc..voidtestSetRule(antlr.collections.AST _t)StateClustertree(antlr.collections.AST _t)
-
-
-
Field Detail
-
factory
protected NFAFactory factory
Factory used to create nodes and submachines
-
nfa
protected NFA nfa
Which NFA object are we filling in?
-
grammar
protected Grammar grammar
Which grammar are we converting an NFA for?
-
currentRuleName
protected java.lang.String currentRuleName
-
outerAltNum
protected int outerAltNum
-
blockLevel
protected int blockLevel
-
_tokenNames
public static final java.lang.String[] _tokenNames
-
_tokenSet_0
public static final antlr.collections.impl.BitSet _tokenSet_0
-
-
Constructor Detail
-
TreeToNFAConverter
public TreeToNFAConverter(Grammar g, NFA nfa, NFAFactory factory)
-
TreeToNFAConverter
public TreeToNFAConverter()
-
-
Method Detail
-
addFollowTransition
protected void addFollowTransition(java.lang.String ruleName, NFAState following)
-
finish
protected void finish()
-
reportError
public void reportError(antlr.RecognitionException ex)
- Overrides:
reportErrorin classantlr.TreeParser
-
grammar
public final void grammar(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
grammarSpec
public final void grammarSpec(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
attrScope
public final void attrScope(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
rules
public final void rules(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
rule
public final void rule(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
modifier
public final void modifier(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
ruleScopeSpec
public final void ruleScopeSpec(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
block
public final StateCluster block(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
exceptionGroup
public final void exceptionGroup(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
set
public final StateCluster set(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
alternative
public final StateCluster alternative(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
rewrite
public final void rewrite(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
element
public final StateCluster element(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
exceptionHandler
public final void exceptionHandler(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
finallyClause
public final void finallyClause(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
atom
public final StateCluster atom(antlr.collections.AST _t, java.lang.String scopeName) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
atom_or_notatom
public final StateCluster atom_or_notatom(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
ebnf
public final StateCluster ebnf(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
tree
public final StateCluster tree(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
ast_suffix
public final void ast_suffix(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
setElement
public final void setElement(antlr.collections.AST _t, IntSet elements) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
setRule
public final IntSet setRule(antlr.collections.AST _t) throws antlr.RecognitionException
- Throws:
antlr.RecognitionException
-
testBlockAsSet
public final void testBlockAsSet(antlr.collections.AST _t) throws antlr.RecognitionExceptionCheck to see if this block can be a set. Can't have actions etc... Also can't be in a rule with a rewrite as we need to track what's inside set for use in rewrite.- Throws:
antlr.RecognitionException
-
testSetElement
public final void testSetElement(antlr.collections.AST _t) throws antlr.RecognitionExceptionMatch just an element; no ast suffix etc..- Throws:
antlr.RecognitionException
-
testSetRule
public final void testSetRule(antlr.collections.AST _t) throws antlr.RecognitionException- Throws:
antlr.RecognitionException
-
mk_tokenSet_0
private static final long[] mk_tokenSet_0()
-
-