semantics = grammar.createSemantics().addOperation("eval", {
text: function (e) {
return this.sourceString;
},
Start: function (e) {
const results = e.eval();
return results.join("");
},
InnerContent: function (e) {
return this.sourceString;
},
Tag: function (_openBrackets, content, _closeBrackets) {
const results = content.eval();
switch (results.toLowerCase()) {
case "willkommen()":
return "Hallo Welt";
case "uuid()":
return uuidv4();
case "today()":
return new Date().toISOString();
default:
return "UNKNOWN";
}
}
})