working lex + parser and some abstract syntax