I'm very fond of the defaults with QualifiedNames, references etc. that Xtext offers out of the box.

But I have one problem/issue:

I have a type "Config" with a name = ID that are referenced throughout my DSL.
The language I am trying to model however allows for such and ID to be "negated", i.e. as if it were a bool. So a config with name = MY_SYMBOL can be referenced from other parts as !MY_SYMBOL.

How can I go about parsing that? If I create a new terminal for this, I suppose I loose my QualifiedNames etc. ???