Changes between Version 7 and Version 8 of CaoCourseTme5


Ignore:
Timestamp:
Mar 7, 2007, 7:14:12 PM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme5

    v7 v8  
    5252}}}
    5353
    54  * La fonction cons_var() crée un objet de type var_t, vérifie qu'il n'existe pas de variable portant le même nom ou le même index, initialise les champs NAME, INDEX et VALUE de la structure de donnée, range la variable dans un dictionnaire, et renvoie un pointeur sur la variable ainsi créée.
    55  * Les deux fonctions get_var_index() et get_var_name() renvoient un pointeur vers la variable désignée soit par son nom, soit par son index, et affichent un message d’erreur si la variable n’existe pas.
    56  * La fonction cons_bip() crée un bipointeur de type bip_t, en affectant la valeur data au champs DATA, et la valeur next au champs NEXT, et renvoie un pointeur sur le bipointeur ainsi créé. La fonction free_bip() permet de libérer la mémoire allouée par la fonction cons_bip().
    57  * La fonction parse_abl() prend en entrée une chaîne de caractères décrivant  une expression Booléenne préfixée possédant un nombre quelconque de niveaux de parenthèsage. Elle construit en mémoire l’arbre ABL représentant cette expression Booléenne et renvoie un pointeur sur le bipointeur correspondant à la racine. Cette fonction n’accepte que les expressions Booléennes préfixées, et les seuls opérateurs acceptés sont NOT, OR, AND et XOR. Elle affiche un message d’erreur en cas d’erreur de syntaxe, ou si elle rencontre un nom de variable non déclarée préalablement.
     54 * La fonction '''cons_var()''' crée un objet de type var_t, vérifie qu'il n'existe pas de variable portant le même nom ou le même index, initialise les champs NAME, INDEX et VALUE de la structure de donnée, range la variable dans un dictionnaire, et renvoie un pointeur sur la variable ainsi créée.
     55 * Les deux fonctions '''get_var_index()''' et '''get_var_name()''' renvoient un pointeur vers la variable désignée soit par son nom, soit par son index, et affichent un message d’erreur si la variable n’existe pas.
     56 * La fonction '''cons_bip()''' crée un bipointeur de type bip_t, en affectant la valeur data au champs DATA, et la valeur next au champs NEXT, et renvoie un pointeur sur le bipointeur ainsi créé. La fonction '''free_bip()''' permet de libérer la mémoire allouée par la fonction cons_bip().
     57 * La fonction '''parse_abl()''' prend en entrée une chaîne de caractères décrivant  une expression Booléenne préfixée possédant un nombre quelconque de niveaux de parenthèsage. Elle construit en mémoire l’arbre ABL représentant cette expression Booléenne et renvoie un pointeur sur le bipointeur correspondant à la racine. Cette fonction n’accepte que les expressions Booléennes préfixées, et les seuls opérateurs acceptés sont NOT, OR, AND et XOR. Elle affiche un message d’erreur en cas d’erreur de syntaxe, ou si elle rencontre un nom de variable non déclarée préalablement.
    5858
    5959Pour utiliser ces structures de données et ces fonctions, vous devez inclure dans votre programmes les fichiers suivants:
     
    6363#include <parse_abl.h>
    6464}}}
     65
     66Récupérez l'archive [attachment:tme5.tar.gz TME5]. En la décompressant, vous obtiendrez un répertoire {{{tme5}}} contenant les fichiers dont vous avez besoin pour ce TME, et en particulier un fichier {{{Makefile}}} et un fichier {{{main.c}}} que vous devrez complêter:
    6567
    6668= B) Représentation Graphique =
     
    7375
    7476= C) Fonction d’affichage =
    75 
    76 Récupérez l'archive [attachment:tme5.tar.gz TME5]. En la décompressant, vous obtiendrez un répertoire {{{tme5}}} contenant les fichiers dont vous avez besoin pour ce TME, et en particulier un {{{Makefile}}} et un fichier {{{main.c}}} que vous devrez complêter:
    7777
    7878 *  '''C.1)''' Ecrire en langage C la fonction récursive display_abl() présentée en cours. cette fonction prend en entrée un pointeur p sur un bipointeur représentant la racine d'un arbre ABL, et affiche sur le terminal standard l’expression Booléenne normalisée correspondante.