# 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 `_`
