Thue (langage)

Thue (langage)

Thue est un langage de programmation exotique inventé par John Colagioia au début des années 2000. Il s'agit d'un méta-langage permettant la définition et la reconnaissance de langages de type 0 dans la hiérarchie de Chomsky. Thue est basé sur système de réécriture non-déterministe appelé semi-Thue grammar, dont le nom est lui-même tiré du nom du mathématicien norvégien Axel Thue. L'inspiration vient également de grue.

Sommaire

Règles de Production

Un programme Thue commence par des règles de substitution de la forme lhs ::= rhs

Des règles successives peuvent être ajoutées. L'ensemble des règles de base termine par une ligne contenant une règle vide. L'état initial est une série de symboles spécifiée à la fin du programme après l'ensemble des règles de substitution.

Thue consomme les symboles initiaux et substitue les résultats des règles pour chacun des symboles de l'état initial.

Thue termine quand lhs ne peut plus être substitué à l'aide des règles.

Syntaxe

  • ::= se prononce peut être.
  • lhs est "partie gauche" (left hand side).
  • rhs est "partie droite" (right hand side).
  • ::= ne peut jamais être dans la partie gauche d'une règle (lhs).
  • ::: est un flux d'entrée, substitué par ce qui a été lu.
  • ~ est un flux de sortie permettant d'afficher le texte qui le suit.

Appel à Thue

L'interpréteur peut être appelé avec différentes options :

Option 'd' (debug)
Afficher l'état.
Option 'l' (left side)
Appliquer les règles de gauche à droite (left-to-right).
Option 'r' (right side)
Appliquer les règles de droite à gauche (right-to-left).

Seule la dernière option 'l' ou 'r' est prise en compte.

Exemples de Programmes

Le traditionnel "Hello World!" en Thue:

a::=~Hello World!
::=
a

Le programme suivant incrémente un nombre binaire entré comme état initial, encadré du caractère "_", ici le nombre 1111111111:

1_::=1++
0_::=1

01++::=10
11++::=1++0

_0::=_
_1++::=10

::=

_1111111111_

Le programme suivant permet d'exposer le caractère non-déterministe du Thue. La sortie du programme est un ensemble de bits dans un ordre non défini.

b::=~0
b::=~1
ac::=abc
::=
abc

Liens externes


Wikimedia Foundation. 2010.

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

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Langage De Programmation Exotique — Un langage de programmation exotique est un langage de programmation imaginé comme un test des limites de la création de langages de programmation, un exercice intellectuel ou encore une blague, sans aucune intention de créer un langage… …   Wikipédia en Français

  • Langage de programmation ésotérique — Langage de programmation exotique Un langage de programmation exotique est un langage de programmation imaginé comme un test des limites de la création de langages de programmation, un exercice intellectuel ou encore une blague, sans aucune… …   Wikipédia en Français

  • Langage de programmation exotique — Un langage de programmation exotique est un langage de programmation imaginé comme un test des limites de la création de langages de programmation, un exercice intellectuel ou encore une blague, sans aucune intention de créer un langage… …   Wikipédia en Français

  • Thue — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Axel Thue est un mathématicien norvégien. Le Thue est un langage de programmation exotique. La Thue est une rivière du Calvados Catégorie : Homonymie …   Wikipédia en Français

  • Axel Thue — (19 février 1863 7 mars 1922) est un mathématicien norvégien. En 1909, il publia un article important avec le théorème suivant, essentiel pour l étude des équations diophantiennes : Théorème Si f(x;y) est un polynôme homogène à coefficients… …   Wikipédia en Français

  • Projet:Mathématiques/Liste des articles de mathématiques — Cette page n est plus mise à jour depuis l arrêt de DumZiBoT. Pour demander sa remise en service, faire une requête sur WP:RBOT Cette page recense les articles relatifs aux mathématiques, qui sont liés aux portails de mathématiques, géométrie ou… …   Wikipédia en Français

  • Combinatoire des mots — Construction de la suite de Prouhet Thue Morse. La combinatoire des mots est une branche des mathématiques et de l informatique théorique qui applique l analyse combinatoire aux mots finis ou infinis. Cette branche s est développée à partir de… …   Wikipédia en Français

  • Liste des articles de mathematiques — Projet:Mathématiques/Liste des articles de mathématiques Cette page recense les articles relatifs aux mathématiques, qui sont liés aux portails de mathématiques, géométrie ou probabilités et statistiques via l un des trois bandeaux suivants  …   Wikipédia en Français

  • LOGIQUE MATHÉMATIQUE — La logique au sens étroit du terme, c’est à dire la logique formelle par opposition à l’épistémologie ou à la théorie de la connaissance, se propose de donner une théorie de l’inférence formellement valide. Elle considère comme valide toute… …   Encyclopédie Universelle

  • Automate fini — Pour les articles homonymes, voir Automate. Fig. 1 : Automate fini reconnaissant les écritures binaires des multiples de 3. Un automate fini (on dit parfois, par une traduction littér …   Wikipédia en Français

Share the article and excerpts

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