Récursivité gauche

Récursivité gauche

La récursivité gauche est un type de récursivité.

Une grammaire formelle est dite récursive gauche si elle s’écrit sous la forme suivante :

      E → E v     tel que v ne commence pas par E.

Sommaire

Pourquoi l’éliminer ?

Il est évident que si on imagine une règle :

      E → E a b

Nous voyons tout de suite que dans une dérivation gauche nous allons entrer dans une boucle infinie :

      E → E a b → E a b a b → E a b a b a b…

L’analyse descendante va donc nécessiter l’élimination (si c’est possible) de la récursivité gauche.

Comment l’éliminer ?

Pour trouver une grammaire non récursive équivalente à une autre qui l’est, nous utilisons les règles suivantes :

• E → E a | b    se transforme en :
         E → β E’
         E’→ α E’ | Ɛ

Exemples

Exemple 1

La grammaire récursive gauche suivante :

   E → E + T | T
   T → T * F | F
   F → (E) | id

se transforme en appliquant la règle ci-dessus en :

   E → T E’
   E’→ +T E’ | Ɛ
   T → F T’
   T’→ *F T’ | Ɛ
   F → (E) | id

Ainsi nous obtenons une grammaire non récursive gauche et par conséquent nous pouvons appliquer une analyse descendante sur celle-ci.

Exemple 2

Soit la grammaire suivante :

   E → E a | b   où a et b ne commencent pas par E.

L’arbre de dérivation correspondant est :



En réécrivant cette grammaire sans récursivité à l’aide des règles énoncées ci-dessus nous obtenons :

   E → β E’
   E’→ α E’ | Ɛ

Ce qui donne l’arbre de dérivation suivant qui montre que l’on garde le même effet :

Voir aussi

Articles connexes


Wikimedia Foundation. 2010.

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

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • RÉCURSIVITÉ (linguistique) — RÉCURSIVITÉ, linguistique Est dit récursif, dans la linguistique générative, tout élément qui présente la propriété de se reproduire dans l’algorithme d’une structure de phrase à la fois comme constituant et comme constitué, c’est à dire à droite …   Encyclopédie Universelle

  • récursif — récursif, ive [ rekyrsif, iv ] adj. • v. 1968; angl. recursive; cf. récurrent ♦ Didact. Qui peut être répété un nombre indéfini de fois par l application de la même règle. Élément récursif dans une règle de réécriture (ling.). Processus récursif …   Encyclopédie Universelle

  • Grammaire L-attribuée — Une grammaire L attribuée est un type spécial de grammaire attribuée qui permet aux attributs d être évalués dans une traversée de droite à gauche de l arbre syntaxique. Cela permet à l évaluation des attributs d être facilement incorporée dans… …   Wikipédia en Français

  • Objective Caml — Apparu en 1987 (CAML), 1996 (OCaml) Développeur INRIA Dernière version stable 3.11.1 (le 12  …   Wikipédia en Français

  • Ocaml — Objective Caml Apparu en 1987 (CAML), 1996 (OCaml) Développeur INRIA Dernière version stable 3.11.1 (le 12  …   Wikipédia en Français

  • O’Caml — Objective Caml Apparu en 1987 (CAML), 1996 (OCaml) Développeur INRIA Dernière version stable 3.11.1 (le 12  …   Wikipédia en Français

  • OCaml — Objective Caml Apparu en 1987 (CAML), 1996 (OCaml) Développeur INRIA Dernière version stable …   Wikipédia en Français

  • Qsort — Tri rapide Le tri rapide (en anglais quicksort) est une méthode de tri inventée par C.A.R. Hoare en 1961 et fondée sur la méthode de conception diviser pour régner. Il peut être implémenté sur un tableau (tri sur place) ou sur des listes ;… …   Wikipédia en Français

  • Quicksort — Tri rapide Le tri rapide (en anglais quicksort) est une méthode de tri inventée par C.A.R. Hoare en 1961 et fondée sur la méthode de conception diviser pour régner. Il peut être implémenté sur un tableau (tri sur place) ou sur des listes ;… …   Wikipédia en Français

  • Algorithme diviser pour régner — Diviser pour régner (informatique) Pour les articles homonymes, voir Diviser pour régner. Diviser pour régner est une technique algorithmique consistant à diviser un problème de grande taille en plusieurs sous problèmes analogues. L étape de… …   Wikipédia en Français

Share the article and excerpts

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