%%% $Id: Kernel.sdf 17765 2006-02-13 12:54:52Z jurgenv $
                                                            
module languages/sdf2/syntax/Kernel

imports languages/aterm/syntax/ATerms 
        languages/sdf2/syntax/Symbols 
        languages/sdf2/syntax/Grammars

exports
  sorts Attribute ATermAttribute Attributes Production Productions
  context-free syntax
    aterm:ATerm    -> ATermAttribute  {cons("default")}
    ATermAttribute -> Attribute       {cons("term")}

    "{" list:{Attribute ","}* "}" -> Attributes  {cons("attrs")}
                                  -> Attributes  {cons("no-attrs")}

    Symbols "->" result:Symbol Attributes -> Production  {cons("prod")}

    list:Production* -> Productions

    "syntax" Productions -> Grammar {cons("syntax")}