La puissance est un opérateur associatif à droite. Cela signifie que l'expression 2^2^3 est égal à 2^(2^3) et non pas à (2^2)^3 À savoir pour lire ce billet : nb est un nombre id est un identificateur epsilon est la production vide La grammaire Soit F un facteur dans une expression: Code : Sélectionner tout - Visualiser dans une fenêtre à part 1234F -> nb F -> id F -> ( F ) F -> - F (moins unaire) Comme l'exponentiation est prioritaire par rapport aux autres ...
F -> nb F -> id F -> ( F ) F -> - F (moins unaire)
Mis à jour 02/08/2026 à 03h11 par emmesse
Je vais vous parler ici de la fusion de deux listes en une seule dans une grammaire LL. Voici une grammaire LL pour une liste de 'd' séparés d'un 'sep', sachant que epsilon est la production vide Code : Sélectionner tout - Visualiser dans une fenêtre à part 123C -> d Cprim Cprim -> sep d Cprim -> epsilon Idem pour une liste S de 'i' séparés par le même séparateur 'sep' Code : Sélectionner tout - Visualiser dans une fenêtre à part 123S -> i Sprim Sprim -> sep i Sprim -> epsilon Si on veut une liste éventuelle de 'd' puis une ...
C -> d Cprim Cprim -> sep d Cprim -> epsilon
S -> i Sprim Sprim -> sep i Sprim -> epsilon
Mis à jour 23/02/2024 à 10h34 par emmesse
Bonjour, j'ai voulu savoir comment on fait une méthode polymorphe avec shared_ptr, mais je n'ai pas trouvé mon bonheur. J'ai donc dû expérimenter diverse technique, infructueuses. Alors voici mes conclusions: Voici deux classe B et C qui héritent d'une classe A, avec, dans celle-ci, une méthode virtuelle pure (évidement, on est pas obligé de rendre la classe A abstraite) : classes.hpp Code : Sélectionner tout - Visualiser dans une fenêtre à part 1234 class A{ public: virtual void quelObjet()=0; ...
class A{ public: virtual void quelObjet()=0;
Mis à jour 15/03/2021 à 15h17 par emmesse
bonjour, Nous allons voir ici une grammaire hors-contexte LL d'une liste où C apparraît au plus une fois. On a le non-terminal A qui est une liste B avec un C qui apparaît zéro ou une fois. Ici, le point virgule n'est pas la fin de ligne de code mais la séquentialité entre deux lignes Code : Sélectionner tout - Visualiser dans une fenêtre à part 12345A -> B A -> B ; C A -> C ; B A -> B ; C ; B A -> C en factorisant à gauche (EPSILON est la production vide): Code : Sélectionner tout - Visualiser dans une fenêtre à part A -> B X ...
A -> B A -> B ; C A -> C ; B A -> B ; C ; B A -> C
A -> B X
Mis à jour 26/05/2021 à 03h27 par emmesse
nous allons voir ici la suppression des epsilon-productions Soit le non-terminal N pouvant prendre la forme d'une production vide: Code : Sélectionner tout - Visualiser dans une fenêtre à part N -> c1 | c2 | c3 ... | ck | epsilon on dit que N est annulable. lorsque N est présent dans une production, on a les trois cas suivants: premier cas Code : Sélectionner tout - Visualiser dans une fenêtre à part A -> a N b dans ce cas, on supprime les epsilon-production en réécrivant A ainsi; Code : Sélectionner tout - Visualiser dans une fenêtre à part 123A->a c1 b ->a c2 b ->a c3 b ...
N -> c1 | c2 | c3 ... | ck | epsilon
A -> a N b
A->a c1 b ->a c2 b ->a c3 b
Mis à jour 15/03/2021 à 15h05 par emmesse