I extended somebody elses programming language recently, then wrote a BASIC. Mostly to make sure that I understood lexing, parsing, and AST stuff.
While you're right this is reinventing the wheel it can make sense to reimplement old tools to improve safety, security, and to allow them to be embedded in new environments.
Have you ever run a fuzz-tester against (GNU) awk? I have. Even now you can segfault awk with bogus programs, for example:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816277
No doubt this new implementation won't be perfect, but segfaults should be ruled out via rust/go/ML implementations..