There are so many ways ...
You can look at stack languages ββand Forth. This is not very useful when it comes to developing other languages, but it is something that can be done very quickly.
You can learn functional languages. Most of them are based on a few simple concepts and have simple parsing. And, nevertheless, they are very powerful.
And then traditional languages. They are the most difficult. You will need to study lexical analyzers, parsers, LALR grammars, LL grammars, EBNF and common languages ββin order to pass the analysis.
Bytecode orientation is not just a good idea. Otherwise, the exercises will be crazy and mostly useless in the learning process.
Do yourself a favor and look at books and tutorials about compilers.
Either C or Java. Java probably has an advantage, since object orientation is a good match for this type of task. My personal recommendation is Scala. This is a good language for this type of thing, and it will teach you interesting things about language design along the way.
Daniel C. Sobral
source share