Interpreter einer While-Sprache

Gegeben seien Records, die einen abstrakten Syntaxbaum von Ausdrücken einer kleinen Programmiersprache, mit Variablen, Konstanten, Operatorausdrücken, Fallunterscheidungen und einer While-Schleife bestehen.

Sie sollen mit Hilfe eines instanceof-Pattern des Java 15 Previews eine Methode schreiben, die ein Programm auswertet. Dabei soll die Auswertung ein Wert des Typs long ergeben. Bei Bedingungen wird 0L als false und alle anderen Werte als true interpretiert werden.