Package org.antlr.tool
Class GrammarSpelunker
- java.lang.Object
-
- org.antlr.tool.GrammarSpelunker
-
public class GrammarSpelunker extends java.lang.ObjectLoad 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
Nested Classes Modifier and Type Class Description static classGrammarSpelunker.ScannerStrip comments and then return stream of words and tokens {';', ':', '{', '}'}
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringgrammarFileNameprotected java.lang.StringgrammarModifierprotected java.lang.StringgrammarNameprotected java.util.List<java.lang.String>importedGrammarsprotected java.lang.StringinputDirectoryprotected java.lang.Stringlanguageprotected GrammarSpelunker.Scannerscannerprotected java.lang.Stringtokenprotected java.lang.StringtokenVocab
-
Constructor Summary
Constructors Constructor Description GrammarSpelunker(java.lang.String inputDirectory, java.lang.String grammarFileName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidconsume()java.lang.StringgetGrammarModifier()java.lang.StringgetGrammarName()java.util.List<java.lang.String>getImportedGrammars()java.lang.StringgetLanguage()java.lang.StringgetTokenVocab()protected voidgrammarHeader()protected voidimports()static voidmain(java.lang.String[] args)Tester; Give grammar filename as argprotected voidmatch(java.lang.String expecting)protected voidoptions()voidparse()
-
-
-
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
-
-
Method Detail
-
consume
void consume() throws java.io.IOException- Throws:
java.io.IOException
-
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.IOExceptionTester; Give grammar filename as arg- Throws:
java.io.IOException
-
-