Compilation principle lexical analyzer C++