Lexer extensions

Make the lexer accept atoms (integers, booleans, symbols) and strings as top-level expressions.