If the DSL is simple enough so that the parser / interpreter matches a single page, I would recommend implementing an existing scripting language.
I recently worked on a project that I inherited for several months, which contained the completely native scripting language. I spent a lot of time understanding the parser and the interpreter so that I can correct errors, make it thread safe, expand it, and optimize. In addition, there was time to learn and understand the quirks of this new scripting language, which were almost the same as the others that I already knew. I would prefer to use this time to embed an existing language such as Ruby or Lua, and customize it to suit our needs.
The user could use a language that was easier to program with less quirks and errors. I would take a deeper understanding of the internal components of a well-designed and popular language, rather than gaining relative useless expertise in "myScript".
source share