The following characters are considered as blanks: space, newline,
horizontal tabulation, carriage return, line feed and form feed. Blanks are
ignored, but they separate adjacent identifiers, literals and
keywords that would otherwise be confused as one single identifier,
literal or keyword.
Comments
Comments are introduced by the two characters (*, with no
intervening blanks, and terminated by the characters *), with
no intervening blanks. Comments are treated as blank characters.
Comments do not occur inside string or character literals. Nested
comments are handled correctly.
Identifiers
ident
::=
(letter| _) { letter| 0...9| _| ' }
letter
::=
A ... Z | a ... z
Identifiers are sequences of letters, digits, _ (the underscore
character), and ' (the single quote), starting with a
letter or an underscore.
Letters contain at least the 52 lowercase and uppercase
letters from the ASCII set. The current implementation (except on
MacOS) also recognizes as letters all accented characters from the ISO
8859-1 (``ISO Latin 1'') set. All characters in an identifier are
meaningful. The current implementation places no limits on the number
of characters of an identifier.