https://softwarepatternslexicon.com/scala/behavioral-patterns-in-scala/interpreter-pattern/
Interpreter Pattern in Scala: Evaluating Sentences and Building DSLs