org.antlr.grammar.v2
Class TreeToNFAConverter

java.lang.Object
  extended by antlr.TreeParser
      extended by 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
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 submachines
protected  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
TreeToNFAConverter()
           
TreeToNFAConverter(Grammar g, NFA nfa, NFAFactory factory)
           
 
Method Summary
protected  void addFollowTransition(java.lang.String ruleName, NFAState following)
           
 StateCluster alternative(antlr.collections.AST _t)
           
 void ast_suffix(antlr.collections.AST _t)
           
 StateCluster atom_or_notatom(antlr.collections.AST _t)
           
 StateCluster atom(antlr.collections.AST _t, java.lang.String scopeName)
           
 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)
           
 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)
           
 
Methods inherited from class antlr.TreeParser
getAST, getASTFactory, getTokenName, getTokenNames, match, match, matchNot, panic, reportError, reportWarning, setASTFactory, setASTNodeClass, setASTNodeType, traceIn, traceIndent, traceOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 class antlr.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


Copyright © 2013. All Rights Reserved.