Continuations de ligne dans Envision

Continuations de ligne











Accueil » Ressources » Ici

La grammaire Envision offre des mécanismes de continuation de ligne implicites et explicites, qui permettent d’écrire du code qui s’étend sur plusieurs lignes, comme s’il s’agissait d’une seule ligne. La continuation de ligne explicite repose sur le symbole \. Cependant, si une ligne se termine par un signe qui n’est pas autorisé en fin de ligne, alors la grammaire fait l’hypothèse qu’une continuation de ligne est attendue.

Synthèse

La règle de continuation de ligne est la suivante : si une séquence (nouvelle ligne ou indentation) est précédée d’un signe qui ne peut indiquer la fin d’une ligne ou suivie d’un signe qui ne peut indiquer le début d’une ligne, alors la séquence (nouvelle ligne ou indentation) est entièrement ignorée. Par exemple, & n’est pas autorisé à la fin d’une ligne, il est donc possible d’aller à la ligne comme suit :
where ThisIsAVeryLongConditionExpression & 
      ThisIsAnotherVeryLongConditionExpression
  A = sum(B)

Cette syntaxe est plus compacte et préférable à celle qui utilise le symbole explicite de continuation :
where ThisIsAVeryLongConditionExpression & \
      ThisIsAnotherVeryLongConditionExpression
  A = sum(B)

De la même façon, if et at ne peuvent se trouver au début d’une ligne, il est donc possible d’écrire :
A = sum(B) by [Key, Key, Key]
           at [Key, Key, Key]
           if Condition

Signes de continuation

Seuls les signes qui ne peuvent se trouver en fin de ligne sont éligibles à la continuation de ligne. Ces signes sont les suivants :

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

Parallèlement, les signes de mots clés infixes qui ne peuvent se trouver en début de ligne sont les suivants :

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