finished lexer again; implemented most of parser