Building Your Own Compiler with C++