Top Qs
Chronologie
Chat
Contexte

Whitespace

langage de programmation De Wikipédia, l'encyclopédie libre

Whitespace
Remove ads

Le whitespace est un langage de programmation exotique diffusé le par Edwin Brady et Chris Morris de l'Université de Durham.

Faits en bref Date de première version, Auteur ...

Comme caractères, il utilise les espaces, les tabulations et les retours à la ligne pour générer un programme dont le code est invisible.

Remove ads

Histoire

Il s'agit plus d'une plaisanterie d'informaticiens (poisson d'avril) que d'un véritable langage de programmation opérationnel. Ce pseudo-langage, basé sur une pile, un peu comme le Forth (empiler et dépiler), est limité à quelques opérateurs simplistes et le minimum vital concernant les entrées/sorties.

L'idée d'utiliser des espaces blancs (espaces, tabulations) du C++ avait déjà été suggéré cinq ans auparavant par Bjarne Stroustrup[1]. Perl proposait dès 2001 le module Acme::Bleach pour programmer avec des espaces.

Remove ads

Syntaxe

Résumé
Contexte

Les commandes sont composées de séquences d'espaces, de tabulations et de sauts de ligne. Tous les autres caractères sont ignorés et servent donc aux commentaires.

Les nombres s'écrivent à l'aide d'un signe (espace pour positif, tabulation pour négatif), puis la valeur absolue en code binaire (l'espace pour le zéro, la tabulation pour le 1), puis se termine par un saut de ligne[2]. Ainsi espace-espace-espace-tabulation-espace-tabulation-tabulation-saut de ligne représente le nombre binaire 0001011, correspondant à 11 en décimal.

Chaque instruction démarre par un IMP (Instruction Modification Parameter) suivi par une commande spécifique à l'IMP, puis potentiellement un paramètre[3],[4].

Liste des IMP

Davantage d’informations IMP, Signification ...

Liste des instructions possibles

Davantage d’informations IMP, Commande ...
Remove ads

Exemples

Par exemple, tabulation-espace-espace-espace effectue l'ajout arithmétique des deux premiers éléments de la pile.

Hello world

Le programme suivant permet d'écrire « Hello world ».

Les lettres sont des commentaires, destinés à rendre lisible le code : S = espace ; T = tabulation ; L = ligne.

S S S T	S S T	S S S L
T	L
S S S S S T	T	S S T	S T	L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	S T	T	S S L
T	L
S S S S S T	S S S S S L
T	L
S S S S S T	T	T	S T	T	T	L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	T	T	S S T	S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S S T	S S L
T	L
S S S S S T	S S S S T	L
T	L
S S L
L
L

Intérêt

Même s'il s'agit d'une plaisanterie, l'étude du code peut se révéler profitable pour ceux ou celles qui se lanceraient dans l'écriture d'un interpréteur NPI (notation polonaise inversée) à la Forth[réf. souhaitée].

Notes et références

Liens externes

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads