Class GrammarCatalogEntry

java.lang.Object
name.jurgenei.gradle.antlr.catalog.GrammarCatalogEntry

public final class GrammarCatalogEntry extends Object
Immutable grammar entry loaded from a catalog file.
  • Constructor Details

    • GrammarCatalogEntry

      public GrammarCatalogEntry(String name, String runtimeGrammar, String parser, String lexer, String startRule)
      Creates an immutable grammar catalog entry.
      Parameters:
      name - catalog grammar name.
      runtimeGrammar - optional runtime grammar key used by legacy converter mode.
      parser - parser coordinate (path or class name depending on task configuration).
      lexer - lexer coordinate (path or class name depending on task configuration).
      startRule - parser entry rule name.
  • Method Details

    • getName

      public String getName()
      Returns the catalog grammar name.
      Returns:
      catalog grammar name.
    • getRuntimeGrammar

      public String getRuntimeGrammar()
      Returns the optional runtime grammar alias.
      Returns:
      optional runtime grammar key.
    • getParser

      public String getParser()
      Returns the parser coordinate from the catalog entry.
      Returns:
      parser coordinate value.
    • getLexer

      public String getLexer()
      Returns the lexer coordinate from the catalog entry.
      Returns:
      lexer coordinate value.
    • getStartRule

      public String getStartRule()
      Returns the parser start rule configured for this entry.
      Returns:
      parser entry rule name.
    • resolveRuntimeGrammar

      public String resolveRuntimeGrammar()
      Resolves effective runtime grammar key.
      Returns:
      runtimeGrammar when provided, otherwise name.
    • resolveParserPath

      public Path resolveParserPath(Path baseDirectory)
      Resolves parser coordinate to a local path when applicable.
      Parameters:
      baseDirectory - base directory used for relative coordinates.
      Returns:
      local parser path, or null for non-file URIs.
    • resolveLexerPath

      public Path resolveLexerPath(Path baseDirectory)
      Resolves lexer coordinate to a local path when applicable.
      Parameters:
      baseDirectory - base directory used for relative coordinates.
      Returns:
      local lexer path, or null for non-file URIs.
    • resolveParserUri

      public URI resolveParserUri(Path baseDirectory)
      Resolves parser coordinate to a URI.
      Parameters:
      baseDirectory - base directory used for relative coordinates.
      Returns:
      parser URI.
    • resolveLexerUri

      public URI resolveLexerUri(Path baseDirectory)
      Resolves lexer coordinate to a URI.
      Parameters:
      baseDirectory - base directory used for relative coordinates.
      Returns:
      lexer URI.