ressources pour Thue | 2003-08-08 [ EN | FR ] |
IntroductionThue est un langage de programmation ésotérique inventé par John Colagiola en 2000. Les pages web sur Thue ont tendance à ce faire rares ces temps-ci, donc j'inclue des copies de ce que j'ai trouvé sur le web avant que les pages disparaissent. DescriptionVoici une description sommaire du langage. Se référer au manuel de référence inclus dans la distribution d'origine pour plus de détails. Un programme en Thue contient deux parties : la base de règles, et l'état initial des données. La base de règles est une liste de règles exprimées sous la forme : <partie-gauche>::=<partie-droite> où les parties gauche et droite sont des chaînes de caractères. La ligne ::= sépare la base de règle de l'état initial. L'état initial est une chaîne de caractères constitué de la concaténation de toutes les lignes suivantes (en excluant les caractères de retour à la ligne). Lors de l'exécution, Thue prend régulièrement au hasard une règle don la partie de gauche est incluse dans l'état courant, et remplace dans l'état courant la partie gauche par la partie droite. Le programme s'arrête lorsqu'il n'y a plus aucune règle qui puisse s'exécuter. Entrées/sortiesLes primitives d'entrée/sortie sont :
Retours à la ligneLe manuel de référence de Thue n'est pas très clair au sujet des retours à la ligne dans les entrées sorties. Les implémentations existantes émettent un retour à la ligne après l'exécution de chaque règle de sortie. Malheureusement cela empêche d'écrire en thue des programmes qui auraient besoin d'un meilleur contrôle sur leur sortie (comme par exemple les programmes auto-reproducteurs qui émettent exactement leur propre code source). Je propose une variante de Thue où :
Avec cette convention, on peut écrire en Thue de chouettes programmes comme des quines ou bien 99 bouteilles de bière. TéléchargementRécupéré sur Internet
Fait maisonTous les programmes ci-dessous adoptent la variante sur les retours à la ligne décrite ci-dessus.
Liens
| |
[Accueil] Contenu Quoi de neuf [STonC] STonC Copies d'écran [Programmation ésotérique] Thue [Minix] Minix [Divers] Divers |
|
(C) 2003 - Laurent VOGEL<lvl@club-internet.fr>
|