An extended answer would take many books, so briefly...
There are two types of languages: compiled and interpreted.
The complexity of creating the former is translating high-level abstraction into low-level code (+memory management and other complicated stuff). The easiest approach is to come up with your own syntax, which translates into some C++ or C
But I recommend that you make an interpreted language (with the Script postfix). In that case you can just process commands like
And if you don't want to deal with all that, it is better to use a parser-compiler generator. Then write your own language compiler (bootstrapping) to get an independent compiler.
P. S.
Your question about assembler is not clear. Do you want to write a parser and a compiler in assembler or do you want to translate your language into assembler? Or an assembler interpreter? The lower the level, the more options you have.
There are two types of languages: compiled and interpreted.
The complexity of creating the former is translating high-level abstraction into low-level code (+memory management and other complicated stuff). The easiest approach is to come up with your own syntax, which translates into some C++ or C
But I recommend that you make an interpreted language (with the Script postfix). In that case you can just process commands like
if cmd='add' then return a+b
And if you don't want to deal with all that, it is better to use a parser-compiler generator. Then write your own language compiler (bootstrapping) to get an independent compiler.
P. S.
Your question about assembler is not clear. Do you want to write a parser and a compiler in assembler or do you want to translate your language into assembler? Or an assembler interpreter? The lower the level, the more options you have.