“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 27 — #37
i
i
i
i
i
i
i
i
2.1 Définir un langage de programmation pratique
27
La structure du chapitre
Le chapitre contient sept parties :
– La section 2.1 explique comment définir la syntaxe et la sémantique des langages
de programmation pratiques. La syntaxe est définie par une grammaire horscontexte qui est étendue avec des contraintes propres au langage. La sémantique
est définie en deux parties : d’abord en traduisant les programmes du langage
pratique en un langage noyau simple et ensuite en donnant la sémantique du
langage noyau. Cette approche sera utilisée partout. Ce chapitre l’utilise pour
définir le modèle de calcul déclaratif.
– Les trois sections suivantes définissent la syntaxe et la sémantique du modèle
déclaratif :
• La section 2.2 définit les structures de données : la mémoire à affectation
unique et son contenu, les valeurs partielles et les variables dataflow.
• La section 2.3 définit la syntaxe du langage noyau.
• La section 2.4 définit la sémantique du langage noyau avec une machine
abstraite simple. Elle est conçue pour être intuitive et permettre un raisonnement simple sur l’exactitude et la complexité calculatoire.
– La section 2.5 utilise la machine abstraite pour comprendre comment les calculs
se comportent dans la mémoire. Nous étudierons l’optimisation terminale et le
cycle de vie mémoire.
– La section 2.6 définit un langage pratique au-dessus du langage noyau.
– La section 2.7 étend le modèle déclaratif avec le traitement d’exceptions, ce
qui permet aux programmes de traiter des situations imprévues et des erreurs
exceptionnelles.
2.1 DÉFINIR UN LANGAGE DE PROGRAMMATION PRATIQUE
Les langages de programmation sont bien plus simples que les langages naturels, mais
ils peuvent tout de même avoir une syntaxe, des abstractions et des librairies étonnamment riches. C’est particulièrement vrai pour les langages de programmation conçus
pour solutionner des problèmes dans le monde réel. Nous les appelons langages pratiques. Un langage pratique est comme la boîte à outils d’un mécanicien expérimenté :
il y a beaucoup d’outils différents pour des utilisations différentes et tous les outils ont
une raison d’être.
Cette section traite les éléments de base. Elle explique comment nous présentons
la syntaxe (la « grammaire ») et la sémantique (le « sens ») des langages de programmation pratiques. Avec ces bases nous serons prêts pour définir le premier modèle de
© Dunod – La photocopie non autorisée est un délit
i
i
i
i
i
i
i
i
2.1 Définir un langage de programmation pratique
27
La structure du chapitre
Le chapitre contient sept parties :
– La section 2.1 explique comment définir la syntaxe et la sémantique des langages
de programmation pratiques. La syntaxe est définie par une grammaire horscontexte qui est étendue avec des contraintes propres au langage. La sémantique
est définie en deux parties : d’abord en traduisant les programmes du langage
pratique en un langage noyau simple et ensuite en donnant la sémantique du
langage noyau. Cette approche sera utilisée partout. Ce chapitre l’utilise pour
définir le modèle de calcul déclaratif.
– Les trois sections suivantes définissent la syntaxe et la sémantique du modèle
déclaratif :
• La section 2.2 définit les structures de données : la mémoire à affectation
unique et son contenu, les valeurs partielles et les variables dataflow.
• La section 2.3 définit la syntaxe du langage noyau.
• La section 2.4 définit la sémantique du langage noyau avec une machine
abstraite simple. Elle est conçue pour être intuitive et permettre un raisonnement simple sur l’exactitude et la complexité calculatoire.
– La section 2.5 utilise la machine abstraite pour comprendre comment les calculs
se comportent dans la mémoire. Nous étudierons l’optimisation terminale et le
cycle de vie mémoire.
– La section 2.6 définit un langage pratique au-dessus du langage noyau.
– La section 2.7 étend le modèle déclaratif avec le traitement d’exceptions, ce
qui permet aux programmes de traiter des situations imprévues et des erreurs
exceptionnelles.
2.1 DÉFINIR UN LANGAGE DE PROGRAMMATION PRATIQUE
Les langages de programmation sont bien plus simples que les langages naturels, mais
ils peuvent tout de même avoir une syntaxe, des abstractions et des librairies étonnamment riches. C’est particulièrement vrai pour les langages de programmation conçus
pour solutionner des problèmes dans le monde réel. Nous les appelons langages pratiques. Un langage pratique est comme la boîte à outils d’un mécanicien expérimenté :
il y a beaucoup d’outils différents pour des utilisations différentes et tous les outils ont
une raison d’être.
Cette section traite les éléments de base. Elle explique comment nous présentons
la syntaxe (la « grammaire ») et la sémantique (le « sens ») des langages de programmation pratiques. Avec ces bases nous serons prêts pour définir le premier modèle de
© Dunod – La photocopie non autorisée est un délit
