Class 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.
    • Field Detail

      • grammarFileName

        protected java.lang.String grammarFileName
      • token

        protected java.lang.String token
      • 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