10.2. Lexical overview

small-letter ‘a’ | ‘b’ | ... | ‘z’
cap-letter ‘A’ | ‘B’ | ... | ‘Z’
letter small-letter | cap-letter
identifier (small-letter | ‘_’) {letter | digit | ‘_’}
small-keyword identifier ‘:’
cap-keyword cap-letter {letter | digit | ‘_’} ‘:’
argument-name ‘:’ identifier
op-char ‘!’ | ‘@’ | ‘#’ | ‘$’ | ‘%’ | ‘^’ | ‘&’ | ‘*’ | ‘-’ | ‘+’ | ‘=’ | ‘~’ | ‘/’ | ‘?’ | ‘<’ | ‘>’ | ‘,’ | ‘;’ | ‘|’ | ‘‘’ | ‘\’
operator op-char {op-char}
number [ ‘-’ ] (integer | real)
integer [base] general-digit {general-digit}
real fixed-point | float
fixed-point decimal ‘.’ decimal
float decimal [ ‘.’ decimal ] (‘e’ | ‘E’) [ ‘+’ | ‘-’ ] decimal
general-digit digit | letter
decimal digit {digit}
base decimal (‘r’ | ‘R’)
string ‘’’ { normal-char | escape-char } ‘’’
normal-char any character except ‘\’ and ‘’’
escape-char ‘\t’ | ‘\b’ | ‘\n’ | ‘\f’ | ‘\r’ | ‘\v’ | ‘\a’ | ‘\0’ | ‘\\’ | ‘\’’ | ‘\”’ | ‘\?’ | numeric-escape
numeric-escape ‘\x’ general-digit general-digit | ( ‘\d’ | ‘\o’ ) digit digit digit
comment ‘”’ { comment-char } ‘”’
comment-char any character but ‘”’