Document := ( Function | identifier | Immediate ) *
Immediate := number | string | list
Function := "(" + identifier + ( Function | identifier | Immediate ) * + ")"
List := "(" + Immediate + ( Immediate | Function ) * + ")" |
"'" + "(" ( Immediate | Function ) + + ")"