Identifiers

Lexer:
IDENTIFIER :
      [a-z A-Z] [a-z A-Z 0-9 _]*
   | _ [a-z A-Z 0-9 _]+

An identifier is any nonempty ASCII string of the following form:

Either

  • The first character is a letter
  • The remaining characters are alphanumeric or _

Or

  • The first character is _
  • The identifier is more than one character, _ alone is not an identifier
  • The remaining characters are alphanumeric or _