initial project, add lexer and parser foundation