Class InmemantlrTool


  • public class InmemantlrTool
    extends org.antlr.v4.Tool
    special tool class that implements in-memory operations for the original antlr tool
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.antlr.v4.Tool

        org.antlr.v4.Tool.Option, org.antlr.v4.Tool.OptionArgType
    • Field Summary

      • Fields inherited from class org.antlr.v4.Tool

        ALL_GRAMMAR_EXTENSIONS, args, errMgr, exact_output_dir, force_atn, gen_dependencies, gen_listener, gen_visitor, generate_ATN_dot, genPackage, GRAMMAR_EXTENSION, grammarEncoding, grammarFiles, grammarOptions, haveOutputDir, inputDirectory, internalOption_PrintGrammarTree, internalOption_ShowATNConfigsInDFA, launch_ST_inspector, LEGACY_GRAMMAR_EXTENSION, libDirectory, log, logMgr, longMessages, msgFormat, optionDefs, outputDirectory, return_dont_exit, ST_inspector_wait_for_close, VERSION, warnings_are_errors
    • Constructor Summary

      Constructors 
      Constructor Description
      InmemantlrTool()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.antlr.v4.tool.Grammar createGrammar​(org.antlr.v4.tool.ast.GrammarRootAST ast)  
      StringCodeGenPipeline createPipeline​(org.antlr.v4.tool.ast.GrammarRootAST ast)
      create code generation pipeline from grammar ast
      void error​(org.antlr.v4.tool.ANTLRMessage msg)  
      void exit​(int e)  
      java.util.Set<StringCodeGenPipeline> getCompilationUnits()
      get compilation units, i.e.
      java.lang.String getDepTokVocName​(org.antlr.v4.tool.Grammar g)
      return name of token vocab if imported by grammar g
      java.lang.String getPackagePrefix()
      return package prefix if configured by user
      java.util.Set<StringCodeGenPipeline> getPipelines()
      get string code generation pipelines in-order (based on imported token vocab)
      void info​(java.lang.String msg)  
      boolean isImported​(java.lang.String name)
      check whether grammar is imported
      org.antlr.v4.tool.Grammar loadImportedGrammar​(org.antlr.v4.tool.Grammar g, org.antlr.v4.tool.ast.GrammarAST nameNode)  
      Tuple<java.lang.String,​java.lang.String> process()
      process all code generation pipeline and return the 'main' grammar and lexer names which are used to load the right classes afterwards
      void process​(org.antlr.v4.tool.Grammar g)
      process a grammar
      void processNonCombinedGrammar​(org.antlr.v4.tool.Grammar g, boolean gencode)
      this method is taken from the superclass
      java.util.Set<org.antlr.v4.tool.ast.GrammarRootAST> sortGrammarByTokenVocab​(java.util.Set<java.lang.String> gcs)
      wrapper for sorting grammars based on the imported token vocab
      void version()  
      void warning​(org.antlr.v4.tool.ANTLRMessage msg)  
      • Methods inherited from class org.antlr.v4.Tool

        addListener, checkForRuleIssues, findOptionValueAST, generateATNs, getImportedGrammarFile, getListeners, getNumErrors, getOutputDirectory, getOutputFileWriter, handleArgs, handleOptionSetArg, help, loadGrammar, log, log, main, new_getOutputDirectory, panic, parse, parseGrammar, parseGrammarFromString, process, processGrammarsOnCommandLine, removeListener, removeListeners, sortGrammarByTokenVocab, writeDOTFile, writeDOTFile
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • InmemantlrTool

        public InmemantlrTool()
    • Method Detail

      • process

        public void process​(org.antlr.v4.tool.Grammar g)
        process a grammar
        Parameters:
        g - grammar
      • createGrammar

        public org.antlr.v4.tool.Grammar createGrammar​(org.antlr.v4.tool.ast.GrammarRootAST ast)
        Overrides:
        createGrammar in class org.antlr.v4.Tool
      • sortGrammarByTokenVocab

        public java.util.Set<org.antlr.v4.tool.ast.GrammarRootAST> sortGrammarByTokenVocab​(java.util.Set<java.lang.String> gcs)
        wrapper for sorting grammars based on the imported token vocab
        Parameters:
        gcs - grammar content collection
        Returns:
        set of grammar asts
      • loadImportedGrammar

        public org.antlr.v4.tool.Grammar loadImportedGrammar​(org.antlr.v4.tool.Grammar g,
                                                             org.antlr.v4.tool.ast.GrammarAST nameNode)
                                                      throws java.io.IOException
        Overrides:
        loadImportedGrammar in class org.antlr.v4.Tool
        Throws:
        java.io.IOException
      • getPackagePrefix

        public java.lang.String getPackagePrefix()
        return package prefix if configured by user
        Returns:
        package prefix
      • createPipeline

        public StringCodeGenPipeline createPipeline​(org.antlr.v4.tool.ast.GrammarRootAST ast)
        create code generation pipeline from grammar ast
        Parameters:
        ast - grammar ast
        Returns:
        string code generation pipeline
      • getPipelines

        public java.util.Set<StringCodeGenPipeline> getPipelines()
        get string code generation pipelines in-order (based on imported token vocab)
        Returns:
        ordered set of string code gen pipelines
      • isImported

        public boolean isImported​(java.lang.String name)
        check whether grammar is imported
        Parameters:
        name - grammar name
        Returns:
        true if grammar is imported, false otherwise
      • process

        public Tuple<java.lang.String,​java.lang.String> process()
        process all code generation pipeline and return the 'main' grammar and lexer names which are used to load the right classes afterwards
        Returns:
        tuple of lexer and parser names
      • getDepTokVocName

        public java.lang.String getDepTokVocName​(org.antlr.v4.tool.Grammar g)
        return name of token vocab if imported by grammar g
        Parameters:
        g - grammar
        Returns:
        name of token vocab
      • getCompilationUnits

        public java.util.Set<StringCodeGenPipeline> getCompilationUnits()
        get compilation units, i.e. all string code generation pipelines that are not imported
        Returns:
        ordered set of string code pipelines
      • info

        public void info​(java.lang.String msg)
        Overrides:
        info in class org.antlr.v4.Tool
      • error

        public void error​(org.antlr.v4.tool.ANTLRMessage msg)
        Overrides:
        error in class org.antlr.v4.Tool
      • warning

        public void warning​(org.antlr.v4.tool.ANTLRMessage msg)
        Overrides:
        warning in class org.antlr.v4.Tool
      • version

        public void version()
        Overrides:
        version in class org.antlr.v4.Tool
      • exit

        public void exit​(int e)
        Overrides:
        exit in class org.antlr.v4.Tool
      • processNonCombinedGrammar

        public void processNonCombinedGrammar​(org.antlr.v4.tool.Grammar g,
                                              boolean gencode)
        this method is taken from the superclass
        Overrides:
        processNonCombinedGrammar in class org.antlr.v4.Tool
        Parameters:
        g - grammar to process
        gencode - flag to switch on codegeneration