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 ? Ecrire à dCode !


Rendez-vous sur notre communauté Discord pour participer au forum d'entraide !


Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Langage Whitespace', alors écrivez-nous c'est gratuit ! Merci !

Langage Whitespace

Interpréter/Exécuter du code Whitespace


  [X]



Voir aussi : Brainfuck

Coder du texte avec Whitespace




Voir aussi : Javascript

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éponses aux Questions

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).

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.

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.

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 de l'outil 'Langage Whitespace' en ligne. Sauf code licence open source explicite (indiqué CC / Creative Commons / gratuit), tout algorithme, applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction (convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codé en langage informatique (PHP, Java, C#, Python, Javascript, Matlab, etc.) aucune donnée, script ou accès API ne sera cédé gratuitement, idem pour télécharger Langage Whitespace pour un usage hors ligne, PC, tablette, appli iPhone ou Android !

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord pour participer au forum d'entraide !

Questions / Commentaires

Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Langage Whitespace', alors écrivez-nous c'est gratuit ! Merci !


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