Langage

De Gruntnetwork
Aller à la navigationAller à la recherche

gruntnetwork utilise de manière interne un langage de programmation graphique, qui se présente de la manière suivante :

  • Les fonctions sont représentées par des blocs
  • Les blocs possèdent des ports d'entrée (paramètres de la fonction) et de sortie (valeurs de sortie)
  • Un bloc n'est pas caractérisé par son nom, mais par un identifiant interne, donc pas de conflits de nommage
  • Les ports ont des conditions sur leurs valeurs (type, intervalle de valeurs, …)
  • Les ports peuvent (devraient) avoir une valeur par défaut
  • Les ports ont un nom et une description associée
  • Les blocs sont reliés entre eux en connectant leurs ports
  • Un port de sortie peut être connecté à plusieurs ports d'entrée, la valeur de sortie étant conservée en mémoire tant qu'elle est nécessaire (ceci est l'équivalent d'un let en scheme, ou d'une variable locale)
  • Un bloc est composé d'autres blocs dont certains ports sont connectés aux ports du bloc englobant.

Il y a une certaine analogie entre les blocs et des circuits éléctroniques : l'information circule au travers des connexions et est modifiée par les blocs. Un bloc effectue une tâche définie, et peut être vu comme un composant électronique : on n'a pas besoin de voir à l'intérieur pour l'utiliser.

Le langage s'écrit au travers d'une interface de recherche, qui permet de sélectionner le bon bloc parmi plusieurs homonymes s'il y en a.