When making a compiler, you need to decide which of 2 types of language the compiler will be.
Toy language: This is when you make a programming language which doesn't fix an issue, but is for learning. Fun examples of these are
Lolcode , and
Programming language: These are the languages which aim to solve a problem or bring something new and unique to the table. These can be compared to languages like
C++ , and
During your journey, it is inevitable that you will stumble over something which you have no idea about, but hopefully, one of these resources will aid you.