adding lexer.cpp