Expressions logiques Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Structures de données avancées : Principales structures de fichiers
Structures de données avancées : Principales structures de données
Structures de données avancées : MBT ( Multidimensional B-trees )
Structures de données avancées : MTH ( Multidimensional trie hashing )
Structures de données avancées : Introduction
Traitement sémantique et grammaire dattributs Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)
Le langage Z Pr ZEGOUR DJAMEL EDDINE
Machines de Turing Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI)
Sémantique des déclarations pour le langage Z minimal
Algorithmique Résume.
C.
Introduction à la minimisation logique
Introduction : Compilation et Traduction
Les bases de l’Algorithmique
Cours algorithme 2 S. Tabbone.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Introduction : Compilation et Traduction
Les éléments de base de l’algorithmique
Programmation logique Logique des prédicats du premier ordre
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Addition vectorielle de vecteurs
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000
Principes de programmation
Expressions et affectations
Séance d’introduction
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
Structures de données IFT-2000
Types de données fondamentaux
Jacques Nicolas INRIA /IRISA Rennes
Structures de données avancées : Arbres AVL & Arbres Rouge et Noir
Structures de données avancées : Hachage dynamique
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
2.1 - Historique Chapitre 2 : Introduction au langage C++
Le langage C Rappel Pointeurs & Allocation de mémoire.
Joan S. Morales - Introduction à l'algo. et la programmation 1 3. Expressions logiques et répétitives –Les expressions logiques –La répétitive –La variante.
Structures complexes Pr ZEGOUR DJAMEL EDDINE
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Procédures et fonctions Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Listes linéaires chaînées Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Sémantique des expressions arithmétiques pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Tables de compilation pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
L’analyse lexicale Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Arbres AA
Structures de contrôle Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Interprétation/Génération de code pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Expressions sur les chaînes de caractères Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Fonctions standards Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
UE MAREP Cours 1 : Algèbre de Boole et entiers naturels
Module algorithmique et programmation
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) C O M P I L Z.
COMPIL - Z Compilateur visible
Fichiers Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Objets et Actions Élémentaires.
Organisation de la mémoire pour le langage minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Algorithmique et programmation
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
Transcription de la présentation:

Expressions logiques Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)

Sémantique des expressions logiques: Introduction Les expressions logiques sont traitées de la même façon que les expressions arithmétiques Ou est considéré comme + et – Et est considéré comme * et / Objectif : découper l’expression en opérations élémentaires. (Expression devient un programme) Il s’agit de générer les quadruplés. Il s’agit d’insérer Les fonctions sémantiques quelque part dans les règles syntaxiques. Aucune optimisation n’est considérée

Sémantique des expressions logiques : Quadruplés Opérateurs binaires : Oper= Op || Type, Op dans {Ou, Et } et Type = ‘B’ pour Booléen B, C : pointeurs dans TABOB vers les opérandes D : pointeur dans TABOB sur l’objet qui va contenir le résultat Opérateurs unaires : Oper dans {Non} B : pointeur dans TABOB vers l’opérande C : non utilisé D : pointeur dans TABOB sur l’objet qui va contenir le résultat (Oper, B, C, D )

Expressions logiques : Déclarations Sep dans {:, Un, Une, Des} Cste désigne une constante numérique entière Idf désigne un identificateur Opr dans {, >=, =, <> } Opa dans { +, -, } Opm dans { *, /, } Sign dans {+, -} Ou Et

Expressions logiques : Déclarations  [ ~Soit|Soient~ ] Debut Fin [;]  ;{ [~Soit|Soient~] ;}*  [Sep ]  Idf {, Idf}*  Entier | Booleen

Expressions logiques : Instructions  { ; }*  Idf := | Lire ( Idf {, Idf }* ) | Ecrire ( {, }* ) |

Expressions logiques : Expressions  [ Opr ]  [Sign] { Opa }*  {Opm }*  Idf | Cste | ( ) | Non | Vrai | Faux

Sémantique des expressions logiques : déclaration des variables booléennes Pour chaque Identificateur déclaré comme BOOLEEN : - Le mettre dans la table des symboles -Lui attribuer une adresse relative et le mettre dans la table des objets (soit Pt son emplacement) -Générer le quadruplé (‘DB’, Pt,, )

Sémantique des expressions logiques : Fonctions sémantiques  [ Opr ]  { Opa }*  {Opm }*  Idf | Cste | ( ) Non | Vrai | Faux F1 F2 F5F4 F6 F7F8 F3 Opm=‘ET’ Opa=‘OU’

Sémantique des expressions logiques : Fonctions sémantiques F1 F2 Vérifier que l’identificateur Idf est déclaré, sinon Erreur. Soit Pt1 son emplacement dans TABOB. Retourner (Pt1) Générer une variable temporaire dans TABOB. Soit Ptx son emplacement dans TABOB.Générer le quadruplet (‘Non’, pt1,, Ptx). Retourner (Ptx).  Idf | Cste | ( ) Non | ~Vrai | Faux~ F1 F2F3 Si la constante n’existe pas la mettre dans TABCONS et TABOB. Soit Pt1 son emplacement dans TABOB. Retourner (Pt1)

Sémantique des expressions logiques : Fonctions sémantiques F4 Sauvegarder l’opérateur dans une variable Op et le résultat de dans Temp1 (emplacement dans TABOB) F5 Récupérer le résultat de dans Temp2 (emplacement dans TABOB). Vérifier l’incompatibilité des types de Temp1 et Temp2. Générer une variable temporaire dans TABOB. Soit Ptx son emplacement dans TABOB.Générer le quadruplet (Op, Temp1, Temp2, Ptx). Retourner (Ptx).  {Opm }* F4F5

Sémantique des expressions logiques : Fonctions sémantiques F6 Sauvegarder le résultat de dans Temp1 (emplacement dans TABOB). Retourner (Temp1)  F6

Sémantique des expressions logiques : Fonctions sémantiques F7 Sauvegarder l’opérateur dans une variable Op Récupérer le résultat de dans Temp2 (emplacement dans TABOB). Vérifier l’incompatibilité des types de Temp1 et Temp2. Générer une variable temporaire dans TABOB. Soit Ptx son emplacement dans TABOB.Générer le quadruplet (Op, Temp1, Temp2, Ptx). Retourner (Ptx). F8 (suite) { Opa }* F7F8

Sémantique des expressions logiques : Exemple soit a, b, c des booleens; debut a:=faux;b:=vrai;c:= faux; ecrire( non(a ou b) et c) fin ‘Faux’ ‘Vrai’ TABCONS 0 1 En fin de compilation, programme source = table des quadruplés + TABOB + TABCONS + LONGZDD ‘L’‘B’0 ‘L’‘B’1 ‘L’‘B’2 ‘C’‘B’0 ‘C’‘B’1 ‘X’‘B’4 ‘X’‘B’5 ‘X’‘B’ TABOB 6 LONGZDD 3 4 Quadruplés pour l’expression … ‘OU’015 ‘NON’56 ‘ET’627 … 5 6 7