Expressions sur les cha nes de caract res
Download
1 / 12

Expressions sur les chaînes de caractères - PowerPoint PPT Presentation


  • 176 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Expressions sur les chaînes de caractères ' - dale-chapman


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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: [email protected]


Cha nes de caract res objectif
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


S mantique des expressions sur les cha nes de caract res quadrupl s
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


Cha nes de caract res d clarations
Chaînes de caractères : Déclarations Quadruplés

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


Cha nes de caract res d clarations1
Chaînes de caractères : Déclarations Quadruplés

<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


Cha nes de caract res instructions
Chaînes de caractères : Instructions Quadruplés

< Lis >  < Inst > { ; < Inst > }*

<Inst> Idf:= <Exp> |

Lire(Idf {, Idf }* ) |

Ecrire(<Exp> {,<Exp>}* ) |


Cha nes de caract res expressions
Chaînes de caractères : Expressions Quadruplés

<Exp>  <Exps>[ Opr <Exps>]

<Exps>  [Sign] <Terme> { Opa <Terme> }*

<Terme>  <Facteur>{Opm <Facteur>}*

<Facteur> Idf | Cste | ( <Exp>) | Non <Facteur> |

Vrai | Faux |

Chaine


S mantique des expression cc d clarations
Sémantique des expression CC : déclarations Quadruplés

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, , )


S mantique des expressions cc fonctions s mantiques
Sémantique des expressions CC : Fonctions sémantiques Quadruplés

<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


S mantique des expressions cc fonctions s mantiques1
Sémantique des expressions CC : Fonctions sémantiques Quadruplés

<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>


S mantique des expressions cc fonctions s mantiques2
Sémantique des expressions CC : Fonctions sémantiques Quadruplés

<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>


S mantique des expressions cc exemple
Sémantique des expressions CC : Exemple Quadruplés

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


ad