Сollision tokens in grammar file

Hi there,
I have a keywords list and I created token in my grammar file for this list

String_kw { ‘"’ (‘keyword1’ | ‘keyword2’ | ‘keyword3’) ‘"’}
String_kw2 { “'” (“keyword1” | “keyword2” | “keyword3”) “'”}

It is a constant list. All kw is highlighting by own style. Keywords is enclosed in quotes.

Now I would like to create a separate token for any other literals enclosed in quotes. I need a separate token for highlighting it as a error in the lint.
There is a such conception:
Token_for_any_string_not_kw { $[a-z_]+ but !String_kw && !String_kw2 }

How can I implement this concept according to the grammar rules?

You give your non-kw string token a lower precedence than the keyword strings. Or, even better, use @specialize with a generic string token to define the keyword strings.

The @precedence-manner was enought to achive my goals.
Thank you very much