Add lexer.h and lexer.cpp