Identifiers in X# appear on many places in the language. They consist of a character followed by one or more characters, numbers or digits. The lexer definition for identifiers is below. As you can see we also allow 'special characters' and 'unicode characters' , but in general that is not recommended.
New keywords that are introduced in Vulcan and X# (see the keyword table) can also be used as Identifier
When an identifier must be used that has the same value as a keyword, then you can prefix the identifier with a double @@ sign, like in the following example.
This is not recommended. But it can happen that code in an external DLL has properties or method names that are keywords in X#. In that case using the @@ prefix can work too.
LOCAL @@Class as STRING
LOCAL @@Local as LOGIC
ID : IDStartChar IDChar*
fragment IDStartChar: 'A'..'Z' | 'a'..'z'
fragment IDChar : IDStartChar