Stando alla definizione di token data dalla RFC, un token è composto da 1 o più CHAR con l'esclusione dei caratteri di controllo e i separatori. Sempre dalla RFC la definizione di separatore è la seguente:
codice:
separators = "(" | ")" | "<" | ">" | "@"
| "," | ";" | ":" | "\" | <">
| "/" | "[" | "]" | "?" | "="
| "{" | "}" | SP | HT
Questo è in conflitto con l'esempio postato da filippo.toso (che ha usato parecchi caratteri definiti come SEPARATORI senza per questo aver avuto alcun problema).
Fa riflettere sta cosa...
Rimane assodato che (stando alla definizione) l'asterisco non è tra i caratteri esclusi, ma non mi pare ci si possa fidare di nulla. 
A meno che la definizione non sia da intendersi come "1 o più CHAR o SEPARATORI con esclusione dei caratteri di controllo"... ambiguità? Boh... se così fosse io avrei scritto
codice:
token = 1*<any CHAR or separators except CTLs>
Avrebbe più senso la prima interpretazione, non la seconda.
Edit: potrebbe essere corretta la seconda interpretazione, dove l'except è riferito alla definizione di CHAR e l'or serve ad aggiungere un set di caratteri valido.