I - Introduction à la compilation et à l interprétation
|
|
|
- Robert Ducharme
- il y a 10 ans
- Total affichages :
Transcription
1 I - Introduction à la compilation et à l interprétation Étienne M. Gagnon et Jean Privat UQAM Les langages de programmation permettent aux programmeurs d écrire leurs programmes avec une notation plus naturelle pour l humain que le code machine binaire exécuté par les processeurs. Les premiers langages de programmation développés, les langages assembleurs, n offrent qu une simple couche d abstraction sur le code machine sous-jacent ; ils permettent d exprimer les instructions avec des codes symboliques et les adresses de mémoire avec des étiquettes. Évidemment, les langages de programmation ont continué à évoluer, souvent en augmentant la distance entre la notation textuelle utilisée par le programmeur et le code machine. L avènement du génie logiciel a influencé d avantage la conception des langages de programmation pour y introduire des notions de robustesse, d expressivité, d évolutivité, etc. et protéger les programmeurs d un certain nombre d erreurs. L exécution d un programme écrit avec un langage de programmation ne peut pas être directement effectuée par le processeur. Une première solution à ce problème consiste à préalablement traduire le programme source en code machine à l aide d un compilateur. La seconde solution consiste à décoder le programme source et à en exécuter le code au fur et à mesure à l aide d un interpréteur. Outre les compilateurs et les interpréteurs, de nombreux programmes doivent pouvoir lire et transformer toute sorte de fichiers. Par exemple, un navigateur Web doit pouvoir analyser l information d une page Web codée en langage de description HTML. Un extracteur automatique de documentation, comme javadoc ou doxygen, doit pouvoir lire le code source d un programme, en extraire les commentaires et générer la documentation des classes sous la forme d une collection de fichiers HTML ou d un document Copyright , Étienne M. Gagnon et Jean Privat. Tous droits réservés. 1
2 1 DÉFINITIONS PDF. Et plus généralement, la majorité des programmes doivent être capable de lire leurs propres fichiers de configuration. Des définitions plus précises du compilateur et de l interpréteur sont données à la Section 1. La structure interne d un compilateur est présentée à la Section 2 et celle d un interpréteur à la Section 3. 1 Définitions 1.1 Compilateur En français, compiler, probablement du latin compilare 1, signifie réunir des documents sur un même sujet à partir de diverses sources. En informatique, un compilateur est un programme qui accepte du code source en entrée et qui produit du code destination équivalent en sortie, tel qu illustré à la figure 1. Compilation Code source Code destination FIGURE 1 Compilateur Compilateur traditionnel Le plus connu des types de compilateur est le compilateur de langage de programmation traditionnel. Celui-ci accepte un ou plusieurs fichiers de code source constituant un programme en entrée et produit, en sortie, un ou plusieurs fichiers binaires formés d instructions pour un processeur. Ces fichiers binaires peuvent ensuite être exécutés sur l ordinateur. Ceci est illustré à la figure 2. Un exemple est le compilateur gcc pour le langage C. Lorsque le programmeur lance la commande gcc main. c o main 1. Qui lit eralement signifie piller, comme dans pillage et mise-à-sac, mais est construit sur con- (ensemble) et pilare (compresser). 2
3 1 DÉFINITIONS 1.1 Compilateur FOR A = 1 TO 9 B = B + A NEXT A Code source Compilateur Code binaire exécutable Données Code binaire exécutable Résultats FIGURE 2 Compilateur traditionnel et exécution. le compilateur lit le fichier main.c ainsi que les autres fichiers sources référencés par celui-ci (même indirectement), et produit un fichier binaire main pouvant être exécuté directement sur la machine. Le système de compilation du langage C est en réalité plus complexe que ne le laisse imaginer la commande précédente. Chaque fichier file.c d un programme C est en premier donné en entrée à un préprocesseur qui traite les directives de pré-traitement contenues dans le fichier source, telles que #include et #define, et produit du code C sans directives en sortie. Ce code est ensuite envoyé au compilateur C qui le traduit en code assembleur. Par la suite, le code assembleur est donné en entrée à un assembleur qui le traduit en code binaire et le stocke dans un fichier objet file.o. Finalement, l éditeur de liens combine les fichiers *.o et produit un fichier exécutable dans un format approprié, tel que EXE sous WINDOWS et ELF sous LINUX. Il suffit d ajouter l option -v à la ligne de commande de gcc pour visualiser ces différentes étapes illustrées à la figure 3. Un utilisateur peut choisir de n effectuer que les premières phases du système de compilation. L option -E de gcc n invoque que le préprocesseur et génère un gros fichier.c pur (gros car chaque directive #include est remplacée par le contenu complet du fichier inclus), l option -S invoque le préprocesseur et le compilateur C et génère un fichier assembleur (.s) et l option -c invoque toutes les phases sauf l édition de lien et génère un fichier en langage machine (.o) non exécutable en soit. Il est intéressant de noter que le préprocesseur et l assembleur sont des compilateurs ; ils traduisent du code source en code destination équivalent. Dans gcc, le préprocesseur et l assembleur sont même des programmes 3
4 1.1 Compilateur 1 DÉFINITIONS *.h fichier.c *.o préprocesseur compilateur C éditeur de liens assembleur fichier.o programme.exe FIGURE 3 Compilation d un programme C séparés (respectivement cpp et as) qui sont utilisés par le programme gcc mais qui pourraient tout aussi bien être exécutés directement par l utilisateur. Le compilateur C ne constitue qu un élément du système de compilation d un programme C. Il traduit du code C pur 2 en code assembleur. Un autre exemple de compilateur est le compilateur javac du langage JAVA. Le système de compilation d un programme Java est bien plus simple que celui d un programme C. Il n y a ni préprocesseur, ni assembleur, ni éditeur de liens. Les fichiers *.class générés par javac sont des fichiers binaires formés d instructions pour un processeur virtuel. L exécution d un programme JAVA compilé n est donc pas effectuée directement par le processeur de l ordinateur, mais plutôt par une machine virtuelle, un programme qui réalise l exécution des instructions du processeur virtuel Compilateur source à source Un compilateur source à source est un programme qui accepte du code source en entrée et qui génère du code source équivalent (dans le même langage ou dans un autre) en sortie. Ce type de compilateur est d une grande utilité pour les programmeurs. Un exemple type est un compilateur qui lit une description de schéma de données en XML et qui produit un ensemble de classes (fichiers sources) en langage JAVA pour encapsuler l accès à une base de données avec un modèle objet. Un autre exemple est le 2. Code C ne contenant pas directives de pré-traitement. 4
5 1 DÉFINITIONS 1.1 Compilateur préprocesseur C qui transforme du code C avec directives de pré-traitement en code C sans directive de pré-traitement. Un compilateur source à source est un extraordinaire outil de génie logiciel. Les avantages d utiliser un tel compilateur plutôt que d écrire le code répétitif à la main sont nombreux : 1. Il est très facile de faire des erreurs dans l écriture de code répétitif et, pire, il est difficile de trouver ces erreurs à la lecture du code. 2. En cas d évolution ou de correction d erreur, il suffit d intervenir à un seul endroit dans le compilateur source à source plutôt qu à chaque apparition du patron dans le code. Ceci peut réduire considérablement le temps de développement requis pour appliquer et tester l évolution ou la correction. 3. Finalement, il est généralement plus stimulant de développer un petit compilateur à l aide d outils que d écrire du code répétitif. Lors de la conception d un nouveau langage de programmation, la compilation source à source peut servir à créer rapidement un compilateur prototype ciblant un langage de programmation existant. Il existe même des compilateurs optimisants qui font de la compilation source à source. Le compilateur SMARTEIFFEL, par exemple, traduit les programmes EIFFEL en code source C portable (ou en code-octet JAVA). Ainsi, SMARTEIFFEL peut cibler tous les systèmes qui possèdent un compilateur C sans nécessiter le développement de générateurs de code distincts pour les divers processeurs et systèmes d exploitation. C est le système de compilation C, sur chaque système, qui prend en charge les lourdes tâches de génération de code machine selon les exigences architecturales et d édition de liens Décompilateur Un décompilateur est un compilateur particulier qui fait le travail inverse d un compilateur. Il prend en entrée un ou plusieurs fichiers binaires et produit en sortie un programme équivalent dans le langage de programmation original. En général le résultat de la décompilation n est pas identique au programme original. En effet la compilation traditionnelle n est pas réversible car lors de la compilation traditionnelle de l information non nécessaire au fonctionnement du programme est perdue. Par exemple les commentaires et les noms des variables locales ont disparus. De plus, plus le compilateur 5
6 1.2 Interpréteur 1 DÉFINITIONS est optimisant, plus celui-ci risque d avoir transformé des morceaux du programme en des équivalents plus efficaces. Par exemple certaines structures de contrôles complexes peuvent avoir été transformées en des structures plus simples (de la même façon qu une boucle for peut être transformée en une boucle while voire juste en quelques goto). Les décompilateurs sont généralement utilisés dans un cadre de rétroingénierie pour étudier ou comprendre un programme dont le code source est indisponible. L objectif peut être, par exemple, de trouver ou d analyser des bogues, de réaliser un portage sur une architecture différente, de vérifier son fonctionnement ou d en analyser la sécurité comme, par exemple, chercher la présence de postes dérobées (backdoors). L option --disassemble de de la commande objdump Unix permet de transformer un programme machine en code assembleur (on parle alors de désassembleur). Plusieurs décompilateurs existent pour d autres langages comme le C ou le Java. En pratique, la décompilation est un problème difficile car en plus du travail habituel d un compilateur, le décompilateur doit trouver le moyen de retrouver (ou de fabriquer) un maximum d information non nécessaire au fonctionnement du programmes mais nécessaire à la compréhension du programme par un humain. Au niveau légal, la plupart des licences de logiciels propriétaires en interdisent la décompilation. Dans certains pays elles est illégale ou seulement autorisée à des fin d interopérabilité. Certains logiciels sont même parfois compilés avec des compilateurs obfuscateurs de code dont l objectif est de rendre plus difficile la décompilation du code produit : un décompilateur arrivera à produire un programme équivalent dans le langage d origine mais il sera relativement incompréhensible pour un humain. 1.2 Interpréteur Un interpréteur est un programme qui accepte du code source en entrée et qui accompli ce qui est spécifié dans le code source, tel qu illustré à la figure Interpréteur traditionnel Le plus connu des types d interpréteur est l interpréteur de langage de programmation traditionnel. Plusieurs interpréteurs traditionnels fonctionnent en mode interactif où le programmeur écrit le code source et l interpréteur exécute ce code dès qu il est entré. 6
7 1 DÉFINITIONS 1.2 Interpréteur Code source FOR A = 1 TO 9 B = B + A NEXT A Interpréteur Résultats Données FIGURE 4 Interpréteur Plusieurs langages de programmation sont interprétés. Les programmes RUBY, par exemple, sont lus et directement exécutés par l interpréteur de ce langage. Typiquement, l exécution d un programme RUBY est lancée avec la commande ruby fichier.rb. Le programme ruby est l interpréteur de ce langage. Il lit le fichier fichier.rb et exécute le programme sur le champ 3. La plupart des interpréteurs peuvent être aussi interactifs. C est-à-dire qu ils exécutent le programme au fur et à mesure que le programmeur le saisit et non pas d un coup à la fin de la lecture. Cela permet au programmeur de choisir l instruction suivante à écrire en fonction du résultat (ou de l erreur) qu a produit la instruction précédente. Le mode interactif d un interpréteur est un outil pratique pour apprendre à utiliser un nouveau langage ou pour tester simplement le comportement de petites séquences d instructions. La plupart des interpréteurs sont également réflexifs. C est-à-dire qu ils peuvent dynamiquement manipuler et exécuter des morceaux de code source. Ainsi, dans de nombreux langages, l instruction eval(s) permet d évaluer la chaîne de caractères s en tant que code source sachant que la valeur de s peut avoir été calculée dynamiquement. Habituellement les interprètes de commandes des systèmes d exploitation (shells) sont considérées comme des interpréteurs à part entière. Ils sont généralement utilisés en mode interactif mais il est habituel d écrire ou d exécuter des programmes pour ces interpréteurs (script shells). 3. Sur un système de type UNIX correctement configuré, la commande./fichier.rb lancera automatiquement l interpréteur. 7
8 1.3 Compilateur optimisant et interpréteur hybride 1 DÉFINITIONS Machine virtuelle et émultateur Une machine virtuelle est un interpréteur qui exécute des programmes codés en langage binaire plutôt qu en langage texte. La machine virtuelle de JAVA, par exemple, lit les fichiers de classe *.class et les exécute. Un émulateur est une machine virtuelle particulière qui exécute des programmes codés en langage binaire pour une plate-forme physique existante (processeur, matériel et système d exploitation). Par exemple le programme DOSBox permet d exécuter sur un très grand nombre de plate-forme, des programmes compilés pour le système d exploitation DOS avec un processeur x86 en simulant, au besoin, une carte vidéo, une carte son ou un lecteur de CD-ROM. 1.3 Compilateur optimisant et interpréteur hybride Certains langages peuvent facilement être catégorisés comme étant destinés soit à la compilation (C, C++, PASCAL, ADA), soit à l interprétation (PERL, RUBY, PYTHON, JAVASCRIPT). D autres langages imposent un mode de développement et d exécution mixte ; c est le cas du langage JAVA où le code source est clairement destiné à la compilation, mais où l exécution requiert une machine virtuelle 4. Évidemment, il y a des langages qui se prêtent aussi bien à l interprétation qu à la compilation ; c est le cas du langage BASIC. Un des avantages majeurs de l utilisation d un compilateur est la rapidité d exécution du code. Le code compilé est directement exécuté par le processeur, sans intermédiaire. De plus, la compilation du programme a été effectuée avant le lancement de l exécution. Les compilateurs optimisants en profitent pour analyser le code plus profondément, augmentant ainsi le temps de compilation, afin de produire du code machine plus efficace. À l autre bout du spectre, les interpréteurs doivent analyser le code source, détecter les erreurs et interpréter les instructions du programme continuellement lors de l exécution d un programme ; et tout recommencer à chaque fois à chaque nouvelle exécution. Typiquement, la rapidité d exécution d un programme compilé est de 10 à 100 fois supérieure à celle du même programme interprété. Pour cette raison, les interpréteurs se sont complexifiés au fil des ans. Afin d améliorer la performance, certains interpréteur intègrent un compilateur juste à temps qui compile le code source d une fonction en code 4. La fonctionnalité de chargement dynamique des classes empêche la compilation pure du code JAVA, sans interprétation. 8
9 1 DÉFINITIONS 1.4 Problème de l amorçage machine lors de la première invocation de celle-ci. Généralement, le temps perdu à compiler le code est amplement compensé par le temps gagné avec l exécution directe, par le processeur, du code machine généré. Les interpréteurs de pointe les plus efficaces vont encore plus loin. Ils sont complètement hybrides. Il incluent un moteur d interprétation et usent également de modèles statistiques sophistiqués pour ne compiler, spéculativement, que le code qui en vaut la peine avec un compilateur optimisant intégré. Ces interpréteurs hybrides réussissent parfois l exploit de surpasser la vitesse d exécution d un même programme précompilé avec un compilateur optimisant traditionnel. En effet, un compilateur optimisant traditionnel doit générer du code adapté pour toutes les utilisations du programme alors qu un interpréteur hybride peut se concentrer spécifiquement et agressivement sur l exécution en cours. 1.4 Problème de l amorçage Toute introduction à la compilation doit aborder le problème classique de l amorçage (anglais : bootstrap). Le problème de l amorçage est un vrai problème pratique mais un faux problème théorique. Le faux problème théorique est le suivant : un compilateur (ou un interpréteur) est un programme. Donc il doit être doit être exécuté à l aide d un compilateur (ou d un interpréteur), qui lui-même doit être exécuté à l aide d un compilateur (ou d un interpréteur), et ainsi infiniment. Ce faux problème théorique a déjà été identifié par Spinoza au 17ème Siècle en remplaçant «programme» par «outil» et «compilateur» par «forge», ou se retrouve encore aujourd hui dans l éculé problème de l œuf et de la poule. Le vrai problème pratique, par contre, est sans doute plus intéressant : comment développer et exécuter un nouveau compilateur ou un interpréteur. Traditionnellement, en utilisant un autre compilateur. Ainsi de nombreux interpréteurs et compilateurs sont implémentés dans un autre langage disposant compilateur (en C par exemple) et sont compilées de la même façon que tout programme dans de langage. Certains compilateur sont dit autogènes : c est-à-dire qu ils sont implémentés dans le langage qu ils compilent. C est le cas de gcc qui est implémenté en C. En général, la version suivante d un compilateur autogène est simplement compilée à l aide de la version précédente du compilateur 5. La 5. Puis traditionnellement recompilée avec lui-même un certain nombre de fois. 9
10 2 STRUCTURE D UN COMPILATEUR première version d un compilateur compilateur autogène est compilée soit à l aide d un compilateur concurrent, soit à l aide d un compilateur primitif écrit dans un autre langage. Le dernier cas pratique du problème de l amorçage concerne l exécution d un programme sur une nouvelle architecture matérielle. Dans ce cas là, on utilise généralement un compilateur croisé (ou cross compiler en Anglais), c est-à-dire un compilateur capable de générer du code binaire pour une architecture différente de celle qui exécute le compilateur. Le résultat d une compilation croisée doit alors être installé sur l architecture cible pour pouvoir être exécuté. À noter les compilateurs croisés sont fréquemment utilisés pour générer des exécutables pour des plates-formes qui n ont pas les moyens de disposer d un compilateur autonome (comme les plates-formes embarquées). Précision Dans le reste du texte, le terme compilateur sera utilisé pour désigner un compilateur non-optimisant et le terme interpréteur désignera un interpréteur non-hybride. 2 Structure d un compilateur Pour accomplir son travail, un compilateur doit lire le code source, vérifier sa validité et, enfin, générer le code destination lorsqu il n y a pas d erreur ou afficher les erreurs détectées. La figure 5 donne une vue générale de la structure interne d un compilateur. Lorsque le code source est textuel, le compilateur doit analyser la séquence des caractères du code source pour extraire l information structurée qu elle contient 6. L utilisation de la théorie des langages pour s attaquer à ce problème a mené à diviser cette tâche en deux : l analyse lexicale et l analyse syntaxique. L analyse de l information structurée (reconstituée ou non) permet de détecter des erreurs, s il y a lieu, et de calculer des informations dérivées nécessaires à la génération de code. C est ce qu on appelle l analyse sémantique Les compilateurs qui acceptent du code source déjà structuré sont dispensés du travail de reconstitution. 7. La sémantique du code, c est le sens ou la signification du code. 10
11 2 STRUCTURE D UN COMPILATEUR 2.1 Analyse lexicale Source texte Source structuré Analyseur lexical Structures de données Analyseur syntaxique Analyseur sémantique Générateur de code Compilateur Code destination FIGURE 5 Structure d un compilateur Finalement, l étape de génération de code se sert des informations extraites et calculées précédemment pour émettre du code destination équivalent au code source lu. 2.1 Analyse lexicale L analyse lexicale consiste à diviser la longue séquence de caractères du fichier source en jetons (ou lexème). Un jeton est une petite sous-séquence significative de caractères. Cela peut être un mot clé, une ponctuation, une espace, un identifiant, un nombre ou toute autre entité significative. Généralement, les langages utilisent deux types de jetons : les jetons utiles à l analyse syntaxique (tels les identifiants et les nombres) et les jetons ignorés (tels les espaces et les commentaires). Les jetons ignorés sont éliminés par l analyseur lexical. Seule la séquence des jetons utiles est envoyée à l analyseur syntaxique. Par exemple, la séquence d octets «for i = 1 to 10 loop» peut produire la séquence de jetons suivante : mot clé «for», identifiant «i», symbole d égalité, entier littéral 1, mot clé «to», etc. 11
12 2.2 Analyse syntaxique 2 STRUCTURE D UN COMPILATEUR 2.2 Analyse syntaxique Le rôle de l analyse syntaxique est de reconstituer la structure syntaxique de la séquence des jetons utiles reçue de l analyseur lexical. Le plus simple est d expliquer l analyse syntaxique à l aide d une analogie. La reconstitution de la structure syntaxique d une longue séquence de mots en langue française identifie le verbe et les autre éléments des phrases, l organisation des phrases en paragraphes, l organisation des paragraphes en sections, l organisation des sections en chapitres et l organisation des chapitres en livre. La structure obtenue par analyse syntaxique est naturellement arborescente et est appelée arbre syntaxique ; elle est envoyée à l analyseur sémantique. La figure 6 donne l exemple de l analyse syntaxique de la phrase «le chat dort.». le chat dort. article définit nom commun verbe groupe nominal phrase groupe verbal point FIGURE 6 Arbre syntaxique de la phrase «le char dort». Les feuilles sont des mots ou des symboles de ponctuation, les autres nœuds sont des concepts grammaticaux. 2.3 Analyse sémantique L analyse sémantique consiste à vérifier la cohérence de l information structurée obtenue de l analyseur syntaxique (ou directement du code source structuré). L analyse sémantique peut également inclure le calcul d informations sémantiques additionnelles (tel que le calcul de la quantité de mémoire nécessaire à stocker une variable). Voici un exemple qui illustre une phrase syntaxiquement correcte mais sémantiquement erronée : «Le crayon mange une pomme». Syntaxiquement, tout va bien ; on trouve un groupe sujet, un verbe et un groupe 12
13 3 STRUCTURE D UN INTERPRÉTEUR 2.4 Génération de code complément. Sur le plan sémantique, il y a un problème : un crayon, ça ne mange pas. Par exemple, lors de la compilation d un programmation, c est l analyse sémantique qui détermine qu une affectation est illégale car les types ne correspondent pas ou qui détecte qu une variable locale est utilisée avant d être initialisée. 2.4 Génération de code Le générateur de code se sert des informations et des structures obtenues et créées par les analyseurs lexical, syntaxique et sémantique pour émettre le code destination. Quand le langage à compiler est de haut niveau, la génération de code peut se faire en plusieurs étapes. Chacune traduisant le programme vers un langage de moindre niveau d abstraction. C est particulièrement vrai pour les compilateurs optimisants dans lesquels chacune des optimisations est généralement spécifique à une étape particulière. D une certaine façon, dans le cadre d un système de compilation C, les phases de pré-traitement et d assemblage peuvent être considérée comme des étapes intermédiaires entre le langage de haut niveau qui est le C avec des directives de précompilation et le langage de bas niveau qui est le code machine du processeur. Toutefois, même l étape proprement dite de compilation C, qui traduit du code C pur en assembleur, se fait à l interne en utilisant des langages intermédiaires. 3 Structure d un interpréteur La structure interne d un interpréteur est presque identique à la structure d un compilateur expliquée à la Section 2. La seule différence, c est que le générateur de code est remplacé par un exécuteur de code comme le montre la figure 7. L interpréteur est réflexif si l exécuteur de code peut interpréter directement du code source nouveau, qui peut être soit extrait des données du programme, soit dynamiquement construit sous une forme manipulable par le langage interprété, comme une chaîne de caractères par exemple. Ceci est représenté sur la figure par la flèche entre l exécuteur de code et l analyseur lexical. Dans le cadre des interpréteurs interactifs, la structure principale est une boucle, appelée read-eval-print, où l exécution d une instruction est suivie 13
14 3 STRUCTURE D UN INTERPRÉTEUR par la lecture, l analyse et l exécution de l instruction suivante. Données Source texte Source structuré Analyseur lexical Structures de données Analyseur syntaxique Analyseur sémantique Exécuteur de code Résultats Interpréteur FIGURE 7 Structure d un interpréteur Tout comme le générateur de code dans le cadre d un compilateur, l exécuteur de code se sert des informations et des structures obtenues et créées par les analyseurs lexical, syntaxique et sémantique pour réaliser les tâches décrites dans le code source. Toutefois, l interpréteur doit également maintenir des structures de données additionnelles permettant de représenter l état d exécution du programme. Dans le cas des interpréteur mixtes, l interprétation peut se faire non pas sur le code source originel mais sur une représentation intermédiaire. C est par exemple le cas des interpréteurs PERL et PYTHON qui compilent à l interne le code source en un code binaire puis interprètent ce code binaire. Toutefois, ce travail de compilation est à recommencer à chaque nouvelle exécution d un programme (sauf si l interpréteur peut sérialiser ce code binaire et le réutiliser lors des exécutions suivantes, ce propose l interpréteur PYTHON avec les fichiers *.pyc). De plus, un interpréteur mixte disposant d un compilateur juste-à-temps peut choisir compiler des morceaux de code source (ou plus vraisemblablement de code binaire intermédiaire) en code binaire machine directement exécutables par le processeur physique. 14
15 4 EXERCICES 4 Exercices 1. Identifiez cinq langages de programmation compilés. Pour chacun des langages, identifiez les systèmes d exploitation et les processeurs actuellement supportés. 2. Identifiez cinq langages de programmation interprétés. Pour chacun des langages, identifiez les systèmes d exploitation et les processeurs actuellement supportés. 3. Identifiez cinq langages de programmation pour chacun desquels il existe au moins un compilateur et un interpréteur. 15
Évaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Éléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix ([email protected]) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Quelques éléments de compilation en C et makefiles
Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
L informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Environnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
Programmation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Algorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Cours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas [email protected] Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Traduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Chapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
TP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Cours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Annexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Chapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
PARAGON - Sauvegarde système
PARAGON - Sauvegarde système 1 Télécharger Paragon Backup & Recovery 2013 Free Disponible maintenant gratuitement et en français, Paragon Backup & Recovery 2013 Free est un logiciel-utilitaire permettant
Mise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected]
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected] Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Introduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
Optimisation de logiciels de modélisation sur centre de calcul
Optimisation de logiciels de modélisation sur centre de calcul Gérald Monard Pôle de Chimie Théorique http://www.monard.info/ Introduction Les ordinateurs sont des appareils électroniques permettant d
Machines virtuelles. Brique ASC. Samuel Tardieu [email protected]. Samuel Tardieu (ENST) Machines virtuelles 1 / 40
Machines virtuelles Brique ASC Samuel Tardieu [email protected] École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Cours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine [email protected] Transparents Disponibles
SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...
Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
La mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
eduscol Ressources pour la voie professionnelle Français Ressources pour les classes préparatoires au baccalauréat professionnel
eduscol Ressources pour la voie professionnelle Ressources pour les classes préparatoires au baccalauréat professionnel Français Présentation des programmes 2009 du baccalauréat professionnel Ces documents
Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
De quoi avez-vous besoin pour ce manuel?
Introduction Le commerce électronique est devenu l un des grands sujets de préoccupation des chefs d entreprise du monde entier. Ces derniers répètent à l envie que leur priorité absolue est de relever
Architectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
Bien architecturer une application REST
Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui
Machines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 [email protected] PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy
Claude Delannoy S initier à la la programmation Avec des exemples en Avec des exemples en C, C++, C#, Java et PHP C, C++, C#, Java et PHP S initier à la programmation Avec des exemples en C, C++, C#, Java
Générer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée
Communiqué de presse Charles-Yves Baudet Twitter: Les clients de Teradata Teradata Corporation peuvent [email protected] tirer parti de plusieurs + 33 1 64 86 76 14 + 33 (0) 1 55 21 01 48/49 systèmes,
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Chapitre 1 Qu est-ce qu une expression régulière?
Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en
Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)
LA BOITE A OUTILS DE L ACHETEUR DE BPM Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) La boîte à outils de l acheteur de solution BPM -
Conservation des documents numériques
Conservation des documents numériques Qu'est ce qu'un document numérique? Matthieu GIOUX [email protected] Contexte de la préservation des documents numériques Une croissance en expansion Développement
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Créer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09
INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL
Manuel de System Monitor
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation
Ecrire pour le web. Rédiger : simple, concis, structuré. Faire (plus) court. L essentiel d abord. Alléger le style. Varier les types de contenus
Ecrire pour le web Un texte web de lecture aisée pour l internaute, l est aussi pour les moteurs de recherche ; l écriture peut ainsi être mise au service du référencement naturel. De façon complémentaire,
Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12
GTK+ GLADE Page 1 sur 12 SOMMAIRE INTRO 3 Présentation de GTK+ 3 Présentation de GLADE 3 GTK+ 4 Installation 4 Les Widgets 4 Le système de hiérarchie 5 Les signaux 6 GLADE 7 Installation 7 L interface
Cours Langage C/C++ Programmation modulaire
Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon [email protected] «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
CH.3 SYSTÈMES D'EXPLOITATION
CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,
Python - introduction à la programmation et calcul scientifique
Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de
Serveur d Applications Web : WebObjects
Serveur d Applications Web : WebObjects Nicolas Roard 29 avril 2004 Table des matières 1 Introduction 1 2 Historique 1 2.1 Implémentation WebObjects....... 2 2.2 Différences et manques?......... 3 3 Principes
Rebol, un langage «différent»
02 Rebol (1) Chap 01 Page 13 Mardi, 18. septembre 2001 6:06 18 1 Rebol, un langage «différent» «Il est temps de faire quelque chose de différent.» Cette phrase de Carl Sassenrath, le concepteur de Rebol,
BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS
Quatrième colloque hypermédias et apprentissages 275 BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Anne-Olivia LE CORNEC, Jean-Marc FARINONE,
DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?
DOSSIER SOLUTION CA ERwin Modeling Comment gérer la complexité des données et améliorer l agilité métier? CA ERwin Modeling fournit une vue centralisée des définitions de données clés afin de mieux comprendre
Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar [email protected]
Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar [email protected] Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines
IV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
ASP 3.0 Professionnel
Introduction On dit que, toute sa vie, chacun se souvient exactement de ce qu il fait et de l endroit où il est lorsque des faits marquants se produisent, par exemple le décès de Lady Diana ou l élection
Retrouver de vieux programmes et jouer sur VirtualBox
CHAPITRE 3 Retrouver de vieux programmes et jouer sur VirtualBox Ce chapitre présente des notions avancées de VirtualBox. Elles permettront de réaliser des configurations spécifiques pour évaluer des systèmes
Université de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plateforme de capture et d analyse de sites Web AspirWeb
Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises
Introduction aux Systèmes et aux Réseaux, Master 2 CCI
aux Systèmes et aux Réseaux, Master 2 CCI Cours 1 : Introduction et contexte Unix/Linux Laure Gonnord http://laure.gonnord.org/pro/teaching/ [email protected] Master CCI - Université Lyon 1 -
Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?
Le "Portrait de la Biodiversité Communale" est un document réalisé au niveau national pour chaque commune, regroupant les connaissances publiques disponibles et mobilisables à l'échelle nationale en matière
GOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
UltraBackup NetStation 4. Guide de démarrage rapide
UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...
Présentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
ISO/CEI 11172-3 NORME INTERNATIONALE
NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s
ACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Unix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL
UN LIVRE BLANC DE BORLAND RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL L'automatisation du processus de test fonctionnel optimise la qualité des logiciels et maximise leur valeur opérationnelle.
Module d anonymisation
Module d anonymisation Préambule Ce module permet d «anonymiser» un fichier, c est à dire de masquer les informations qu il contient en fonction de règles préalablement spécifiées. Le fichier généré par
Langage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne [email protected]
Vulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
Introduction à Windows Script Host DescoDev
1. Introduction à Windows Script Host 1 1 Introduction à Windows Script Host 1. Introduction à Windows Script Host 2 1. Introduction à Windows Script Host Windows Script Host (WSH) est un environnement
RTDS G3. Emmanuel Gaudin [email protected]
RTDS G3 Emmanuel Gaudin [email protected] PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,
