Conception et compilation du langage AMPERE 2 : langage modulaire pour la programmation en physique = = Design and compilation of AMPERE 2, a modular programming language for physics : / par Hafid Sidhoum ; sous la direction de Louis Frécon

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : français / French

Programmation (informatique)

Calcul sur des intervalles

Généricité (linguistique)

Frécon, Louis (1940-....) (Directeur de thèse / thesis advisor)

Institut national des sciences appliquées (Lyon ; 1957-....) (Organisme de soutenance / degree-grantor)

DELIA - Développements et Langages Informatiques avancés (Lyon, INSA ; 1986-1995) (Laboratoire associé à la thèse / thesis associated laboratory)

Résumé / Abstract : Le langage AMPÈRE 2, à l'instar d'Ampère, est destiné à accroître la clarté et la fiabilité des programmes scientifiques à dominante physique. Pour cela, il intègre la rigueur de l'analyse dimensionnelle, la gestion automatique des unités de mesure et la puissance du calcul en intervalles. Avec l'adoption des identificateurs éclatés, AMPÈRE 2 répond au problème de l'évolution du langage face aux demandes des utilisateurs. Pour favoriser les développements logiciels importants, nous avons inclus au langage Ampère 2 la notion de composant logiciel (module) ainsi qu'une généricité des types physiques. La combinaison de ces mécanismes rend réutilisable certaines parties d'une application sous forme de bibliothèques, en garantissant la fiabilité d'appel mais sans instanciation. Enfin, nous avons retenu pour AMPERE 2 le concept des environnements, grâce auquel l'utilisateur peut enrichir le contexte local, permettant le partage inter-projets d'une application, d'où une grande clarté au niveau conceptuel. Le langage a été défini en collaboration avec des physiciens pour mieux prendre en compte leurs desiderata. Le mémoire présenté est consacré d'abord à la discussion détaillée d'AMPÈRE 2. Il traite ensuite de la réalisation sous UNIX du compilateur correspondant ; son développement en LET a surtout facilité l'analyse sémantique

Résumé / Abstract : AMPERE 2 is a programming language following ampere,an older language devoted to clearness and reliability of scientific programs. for that purpose, amperes integrate dimensional analysis, automatic management of physical units and powerful intervals computation. To prevent the evolution problem introduced by a stiff definition facing various users needs and requests, AMPERE 2 implements the splitted identifiers. So, to define a new procedure is actually to introduce a new instruction. To support significant software developments, we include to AMPERE 2 language the software component notion (module) as well as a genericity for physical types. Combining these mechanisms makes some parts of an application reusable as libraries, insuring the call reliability without instantiation. Finally, we retained for AMPERE 2 language an environment concept, with which the user can enlarge the local context, which permits inter-projects sharing and conceptual clarification. The language was defined with physicians, to implement their needs. The present memory is devoted, first to the language presentation and discussion, second to its associated compiler achieved under UNIX: its development in LET highly facilitated the semantic analysis.