According to the grammar and its name, it is one:
<combinator> = '>' | '+' | '~' | [ '|' '|' ]
Yet § 3.1. Structure and Terminology says it's not:
A combinator is a condition of relationship between two elements represented by the compound selectors on either side. Combinators in Selectors Level 4 include: the descendant combinator (white space), the child combinator (U+003E, >), the next-sibling combinator (U+002B, +), and the subsequent-sibling combinator (U+007E, ~).
Am I missing something?