module sdf/production/attributes
strategies

  /**
   * @type  List(Attribute) ->? _
   */
  contains-bracket =
    fetch(?bracket())

  /**
   * @type  List(Attribute) ->? _
   */
  contains-reject =
    fetch(?reject())

  /**
   * @type  List(Attribute) -> String
   */
  get-cnstr-name =
    fetch-elem(
      ?term(appl(unquoted("cons"), [fun(quoted(<un-double-quote>))]))
    + ?term(cons(<id>))
    + ?default(term(cons(<id>)))
    + ?cons(<id>)
    )

signature
  constructors
    cons : String -> Attribute
