Interface GrammarSection<P extends ParsedPattern,E extends ParsedElementAnnotation,L extends Location,A extends Annotations<E,L,CL>,CL extends CommentList<L>>

All Known Subinterfaces:
Div<P,E,L,A,CL>, Grammar<P,E,L,A,CL>, Include<P,E,L,A,CL>, IncludedGrammar<P,E,L,A,CL>, Scope<P,E,L,A,CL>
All Known Implementing Classes:
DivHost, GrammarHost, GrammarSectionHost, IncludeHost, ScopeHost

public interface GrammarSection<P extends ParsedPattern,E extends ParsedElementAnnotation,L extends Location,A extends Annotations<E,L,CL>,CL extends CommentList<L>>
The container that can have <define> elements.

Div, Grammar, Include, or IncludedGrammar.

  • Field Details

  • Method Details

    • define

      void define(String name, GrammarSection.Combine combine, P pattern, L loc, A anno) throws BuildException
      Called when a pattern is defined.
      Parameters:
      name - Name of the pattern. For the definition by a <start/> element, this parameter is the same as START. to test if it's a named pattern definition or the start pattern definition.
      combine - null or COMBINE_CHOICE or COMBINE_INTERLEAVE depending on the value of the combine attribute.
      pattern - The pattern to be defined.
      Throws:
      BuildException
    • topLevelAnnotation

      void topLevelAnnotation(E ea) throws BuildException
      Called when an annotation is found.
      Throws:
      BuildException
    • topLevelComment

      void topLevelComment(CL comments) throws BuildException
      Called when a comment is found.
      Throws:
      BuildException
    • makeDiv

      Div<P,E,L,A,CL> makeDiv()
      Called when <div> is found.
      Returns:
      the returned Div object will receive callbacks for structures inside the <div> element.
    • makeInclude

      Include<P,E,L,A,CL> makeInclude()
      Returns null if already in an include.