lexing: add lexer which silently skips whitespace
astnodes: a module representing nodes in the abstract syntax tree
parsing: a module to transfer a list of tokens into AST nodes