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 ::= " ".