Shakespeare Programming Language

Shakespeare Programming Language
Page d'aide sur l'homonymie Pour les articles homonymes, voir Shakespeare (homonymie).

Le Shakespeare Programming Language ou SPL est un langage de programmation créé par Karl Hasselström et Jon Åslund en février 2001 dont le code source ressemble à une pièce de théâtre. Il est inspiré de langages comme le Malbolge ou le Brainfuck et doit son nom au dramaturge anglais William Shakespeare[1].

Sommaire

Écrire un programme en SPL

Le développeur écrit son code source sous la forme d'une pièce de théâtre répondant aux conventions suivantes[2]:

  • Les premières lignes du programme forment le titre (jusqu'à ce qu'un point soit rencontré) et sont ignorées. Elles n'ont qu'un but esthétique et sont stricto sensu des commentaires.
  • Les lignes suivantes sont une liste des personnages de la pièce, chacun correspondant à une variable. Il n'existe qu'un seul type de variable, pouvant contenir un nombre entier signé (positif ou négatif). Toutes les variables doivent être déclarées. Seuls les noms de personnages de Shakespeare peuvent être utilisés (e.g. Romeo, Juliet, Hamlet, ...)
  • Le programme est un ensemble d'actes et en scènes, servant à la fois de découpage esthétique de la pièce et d'étiquette pour le parser. Chaque acte ou scène est annoncé par une ligne débutant par le mot Act ou Scene suivi d'un nombre romain, et éventuellement d'un titre qui sera considéré comme un commentaire (e.g. Scene I ou Act III : The tree revolution).
  • Chaque scène peut débuter par une entrée de personnages. Pour qu'une variable soit utilisée dans cette scène, il y a lieu de la faire monter sur les planches avant de pouvoir l'utiliser. Cette entrée se traduit par une ligne entre crochet sous la forme [Enter Romeo and Juliet].
  • Chaque scène peut de même se clore par une sortie des variables sous la forme d'une ligne comme [Exit Lady MacBeth] ou, s'il y a plusieurs variables, [Exeunt Achilles and Paris]. Si un personnage sort et entre ultérieurement, la variable ne conservera pas sa valeur précédente et sera réinitialisée.
  • Entre les lignes d'entrée et de sortie des personnages, viennent les répliques contenant les instructions du programme. Chaque réplique commence par un personnage (e.g. Ajax:) et une ou plusieurs phrases.
  • Sauf cas particulier énoncé ci-dessous, chaque phrase assignera une valeur. Chaque nom correspond à une constante 1 s'il est joli, -1 dans le cas contraire. Ainsi, flower, joy ou angel vaudront 1, tandis que devil, bastard ou death vaudront -1[3]. D'autres noms, plus neutres, comme tree vaudront également 1. Tout adjectif précédant un nom le multipliera par deux. Ainsi pour construire des nombres, il y a lieu généralement d'écrire une somme ou une différence de puissances de deux. Ainsi, the sum of a charming cute golden flower and the silly beggar assignera la valeur de 6 (2^3  \times  1  +  2  \times  -1).

Voir aussi

Articles connexes

Liens externes

Notes et références

  1. (en) Karl Hasselström, Jon Åslund, « Shakespeare Programming Language Design Goals » sur http://shakespearelang.sourceforge.net/. Mis en ligne le 21 août 2001, consulté le 2 février 2008
  2. (en) Karl Hasselström, Jon Åslund, « Hello World and other small softwares in SPL walkthrough » sur http://shakespearelang.sourceforge.net/. Mis en ligne le 21 août 2001, consulté le 2 février 2008
  3. Fichier source Shakespeare.pm disponible pour l'implémentation Perl Lingua::Shakespeare

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Shakespeare Programming Language de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Shakespeare (programming language) — The Shakespeare Programming Language (SPL) is an esoteric programming language designed by Jon Åslund and Karl Hasselström. [ [http://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html The Shakespeare Programming Language] ] Like …   Wikipedia

  • Shakespeare Programming Language — Die Shakespeare Programming Language (SPL) ist eine von Kalle Hasselström und Jon Åslund im Jahre 2001 entwickelte imperative esoterische Programmiersprache (Computersprache), welche in C realisiert wurde und zu den am schwersten erlernbaren… …   Deutsch Wikipedia

  • Esoteric programming language — An esoteric programming language (sometimes shortened to esolang) is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as a joke. There is usually no intention of the… …   Wikipedia

  • Shakespeare (disambiguation) — Shakespeare may refer to the following people: * William Shakespeare, the playwright * John Shakespeare, father of William * Susanna Shakespeare, daughter of William * Judith Shakespeare, younger daughter of William * Hamnet Shakespeare, son of… …   Wikipedia

  • Shakespeare (Begriffsklärung) — Shakespeare ist der Familienname folgender Personen: Nicholas Shakespeare (* 1957), britischer Journalist und Schriftsteller Robert Shakespeare (* 1953), jamaikanischer Musiker William Shakespeare (1564–1616), englischer Dramatiker William… …   Deutsch Wikipedia

  • Shakespeare (Programmiersprache) — Die Shakespeare Programming Language (SPL) ist eine von Kalle Hasselström und Jon Åslund im Jahre 2001 entwickelte imperative esoterische Programmiersprache (Computersprache), welche in C realisiert wurde und zu den interessantesten, aber auch am …   Deutsch Wikipedia

  • Shakespeare — William Shakespeare William Shakespeare William Shakespeare. Activité(s) dramaturge, poète Naissance …   Wikipédia en Français

  • Shakespeare (homonymie) — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sommaire 1 Patronymes 2 Œuvres 3 …   Wikipédia en Français

  • Weird Programming — Esoterische Programmiersprachen sind Programmiersprachen, die nicht für den praktischen Einsatz entwickelt wurden, sondern ungewöhnliche Sprachkonzepte umsetzen. Eine einfache Bedienung ist selten, teilweise werden Sprachen konzipiert, um… …   Deutsch Wikipedia

  • William Shakespeare — Pour les articles homonymes, voir Shakespeare (homonymie). William Shakespeare Will …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”