# `calc` — Berechnung
**Zweck:** Wertet einen oder mehrere arithmetische bzw. logische Ausdrücke aus und schreibt die Ergebnisse als Kontextvariablen — über einen sicheren eigenen Parser (kein `eval`).
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `` | ja (min. 1) | — | Wiederholbar. `name` = Ziel-Kontextvariable, `expr` = Ausdruck (Fallback: Element-Text statt `expr`-Attribut). |
Unterstützte Operatoren: `+ - * / %`, `== != < > <= >=`, `and`/`or`/`not` (XML-freundliche Alternative zu `&&`/`||`/`!`). Funktionen: `round(x, stellen)`, `ceil`, `floor`, `abs`, `min`, `max`, `len`, `upper`, `lower`, `concat(...)`, `ifelse(bedingung, dann, sonst)`. `true`/`false` werden zu `1`/`0`. Dezimalkomma (`1,50`) wird toleriert.
**Eingangswerte:** Beliebige Kontextvariablen via `{{platzhalter}}` — sie werden vor dem Parsen aufgelöst.
**Ausgangswerte:** Jede `` wird unter ihrem `name` in den Kontext geschrieben. Vorherige ``-Zeilen sind in nachfolgenden sofort verfügbar. Bei Auswertungsfehler bricht der Task mit `error` ab.
```xml
```