INTRO
GRAMMAR
s_expression ::= atomic_symbol | "(" s_expression "." s_expression ")" | list .
slist ::= s_expression slist | s_expression .
list ::= "(" s_expression slist ")" .
atomic_symbol ::= letter atom_part .
atom_part ::= empty | letter atom_part | number atom_part .
letter ::= [a-zA-Z]
number ::= [0-9]
empty ::= " ".