org.antlr.tool
Class GrammarSpelunker
java.lang.Object
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 {';', ':', '{', '}'} |
Constructor Summary |
GrammarSpelunker(java.lang.String inputDirectory,
java.lang.String grammarFileName)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
GrammarSpelunker
public GrammarSpelunker(java.lang.String inputDirectory,
java.lang.String grammarFileName)
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.