Différences entre les versions de « Langage B »

36 octets ajoutés ,  il y a 6 mois
m
Robot : Remplacement de texte automatisé (-(<|</)source([ \t>]) +\1syntaxhighlight\2)
m (Robot : Remplacement de texte automatisé (-\n(==={0,3})(?: *)([^\n=]+)(?: *)\1(?: *)\n +\n\1 \2 \1\n))
m (Robot : Remplacement de texte automatisé (-(<|</)source([ \t>]) +\1syntaxhighlight\2))
 
== Première machine ==
La première machine que nous allons voir permet de décrire un programme qui permute la valeur de deux variables.
<sourcesyntaxhighlight lang=C>
MACHINE
swap
END
END
</syntaxhighlight>
</source>
Comme vous pouvez le voir les machines sont composées de plusieurs éléments. Le nom de la machine précédé du mot clef MACHINE (Tous les mots clefs doivent être écrit en majuscule). Ensuite le nom de la machine. Ensuite arrivent les variables de la machine. C'est l'unique façon en B de déclarer une variable. À ce stade la variable n’est pas typée encore. Le typage se fait dans la partie INVARIANT. Dans cette partie se déclarent toutes les propriétés qui doivent être vérifiable en tout point du programme.
Un Type se déclare donc de la manière suivante:
Et finalement nous en arrivons à la partie OPERATION. C'est dans cette section que sont définit les fonctions de notre machine.
Une opération se déclare de la façon suivante:
<sourcesyntaxhighlight lang="C">nomDeLOperation =
BEGIN
operation1||operation2
END</sourcesyntaxhighlight>
 
Dans notre cas on peut voir que les deux variables prennent chacune la valeur de l'autre. Ceci peut se faire en seulement deux lignes, opération sur place, grâce au fait que les opérations sont toutes en parallèle.
140 590

modifications