Im on the platform again waiting for a train, so in the mean time before I can't move my hands due to getting pretty personal with some strangers, let's talk parsers.
Imagine you are 2 years old again, you may have asked questions to grown-ups from time to time, between you and said grownup, your parents may have needed to step in to translate your unintelligible and very cute pseudo words into language that said grown-up can understand. Your parent just parsed something admittedly simple into something way more complex.
As a 2 year old, you grab some crayons and attempt to write some words on the nearest furniture you can find, that resulting scribble is understood by your parents who then explain thier interpretation of your scribble to another grownup. There is still interpreted behaviour going on but it's parsed from hard evidence, eg the scibble on the sofa, but it remains there until somebody cleans it off and you scribble again.
As a 2 year old who has now had thier crayons confiscated 😈🖍️, your only option is to babble. This is on the fly and means that your parents must parse your language as it happens.
You are sort of all grown up, having known you would always write code (let me know in the comments!). You want to write a DSL, "a what?" A domain specific language, "ohh.. a what?". scss it's a micro language that handles things for a particular ecosystem, jsx and tsx are great examples too. How does anyone make a language like this and make it understandable? Simply put, grammer describes a language, for example a line terminator is
;, a code block could be tab indented
\t. There are a few systems that allow us to describe grammer. I'm on the train now, times up, so let's get into that next in the series, and why am I talking about it too.