INTERCAL - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Dialectes

L'INTERCAL Woods–Lyon original était très limité dans ses capacités d'entrée/sortie : les seules entrées acceptables étaient des nombres épelés en toutes lettres, et la seule sortie possible était une version étendue des chiffres romains. Un peu plus tard, il y eut une 'implémentation Atari', au sujet de laquelle des notes sont fournies dans le manuel de référence d'INTERCAL ; elle "diffère de la version originelle de Princeton principalement dans l'utilisation de l'ASCII plutôt que de l'EBCDIC'.

La réimplémentation C-INTERCAL, disponible sur Internet, a rendu le langage plus populaire parmi les dévots de la programmation ésotérique. Le dialecte C-INTERCAL possède quelques différences par-rapport à l'INTERCAL original et introduit quelques nouvelles fonctionnalités, comme une commande COME FROM ("arrive de") et un moyen de réaliser de l'E/S de texte basé sur le Modèle de Texte de Turing.

Les auteurs du C-INTERCAL ont également créé la variante TriINTERCAL, basée sur le système trinaire et en généralisant les jeux d'opérateurs d'INTERCAL.

Une variante plus récente est Threaded Intercal, qui étend la fonctionnalité de COME FROM pour supporter le multithreading.

Abandonnez toute santé d'esprit

Dans l'article "A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics", INTERCAL est décrit sous le titre "Abandonnez toute santé d'esprit, vous qui entrez ici: INTERCAL". Le compilateur et la stratégie de commentaire sont parmi les fonctionnalités "étranges" décrites :

«  Le compilateur, adéquatement nommé "ick," continue la parodie. Tout ce que le compilateur ne peut pas comprendre, ce qui dans un langage de compilation normal résulterait en une erreur de compilation, est simplement ignoré. Cette fonctionnalité de "pardon" rend le fait de trouver des bugs très difficile ; elle introduit aussi un système unique d'ajout de commentaires de programme. Le programmeur n'a en gros qu'à insérer du texte non compilable n'importe où dans le programme, en faisant attention à ne pas inclure accidentellement une portion de code valide au milieu de son commentaire. »

Hello, world

Le programme "Hello, world!" traditionnel démontre combien INTERCAL est différent des langages de programmation standard. En C, il ressemble à ceci :

      #include             int main()      {          puts("Hello, world!");          return 0;      }      

Le programme équivalent en C-INTERCAL est plus long et plus difficile à lire:

      DO ,1 <- #13      PLEASE DO ,1 SUB #1 <- #238      DO ,1 SUB #2 <- #108      DO ,1 SUB #3 <- #112      DO ,1 SUB #4 <- #0      DO ,1 SUB #5 <- #64      DO ,1 SUB #6 <- #194      DO ,1 SUB #7 <- #48      PLEASE DO ,1 SUB #8 <- #22      DO ,1 SUB #9 <- #248      DO ,1 SUB #10 <- #168      DO ,1 SUB #11 <- #24      DO ,1 SUB #12 <- #16      DO ,1 SUB #13 <- #162      PLEASE READ OUT ,1      PLEASE GIVE UP      

En INTERCAL-72, le programme équivalent n'est pas possible étant donné que cette version du langage ne peut produire de sortie qu'en chiffres romains.

Page générée en 0.093 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise