Today I learnt that cc-mode in Emacs includes a demo of defining a major mode for a small C-like language: https://cc-mode.sourceforge.net/derived-mode-ex.el "a hypothetical language called C: (pronounced "big nose") that is similar to Java" :)