I want to try to create my own very simple programming language and it's compiler or interpreter.
The programming language I use is Java.
My idea was to create a compiler which will compile source code of my created language to some kind of intermediate code (nothing binary or complex, just plain text), and then have another program (a kind of virtual machine or interpreter) which will execute this intermediate code in Java.
For example, the 'programmer' types: write "hi world"
. The compiler turns it to some intermediate code like w-hi world
. The VM/interpreter program reads this intermediate code and executes System.out.println("hi world");
My question is:
Is this approach common with programmers who want to try to create a simple language for the first time? Is this a good way to start?
I searched this site and came across questions on this subject, but the answers were more complex and technical than what I'm looking for.