1 / 12

Expressions sur les chaînes de caractères

Expressions sur les chaînes de caractères. Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) http://zegour.esi.dz/ email: d_zegour@esi.dz. Chaînes de caractères : Objectif. On distingue les variables Chaîne de caractères ( CHAINE ) : tableau de caractères

Télécharger la présentation

Expressions sur les chaînes de caractères

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Expressions sur les chaînes de caractères Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) http://zegour.esi.dz/ email: d_zegour@esi.dz

  2. Chaînes de caractères : Objectif • On distingue les variables • Chaîne de caractères (CHAINE) : tableau de caractères • Caractère (CAR) : un seul caractère • Une seule opération : + (concaténation) • Une expression peut contenir un mélange entre variable chaîne de caractères et caractères. Le résultat est toujours une chaîne de caractères • Le résultat de l’affectation dépend de la variable réceptrice • si caractère : le résultat est tronqué à un seul caractère

  3. Sémantique des expressions sur les chaînes de caractères: Quadruplés (‘+S’, B, C , D ) B, C : pointeurs dans TABOB vers les opérandes D : pointeur dans TABOB sur l’objet qui va contenir le résultat ‘+S’ désigne la concaténation

  4. Chaînes de caractères : 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 { +, -, Ou } Opm dans { *, /, Et }; Sign dans {+, -}; Chaîne : chaîne de caractères

  5. Chaînes de caractères : Déclarations <Algo Z>  [ ~Soit|Soient~ <Ps> ] Debut <Lis> Fin [;] <Ps>  <S>;{ [~Soit|Soient~] <S>;}* <S>  <Li>[Sep <Typ> ] <Li>  Idf {,Idf}* <Typ> Entier | Booleen | Chaine | Car

  6. Chaînes de caractères : Instructions < Lis >  < Inst > { ; < Inst > }* <Inst> Idf:= <Exp> | Lire(Idf {, Idf }* ) | Ecrire(<Exp> {,<Exp>}* ) |

  7. Chaînes de caractères : Expressions <Exp>  <Exps>[ Opr <Exps>] <Exps>  [Sign] <Terme> { Opa <Terme> }* <Terme>  <Facteur>{Opm <Facteur>}* <Facteur> Idf | Cste | ( <Exp>) | Non <Facteur> | Vrai | Faux | Chaine

  8. Sémantique des expression CC : déclarations Pour chaque Identificateur déclaré comme CAR : - 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é (‘DCC’+Type, Pt, , ) ou (‘DC’+Type, Pt, , )

  9. Sémantique des expressions CC : Fonctions sémantiques <Exp>  <Exps>[ Opr <Exps>] <Exps>  <Terme> { Opa <Terme> }* <Terme>  <Facteur>{Opm <Facteur>}* <Facteur> Idf | Cste | ( <Exp>) | Non <Facteur> | Vrai| Faux | Chaine F3 F5 F4 F1 F2

  10. Sémantique des expressions CC : Fonctions sémantiques <Facteur> Idf | Cste | ( <Exp>) Non <Facteur> | Vrai| Faux| chaine F1 F2 F1 Vérifier que l’identificateur Idf est déclaré, sinon Erreur. Soit Pt1 son emplacement dans TABOB. Retourner (Pt1) F2 Si la constante n’existe pas la mettre dans TABCONSCAR et TABOB. Soit Pt1 son emplacement dans TABOB. Retourner (Pt1) <Facteur>

  11. Sémantique des expressions CC : Fonctions sémantiques <Exps>  <Terme> F3 { Opa <Terme> }* F4 F5 F3 Sauvegarder le résultat de <Terme> dans Temp1 (emplacement dans TABOB). Retourner (Temp1) Sauvegarder l’opérateur dans une variable Op et le résultat de <Terme> dans Temp1 (emplacement dans TABOB) F4 Récupérer le résultat de <Terme> 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). F5 <Exps>

  12. Sémantique des expressions CC : Exemple 0 0 Soit s, s2 des chaines; c un car; debut s := 'abc';s2 := 'xyz';c := 'd'; ecrire( s+ s2 + c); fin 1 1 2 3 TABCONS 4 5 6 7 5 TABOB LONGZDD Quadruplés pour l’expression En fin de compilation, programme source = table des quadruplés + TABOB + TABCONS + LONGZDD

More Related