Rechercher un outil
Langage Whitespace

Outil pour décoder/code en whitespace, un langage de programmation exotique qui n'utilise que des caractères blancs/invisibles comme espace, tabulation ou retour à la ligne.

Résultats

Langage Whitespace -

Catégorie(s) : Langage de Programmation

Partager
Partager
dCode et plus

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Langage Whitespace' gratuit ! Merci !

Langage Whitespace

Interpréter/Exécuter du code Whitespace


  [X]



Voir aussi : Brainfuck

Coder du texte avec Whitespace

 


Voir aussi : Javascript

Réponses aux Questions (FAQ)

Qu'est ce que le langage Whitespace ? (Définition)

Le langage de programmation Whitespace tire son nom du fait qu'il utilise uniquement les 3 caractères blancs : espace, tabulation et retour à la ligne. Le code source des programmes écrits en Whitespace sont donc invisibles.

Afin de rendre le code visible, il est courant d'utiliser 3 caractères : S pour espace (Space), T pour tabulation (Tab), et L pour nouvelle ligne (Line feed).

Tout les caractères visibles sont ignorés par le programme et peuvent servir de commentaire (ou pour attirer l'attention). C'est exactement le fonctionnement inverse de la plupart des langages de programmation ou espaces sont généralement ignorés.

Comment coder en Whitespace ?

Le whitespace utilise une pile, un tas (heap) ainsi que des instructions structurées, qui commencent par un IMP (Instruction Modification Parameter) parmi 5 possibles : S (espace) modifie la pile, TS (tab+espace) réalise un calcul, TT (tab+tab) accède au tas (heap) L (saut de ligne) gère les goto/jump du programme et TL (tab+saut de ligne) gère les entrées/sorties.

La liste complète des 22 instructions du Whitespace :

IMP+CommandeParamètreDescription
S SNombreEmpile le nombre
S LSCopie le haut de la pile
S LTInverse les deux éléments du haut de la pile
S LLEnlève le haut de la pile
TS SSAddition
TS STSoustraction
TS SLMultiplication
TS TSDivision (entière)
TS TTModulo
TT SEnregistre dans le tas
TT TRécupère le tas
L SSLabelCréé un label dans le programme
L STLabelAppel du label
L SLLabelJump vers le label
L TSLabelJump vers le label si le haut de la pile est 0
L TTLabelJump vers le label si le haut de la pile est < 0
L TLFin de la subroutine, et retour
L LLFin du programme
TL SSAffiche le haut de la pile comme un caractère ASCII
TL STAffiche le haut de la pile comme un nombre entier
TL TSLit un caractère et l'enregistre à l'adresse décrite par le haut de la pile
TL TTLit un nombre et l'enregistre à l'adresse décrite par le haut de la pile

Les nombres respectent une syntaxe propre: signe + valeurs absolue en binaire + saut de ligne. Le signe est S (espace) pour positif ou T (tabulation) pour négatif. La valeur du nombre s'écrit en binaire avec S (espace) pour 0 et T (tabulation) pour 1.

Exemple : Le nombre +100 est positif (codé S) et a pour valeur binaire 1100100 (codé TTSSTSS), donc il se code S TTSSTSS L

Exemple : SS STTSSTSSL TLSS correspond à l'instruction empile le nombre 100 et affiche le sous forme de caractère ASCII, le programme affiche donc d.

Comment décoder du Whitespace ?

L'interprétation du White-space correspond à la lecture et l'application des instructions codées.

Sur dCode, il est possible de lire un fichier (généralement avec l'extension .ws) ou de copier-coller un programme (attention à ne pas rajouter un espace ou un retour à la ligne involontairement car celà pourrait causer des erreurs)

L'exécution se fait dans le navigateur, avec JavaScript.

dCode utilise WS2JS, un intrepréteur Javascript par Luilak (MIT License) ici

Comment reconnaitre le Whitespace ?

Le message est invisible, composé uniquement d'espace, de tabulations et de retour à la ligne.

Parfois, les caractères S, T et C accompagnent le code.

Il est possible d'accompagner le code de n'importe quel texte (caractères visibles uniquement) sans l'affecter, c'est donc une excellente méthode de stéganographie.

Pourquoi avoir créé le Whitespace ?

Le langage Whitespace a été conçu comme un langage de programmation ésotérique, ce qui signifie qu'il n'est pas destiné à être utilisé comme un outil pratique, mais plutôt comme un moyen de défier et d'amuser les programmeurs.

Quand Whitespace a-t-il été inventé ?

Whitespace a été décrit le 1er avril 2003 par Edwin Brady et Chris Morris (présenté comme un poisson d'avril) à l'Université de Durham.

Code source

dCode se réserve la propriété du code source pour "Langage Whitespace". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Langage Whitespace", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Langage Whitespace" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Langage Whitespace" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.

Citation

Le copier-coller de la page "Langage Whitespace" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous citez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Langage Whitespace sur dCode.fr [site web en ligne], consulté le 04/05/2024, https://www.dcode.fr/langage-whitespace

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Langage Whitespace' gratuit ! Merci !


https://www.dcode.fr/langage-whitespace
© 2024 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches / CTF.
 
Un problème ?