module alloy/Open
imports
  alloy/Names

exports
  sorts Open RefSequence

  context-free syntax
    Private?  "open"  Name  RefSequence?  ( "as" Name )? -> Open {cons("AOpen")}

    "[" {Ref ","}+ "]" -> RefSequence {cons("ARefSequence")}