cours-2-6
8 pages
Français

cours-2-6

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
8 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Sémantique 1Sens, en faireNous savons maintenant reconnaître une phraseLe dernier point : donner du sens aux phrasesIntuitivement le sens c'est :programme m -logo : un tracé sur l'écranFormules physique = la dimension ou la valeur numériqueDeux définitions à donner :une définition pour le langage qui associe un sens à chaque constructionune définition qui permet de calculer le sens d’une phraseDEUG 2 1998Sémantique 2Problème intuitifPROC tri(l) SEQ A l; T 120; A l; T 120; A l; T 120 QES CORP;tri (45)tri <<==>> {(l), [Avance l; Tourne 120; Avance l; Tourne 120; Avance l; Tourne 120]}execute_programme (tri (45))DEUG 2 1998Page 1Sémantique 3Sémantique : définitionSémantique d’un langage =1) Structure mathématique (éventuellement un autre langage) permettant d’exprimer le sens d’un langage2) Ensemble des règles permettant de construire la valeur sémantique associée à une phrase du langageToute la question est de savoir :s’il existe une structure spéciale pour exprimer les sémantiques ?quelles sont les relations entre le langage et la “structure sémantique”DEUG 2 1998Sémantique 4La sémantique illustréeUn langage = notations pourdes valeurs (120, l)des relations (PROC tri(l) ..., A 45)NTmove_turtle: Tx N -> Tv2 v6v4v3v5v1Eg: Id x E -> Nv7v8DEUG 2 1998Page 2Sémantique 5Interprétation : définitionInterprétation =Fonction qui définit un sens à un langageDomaine d’interprétation =Ensemble (éventuellement composé de ...

Informations

Publié par
Nombre de lectures 63
Langue Français

Extrait

Page 1
DEUG 2
1998
1
Sémantique
Sens, en faire
Nous savons maintenant reconnaître une phrase
Le dernier point : donner du sens aux phrases
Intuitivement le sens c'est :
programme
μ
-logo : un tracé sur l'écran
Formules physique = la dimension ou la valeur numérique
Deux définitions à donner :
une définition pour le langage qui associe un sens à
chaque construction
une définition qui permet de calculer le sens d’une phrase
DEUG 2
1998
2
Sémantique
Problème intuitif
PROC tri(l)
SEQ A l; T 120; A l; T 120; A l; T 120 QES CORP;
tri (45)
tri <<==>> {(l), [Avance l; Tourne 120; Avance l; Tourne 120;
Avance l; Tourne 120]}
execute_programme (tri (45))
Page 2
DEUG 2
1998
3
Sémantique
Sémantique : définition
Sémantique d’un langage =
1) Structure mathématique (éventuellement un autre
langage) permettant d’exprimer le sens d’un langage
2) Ensemble des règles permettant de construire la valeur
sémantique associée à une phrase du langage
Toute la question est de savoir :
s’il existe une structure spéciale pour exprimer les
sémantiques ?
quelles sont les relations entre le langage et la “structure
sémantique”
DEUG 2
1998
4
Sémantique
La sémantique illustrée
v1
v2
v3
v4
v5
v6
Un langage = notations pour
des valeurs
(120, l)
des relations
move_turtle: Tx N -> T
v7
v8
g: Id x E -> N
E
T
N
(PROC tri(l) ..., A 45)
Page 3
DEUG 2
1998
5
Sémantique
Interprétation : définition
Interprétation =
Fonction qui définit un sens à un langage
Domaine d’interprétation =
Ensemble (éventuellement composé de plusieurs
ensembles) noté
D
I
+
Fonctions élémentaires internes sur
D
I
un langage peut avoir plusieurs interprétations
certaines interprétations sont plus « naturelles » que
d’autres
DEUG 2
1998
6
Sémantique
Définition d’une interprétation
Définir une sémantique revient à définir une fonction !
Ensemble de départ : le langage (c’est-à-dire l’ensemble
des phrases)
Ensemble d’arrivée : l’ensemble des fonctions sur
D
I
obtenues par composition des fonctions élémentaires
Remarques essentielles :
nous manipulons des fonctions sur plusieurs niveaux
la sémantique d’un langage est une fonction dont le résultat
est une fonction
le sens d’une phrase est obtenu en appliquant la fonction
sémantique à la phrase. Ce sens est donc une fontion !
Page 4
DEUG 2
1998
7
Sémantique
Technique de définition
Repose sur la structure inductive des langages : définition par
cas pour chaque structure du langage
terminal : élément (valeur) appartenant à
D
I
construction : fonction élémentaire (ou composition de
fonctions élémentaires)
La grammaire guide la définition
un cas par règle et production
Dans la pratique, on travaille sur le terme qui représente la
structure des phrases
structure plus simple (souvent !) et calculatoire
résultat donné par l'analyseur syntaxique
définition Caml directe
DEUG 2
1998
8
Sémantique
Formules : le retour
sémantique des Formules physiques
Axiome ::= Expression
Expression ::= Expression + Expression |
Expression * Expression |
Nombre | Variable
Nombre ::= ...
Variable ::= ...
Structure des termes
type expr = Plus of expr* expr
| Fois of expr*expr
| Nombre of float
| Varphy of string ;;
Page 5
DEUG 2
1998
9
Sémantique
Sémantique 1
Domaine sémantique
Pour les nombres : une dimension
[0; 0; 0]
Pour les variables : une table associant un identificateur à une
dimension:
[(‘g’, [0; 1; -2]); (‘v’, [0; 1; -1]); (‘m’,
[1; 0; 0])]
que nous appellerons
environnement
Fonction d’interprétation (notée [| |])
[| Nombre n |] =
[0; 0; 0]
[| Varphy v |] = function env -> dimen_vp v env
[| Plus (vg, vd) |] = function env ->
si [| vg |] = [| vd |]
alors [| vg |]
sinon erreur
[| Fois (vg, vd) |] = function env ->
add_dim [| vg |]
[| vd |]
DEUG 2
1998
10
Sémantique
Sémantique 2
Domaine sémantique
Pour les nombre :
float
(les décimaux Caml)
Pour les variables : une table associant un identificateur à une
valeur numérique :
[(‘g’, 9.81); (‘v’, 0.); (‘m’, 3.)]
(toujours un environnement)
Fonction d’interprétation (notée [| |])
[| Nombre n |] =
n
[| Varphy v |] = function env -> assoc v env
[| Plus (vg, vd) |] = function env ->
[| vg |] +. [| vd |]
[| Fois (vg, vd) |] = function env ->
[| vg |] *. [| vd |]
Page 6
DEUG 2
1998
11
Sémantique
Sens unique ?
Des deux sémantiques, laquelle est la bonne ?
Les deux !
Chacune sert un rôle particulier :
• sémantique des « applications numériques »
• sémantique de
« l'analyse dimensionnelle »
Il y a autant de sémantiques qu'il y a de rôles à un langage
langage
grammaire
domaine
d'interprétation
fonction
d'interprétation
analyseur
structure
modélisation
Caml
programme
Caml
DEUG 2
1998
12
Sémantique
L'empire des sens
À
un
langage informatique,
une
seule sémantique
Mais
Il existe plusieurs façon de l'exprimer
– sémantique dénotationnelle :
• un programme = une fonction mathématique
• utile pour prouver que deux programmes sont équivalents
– sémantique axiomatique
• un programme = un théorème
• utile pour prouver qu'un programme est correct
– sémantique opérationnelle
• un programme = un programme pour une machine abstraite
• utilepour créer des langages exécutables (et s'en servir !)
μ
-logo a une sémantique opérationnelle
Page 7
DEUG 2
1998
13
Sémantique
Hiérarchie de langages
Hiérarchie de langages =
cascade de langages dans laquelle la sémantique d'un
langage est exprimée à l'aide du langage inférieur
μ
-logo
Caml
C
processeur
électronique
langage source
langage
cible
machine
catégorique
machine
tortue
machine abtstraite
DEUG 2
1998
14
Sémantique
Compilateur
Compilateur =
programme qui calcule la sémantique d'un texte
(généralement un programme)
Interprète =
compilateur qui exécute les phrases au fur et à mesure
Page 8
DEUG 2
1998
15
Sémantique
Schéma récapitulatif
texte
source
analyseur
structure
calcul
sémantique
texte
cible
instructions
machine
machine
abstraite
résultats
interprète
compilateur
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents