In most of the programming languages variable names should begin with a letter or an underscore, followed by any combination of letters, numbers, and the under-score character. I have found this in c,c++ and php (after the $).
4Uis an integer or an identifier. This assumes that
4on its own would be an invalid identifer.
a*aand other constructs would be ambiguous.
_ isn't used as operator and a word beginning with
[A-Za-z_] in C is either a predefined keyword or an identifier. No ambiguity possible.