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[]
_tokenNames
static antlr.collections.impl.BitSet
_tokenSet_0
protected int
blockLevel
protected java.lang.String
currentRuleName
protected NFAFactory
factory
Factory used to create nodes and submachinesprotected Grammar
grammar
Which grammar are we converting an NFA for?protected NFA
nfa
Which NFA object are we filling in?protected int
outerAltNum
-
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 void
addFollowTransition(java.lang.String ruleName, NFAState following)
StateCluster
alternative(antlr.collections.AST _t)
void
ast_suffix(antlr.collections.AST _t)
StateCluster
atom(antlr.collections.AST _t, java.lang.String scopeName)
StateCluster
atom_or_notatom(antlr.collections.AST _t)
void
attrScope(antlr.collections.AST _t)
StateCluster
block(antlr.collections.AST _t)
StateCluster
ebnf(antlr.collections.AST _t)
StateCluster
element(antlr.collections.AST _t)
void
exceptionGroup(antlr.collections.AST _t)
void
exceptionHandler(antlr.collections.AST _t)
void
finallyClause(antlr.collections.AST _t)
protected void
finish()
void
grammar(antlr.collections.AST _t)
void
grammarSpec(antlr.collections.AST _t)
private static long[]
mk_tokenSet_0()
void
modifier(antlr.collections.AST _t)
void
reportError(antlr.RecognitionException ex)
void
rewrite(antlr.collections.AST _t)
void
rule(antlr.collections.AST _t)
void
rules(antlr.collections.AST _t)
void
ruleScopeSpec(antlr.collections.AST _t)
StateCluster
set(antlr.collections.AST _t)
void
setElement(antlr.collections.AST _t, IntSet elements)
IntSet
setRule(antlr.collections.AST _t)
void
testBlockAsSet(antlr.collections.AST _t)
Check to see if this block can be a set.void
testSetElement(antlr.collections.AST _t)
Match just an element; no ast suffix etc..void
testSetRule(antlr.collections.AST _t)
StateCluster
tree(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:
reportError
in 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.RecognitionException
Check 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.RecognitionException
Match 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()
-
-