Zeilenfortsetzung in Envision

Zeilenfortsetzung












Startseite » Ressourcen » Hier

Die Grammatik in Envision bietet implizite, sowie explizite Mechanismen zur Zeilenfortsetzung. Damit ist die Möglichkeit gemeint, Code über mehrere Zeilen zu verteilen, als wenn es sich um eine Zeile handeln würde. Die explizite Zeilenfortsetzung bedient sich des Symbols \. Doch wenn am Ende der Zeile ein für Zeilenende unzulässiges Token steht, geht die Grammatik davon aus, dass eine Zeilenfortsetzung erwünscht ist.

Überblick

Die Regel zur Zeilenfortsetzung lautet: Ist einer Sequenz (newline, indent) ein für Zeilenende unzulässiges Token vorangestellt, oder ein für Zeilenanfang unzulässiges Token nachgestellt, wird die Sequenz (newline, indent) ignoriert. So ist beispielsweise & für das Zeilenende unzulässig, sodass folgende Teilung möglich ist:
where DiesIstEinSehrLangerBedingungsausdruck & 
      DiesIstEinWeitererSehrLangerBedingungsausdruck
  A = sum(B)

Diese Syntax ist etwas kompakter und wird im Vergleich zur Alternative mit expliziten Fortsetzungszeichen bevorzugt:
where DiesIstEinSehrLangerBedingungsausdruck & \
      DiesIstEinWeitererSehrLangerBedingungsausdruck
  A = sum(B)

Ähnlich hierzu können if und at nicht am Zeilenanfang stehen, so könnte man Folgendes schreiben:
A = sum(B) by [Key, Key, Key]
           at [Key, Key, Key]
           if Condition

Fortsetzungs-Tokens

Für die Zeilenfortsetzung kommen nur Tokens in Frage, die für das Zeilenende unzulässig sind. Das wären folgende Tokens:

  • +, -, ~, not
  • ^, ^*, >>, <<
  • *, /., /, mod, **, +*, -*
  • <=, <, >=, >, ==, !=, ~~, !~
  • &, |
  • :=, =

Gleichzeitig dürfen Infix-Keyword-Tokens nicht am Zeilenanfang stehen:

  • by, at, if, or, cross, over, sort
  • into
  • as