En formalisant ce qu'est un interpréteur, ce qu'est un processus, les schémas de circulation et référencement de l'information, et la topologie des entrées/sorties, on construit un langage de base, que l'on perfectionne par étapes successives, en introduisant à chaque fois un nouveau concept.
Le premier concept est l'algèbre libre, qui permet de piloter un système à l'aide d'un langage algébrique, adapté à l'utilisateur grace aux différentes syntaxe ; préfixe, postfixe, infixe et délimité.
Par exemple considérons l'algèbre libre engendré par <a,b,f(.),g(.,.)>. On doit pouvoir ajouter pour chaque opérateur :
Le second concept est l'algèbre multi-sorte qui permet d'enrichire la syntaxe en incorporant plusieurs langage algébrique, et donc plusieurs types, un type par langage algébrique.
Le troisième concept est celle de variable, consite à définir les variables
....
....
Il existe de nombreuses possibilités pour enrichire le langage et en faire un langage de programmation évoluée. Mais l'une d'entre-elles prédomine largement quasi-toutes. Elle consiste à ne peut se rétreindre aux seuls valeurs d'évaluation, mais à considérer des flux de valeurs manipulables comme des simples variables.
Pour les distinguer des paramètres simple valeur, on notes les flux en majuscule. Et, ils ont deux modes possibles, synchrone ou asynchrone.
Répondre sur Communauté Reddit