// Rendered by UMod Pretty Printer at 2024-09-15_20h25m25
// See also the UMod user documentation online.

MODEL Rt =
  EXT memstring FROM eu.bandm.tools.d2d2.infra.MemString
  EXT Location FROM eu.bandm.tools.location.Location
  EXT Expression FROM eu.bandm.tools.d2d2.model.Expression
  EXT Definition FROM eu.bandm.tools.d2d2.model.Definition
  EXT Reference FROM eu.bandm.tools.d2d2.model.Reference
  EXT Seq FROM eu.bandm.tools.d2d2.model.Seq
  EXT Perm FROM eu.bandm.tools.d2d2.model.Perm
  EXT GrUnary FROM eu.bandm.tools.d2d2.model.GrUnary
  EXT LocString FROM eu.bandm.tools.d2d2.model.LocString
  EXT ImportItem FROM eu.bandm.tools.d2d2.model.ImportItem
  EXT Module FROM eu.bandm.tools.d2d2.model.Module

  TOPLEVEL CLASS
  State ABSTRACT
        predec      OPT State
        result      ResultContainer
        rule        ABSTRACT OPT Expression
        inxslt      bool
  | State_rep
        rule        GrUnary
  | State_singleton
        ref         Reference
        def         Definition
        rule        Expression
  | State_perm
        rule        Perm
        directory   PermutationGroup
        obligates   SET Expression
        consumed    SET Expression
  | State_sequ
        rule        Seq
        position    int
  Udom ABSTRACT
  | ResultingChars
        chars       memstring
        isWhitespace        bool
  | | SubstituteChars
        endLocation Location
  | PermutationGroup
        rule        Perm
        subs        Expression->PermutationSubexpression
  | ResultContainer
        location    Location
        sequ        SEQ Udom
  | | PermutationSubexpression
  | | ResultingStructure
        tag         Definition
        assoc       Definition->ResultingStructure
  ImportContext
        predec      OPT ImportContext
        importItem  ImportItem
        moduleAddress       string
        rawModule   Module
        key         string
        subs        string->OPT ImportContext
        level       int
  Binding
        predec      OPT Binding
        id          string
        exp         Expression
        context     ImportContext
        definitionName      OPT string
        used        bool
  FlattenContext
        predec      OPT FlattenContext
        localSubsts OPT Binding

END MODEL // Rt