object D extends RegexParsers {
  override type Elem = Char
  def command_name = regex("^(\\$[^\\s]+)".r)
  def simple_arg = regex("^([^\\s]+)".r)
  def quoted_arg = regex("^\"(.*?(?<!\\\\)(\\\\\\\\)*)\"".r)
  def command = command_name ~ (simple_arg | quoted_arg *)
}
