@top T { (Tag | "<" | "<<" | "<<<")+ }

@skip { space }

@tokens {
  space { " "+ }
  Tag { "<" "<"* @asciiLetter+ }
  @precedence { Tag, "<<" }
  @precedence { Tag, "<" }
  @precedence { Tag, "<<<" }
  "<" "<<" "<<<"
}

# Doesn't create an accidental ordering

<okay <<< << <

==> T(Tag, "<<<", "<<", "<")
