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



exports
  sorts Character NumChar ShortChar
  lexical syntax
    [\\] number:[0-9]+                     -> NumChar   {cons("digits")}
    character:[a-zA-Z0-9]                  -> ShortChar {cons("regular")}
    [\\] escape:~[\0-\31A-Za-mo-qsu-z0-9]  -> ShortChar {cons("escaped")}

  context-free syntax
    NumChar   -> Character {cons("numeric")}
    ShortChar -> Character {cons("short")}
    "\\TOP"   -> Character {cons("top")}
    "\\EOF"   -> Character {cons("eof")}
    "\\BOT"   -> Character {cons("bot")}
    "\\LABEL_START" -> Character {cons("label_start")}