« Programmation Scheme/Syntaxe de base » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
TouzaxA (discussion | contributions)
mAucun résumé des modifications
Ligne 12 : Ligne 12 :
Un identifiant peut être composé des caractères suivants :
Un identifiant peut être composé des caractères suivants :
* lettres minuscules ou capitales ; Scheme n'est pas sensible à la casse pour les identifiants ;
* lettres minuscules ou capitales ; Scheme n'est pas sensible à la casse pour les identifiants ;
* chiffre ;
* chiffres ;
* caractères : <code>? ! . + - * / < = > : $ % ^ & _ ~ @</code> ;
* caractères : <code>? ! . + - * / < = > : $ % ^ & _ ~ @</code> ;
mais il ne peuvent pas commencer par un chiffre ni par un signe « <code>@</code> », « <code>.</code> » « <code>+</code> » et « <code>-</code> ».
mais il ne peuvent pas commencer par un chiffre ni par un signe « <code>@</code> », « <code>.</code> » « <code>+</code> » et « <code>-</code> ».

Version du 25 mars 2013 à 03:38

Un programme Scheme est fait de :

  • mots-clefs,
  • variables,
  • formules structurées,
  • constantes (nombres, caractères, chaînes, vecteurs, listes, symboles…),
  • espaces, et
  • commentaires.

Les variables, symboles et mots-clefs sont appelés « identifiants ».

Identifiants

Un identifiant peut être composé des caractères suivants :

  • lettres minuscules ou capitales ; Scheme n'est pas sensible à la casse pour les identifiants ;
  • chiffres ;
  • caractères : ? ! . + - * / < = > : $ % ^ & _ ~ @ ;

mais il ne peuvent pas commencer par un chiffre ni par un signe « @ », « . » « + » et « - ».

Les identifiants sont séparés par des espaces, des parenthèses ou des guillemets anglais « " ».

Nombres

Un nombre est écrit de manière habituelle ; le séparateur décimal est le point. Pour les puissances de 10, on utilise le symbole e : 5·103 s'écrit 5e3. Les nombres rationnels peuvent être écrits comme des fractions, par exemple 1/3.

Les nombres complexes peuvent être écrits en notation « rectagulaire » (par exemple 1.2+3.4i) ou polaire (par exemple 1,2·ei 3,4 s'écrit 1.2@3.4). Un imaginaire pur a·i se note toujours 0+ai ; par exemple, i se note 0+1i.

Les valeurs booléennes sont notées #t pour « vrai » (true) et #f pour « faux » (false).

Autres types

Les caractères seuls doivent être précédés d'un croisillon[1] et d'une barre de fraction inversée « #\ », afin de les distinguer des identifiants. Une chaîne de caractères est simplement mise entre deux guillemets anglais « "…" ».

Un vecteur est introduit par un croisillon suivi d'une parenthèse ouvrante « #( », et se termine par une parenthèse fermante « ) ».

Les formules structurées et les listes de constantes sont mises entre parenthèses « (…) ». La liste vide est notée « () ».

Un commentaire est introduit par un point-virgule « ; » et se termine à la fin de la ligne. Il est d'usage d'utiliser plusieurs points-virgule pour indenter les commentaires, c'est-à-dire les décaler vers la droite et ainsi marquer la correspondance avec l'indentation du reste du code.

Mots-clefs

Les mots-clefs — c'est-à-dire les noms des opérations primitives, des fonctions prédéfinies — sont des identifiants. Ils sont composés de manière systématique.

Les prédicats (renvoyant des valeurs booléennes) se terminent par un point d'interrogation (par exemple eq?). Les prédicats sur les types de variable sont composés du nom du type suivi du point d'interrogation.

La plupart des procédure s'appliquant aux caractères, chaînes de caractère et vecteurs commencent respectivement par char-, string- et vector-. Les procédures qui convertissent un type en un autre sont de la forme type1->type2.

Les procédures dont la fin a des « effets de bord » se terminent par un point d'exclamation « ! ».

Notes

  1. le croisillon « # » est souvent appelé à tort « dièse », mais le dièse est différent : «  »

Introduction < > Grammaire de base