org.antlr.tool
Class GrammarSpelunker

java.lang.Object
  extended by org.antlr.tool.GrammarSpelunker

public class GrammarSpelunker
extends java.lang.Object

Load a grammar file and scan it just until we learn a few items of interest. Currently: name, type, imports, tokenVocab, language option. GrammarScanner (at bottom of this class) converts grammar to stuff like: grammar Java ; options { backtrack true memoize true } import JavaDecl JavaAnnotations JavaExpr ; ... : ... First ':' or '@' indicates we can stop looking for imports/options. Then we just grab interesting grammar properties.


Nested Class Summary
static class GrammarSpelunker.Scanner
          Strip comments and then return stream of words and tokens {';', ':', '{', '}'}
 
Field Summary
protected  java.lang.String grammarFileName
           
protected  java.lang.String grammarModifier
           
protected  java.lang.String grammarName
           
protected  java.util.List<java.lang.String> importedGrammars
           
protected  java.lang.String inputDirectory
           
protected  java.lang.String language
           
protected  GrammarSpelunker.Scanner scanner
           
protected  java.lang.String token
           
protected  java.lang.String tokenVocab
           
 
Constructor Summary
GrammarSpelunker(java.lang.String inputDirectory, java.lang.String grammarFileName)
           
 
Method Summary
 java.lang.String getGrammarModifier()
           
 java.lang.String getGrammarName()
           
 java.util.List<java.lang.String> getImportedGrammars()
           
 java.lang.String getLanguage()
           
 java.lang.String getTokenVocab()
           
protected  void grammarHeader()
           
protected  void imports()
           
static void main(java.lang.String[] args)
          Tester; Give grammar filename as arg
protected  void match(java.lang.String expecting)
           
protected  void options()
           
 void parse()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

grammarFileName

protected java.lang.String grammarFileName

token

protected java.lang.String token

scanner

protected GrammarSpelunker.Scanner scanner

grammarModifier

protected java.lang.String grammarModifier

grammarName

protected java.lang.String grammarName

tokenVocab

protected java.lang.String tokenVocab

language

protected java.lang.String language

inputDirectory

protected java.lang.String inputDirectory

importedGrammars

protected java.util.List<java.lang.String> importedGrammars
Constructor Detail

GrammarSpelunker

public GrammarSpelunker(java.lang.String inputDirectory,
                        java.lang.String grammarFileName)
Method Detail

match

protected void match(java.lang.String expecting)
              throws java.io.IOException
Throws:
java.io.IOException

parse

public void parse()
           throws java.io.IOException
Throws:
java.io.IOException

grammarHeader

protected void grammarHeader()
                      throws java.io.IOException
Throws:
java.io.IOException

options

protected void options()
                throws java.io.IOException
Throws:
java.io.IOException

imports

protected void imports()
                throws java.io.IOException
Throws:
java.io.IOException

getGrammarModifier

public java.lang.String getGrammarModifier()

getGrammarName

public java.lang.String getGrammarName()

getTokenVocab

public java.lang.String getTokenVocab()

getLanguage

public java.lang.String getLanguage()

getImportedGrammars

public java.util.List<java.lang.String> getImportedGrammars()

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Tester; Give grammar filename as arg

Throws:
java.io.IOException


Copyright © 2011. All Rights Reserved.