Chap. 2. Langages et automates

Dimension: px
Commencer à balayer dès la page:

Download "Chap. 2. Langages et automates"

Transcription

1 Chapitre 2. Langages et automates 1. Quelques définitions et description d un langage. 2. Les expressions régulières. 3. Les automates fini déterministes et non-déterministes. 4. Construction automatique d un analyseur lexical. M. KRAJECKI 1 Licence Informatique 1. Alphabets, mots Pour représenter un problème, nous devons définir un ensemble fini de symboles appelé alphabet (par la suite, noté ). Définition 1 (alphabet) Un alphabet est un ensemble fini de symboles appelés caractères. En fait, la seule caractéristique essentielle est sa taille, les caractères choisis ne sont pas importants (construction d une bijection entre les symboles). Exemple, alphabet de taille 3 : ; ; Définition 2 (mot, longueur) Un mot est une séquence finie d éléments (chaîne) issus d un même alphabet. La longueur du mot (notée ) est définie par le nombre de caractères composant ce mot. Le mot vide, noté a une longueur égale à 0. Exemple :,, sont des mots de l alphabet. M. KRAJECKI 2 Licence Informatique

2 2. Description d un langage Définition 3 (langage) Un langage est un ensemble de mots définis sur le même alphabet. Exemple : soit l alphabet, l ensemble des mots est un langage sur cet alphabet. Attention : le langage vide, noté, est différent du langage. Description d un langage : langage fini énumération de tous les mots ; langage infini définition directe des langages simples + composition. M. KRAJECKI 3 Licence Informatique Description d un langage Définition 4 (Union de 2 langages) est le langage contenant tous les mots de et de : ou Définition 5 (Concaténation de 2 langages) est le langage contenant tous les mots formés d un mot de suivi d un mot de : et Définition 6 (Fermeture itérative (ou de Kleene) de ) La fermeture itérative est définie par l ensemble des mots formés par une concaténation finie des mots de "! #%$ et &'( )* tels que +'( ) M. KRAJECKI 4 Licence Informatique

3 Langages réguliers et expressions régulières Définition 7 (Langages réguliers) L ensemble des langages réguliers sur un alphabet est le plus petit ensemble des langages satisfaisant les conditions suivantes : pour tout 3. si alors * et Les expressions régulières sont une notation qui indique comment l ensemble régulier est construit à partir des ensembles réguliers élémentaires. M. KRAJECKI 5 Licence Informatique Expressions régulières Définition 8 (Expressions régulières) Les expressions régulières pour un alphabet sont les expressions formées par les règles suivantes : 1., et les éléments de sont des expressions régulières 2. Si et sont des expressions régulières, alors, et sont des expressions régulières. Le langage représenté par l expression régulière est défini ainsi : 1., 2. pour tout M. KRAJECKI 6 Licence Informatique

4 Expressions régulières : exemples L ensemble de tous les mots définis à partir d un alphabet est dénoté par l expression régulière. Cette expression est souvent abrégée en. L ensemble de tous les mots non vides (! #, noté $ ou $%. de " ) est noté &'()' &'( définit l ensemble des mots composés par et ' contenant au moins un '. M. KRAJECKI 7 Licence Informatique 3. Les automates finis Les automates finis sont très utilisés en informatique. Pour la compilation : recherche de chaîne de caractères dans un texte. Abstraction d un ordinateur, un ordinateur est composé de : un processeur avec des registres (compteur de programme) ; une mémoire pour stocker le programme ; une mémoire pour les données. Exécution d un programme : 1. Chargement de l instruction indiquée par le compteur de programme. 2. Exécution de l instruction modification des registres et / ou de la mémoire de données. 3. Le compteur de programme est modifié. M. KRAJECKI 8 Licence Informatique

5 Automate fini déterministe Pour prévoir l effet d un cycle (l exécution d une instruction), il suffit de connaître l état de la mémoire + registres. Un état est défini par le contenu de la mémoire et des registres de l ordinateur. À chaque cycle, l état de la machine est modifiée. La transformation de cet état est une fonction (appelée fonction de transition) de l ensemble des états de la machine vers elle-même. Si, de plus, nous connaissons l état initial de la machine, nous pouvons en déduire l exécution exacte de la machine. M. KRAJECKI 9 Licence Informatique Automate fini déterministe : définition informelle Un automate fini déterministe se compose ainsi : un ruban d entrée sur lequel est placé le mot (les données) à traiter. Le ruban est composé d un ensemble de cases, chaque case contenant un caractère. L automate utilise une tête de lecture pour connaître le caractère suivant. Un ensemble d états dont un état initial (état au début de l exécution) et des états d acceptation qui définissent les mots acceptés par l automate. Une fonction de transition qui indique pour chaque état et symbole lu, le prochain état de l automate. M. KRAJECKI 10 Licence Informatique

6 Automate fini déterministe : définition Définition 9 (Automate fini déterministe) Un Automate Fini Déterministe (noté AFD) est défini formellement par un quintuplet où : est un ensemble fini d états ; est un alphabet ; est la fonction de transition ; est l état initial (start) ; est l ensemble des états accepteurs. Définition 10 (Configuration d un AFD) Une configuration d un AFD est une paire composée de l état de l automate plus la partie du mot restant à traiter :. M. KRAJECKI 11 Licence Informatique Dérivation Définition 11 (Dérivation) La configuration est dérivable en une étape de par (noté ) si :! (, est le premier caractère de et est égal à privé de ). " ( est le prochain état déterminé par la fonction de transition pour et ). Une configuration est dérivable (en plusieurs cylces) d une autre, si elle peut être obtenue par une séquence finie de dérivations en une étape : est dérivable par de (noté ) s il existe! # $ et des configurations $# %# $'&()&! telle que : +*,* ) ) -.( 0/ $!1 +# %# +#32,#42. M. KRAJECKI 12 Licence Informatique

7 Exécution d un automate Donc, nous pouvons en déduire l exécution d un automate : où est l état initial et (( le mot vide. Il n y a qu une exécution possible pour chaque mot. Définition 12 (Acceptation) Un mot est accepté si le dernier état de la machine est un état accepteur : est accepté par si et * Le langage accepté par (noté ) est défini par l ensemble des mots acceptés par : et * M. KRAJECKI 13 Licence Informatique Représentation par un graphe À chaque état, on associe un nœud du graphe. La relation de transition est représentée par des arcs valués : si, il existe un arc entre les sommets et. L état initial est signalé par une flèche et les états accepteurs par des doubles cercles. Voici un automate :! Accepte tous les mots se terminant par : #" %$. M. KRAJECKI 14 Licence Informatique

8 Simulation du comportement d un AFD SIMULATIONAFD 1 ( ( $ {début du mot} 2 while 3 do if 4 then return 5 else if est défini 6 then 7 else return 8 ( ( +( ( {on a traité un symbole} 9 if 10 then return ( 11 else return M. KRAJECKI 15 Licence Informatique Les automates finis non déterministes Les automates finis non déterministes sont des automates où les constructions suivantes sont autorisées : plusieurs transitions correspondent au même caractère (ou symbole) dans chaque état ; des transitions sur le mot vide sont autorisées ; des transitions sur des mots de longueur supérieur à 1 sont possibles (regroupement de transition). M. KRAJECKI 16 Licence Informatique

9 Automate fini non déterministe Définition 13 (Automate fini non déterministe) Un Automate Fini Non déterministe (noté AFN) est défini formellement par un quintuplet où : est un ensemble fini d états ; est un alphabet ; est la relation de transition ; est l état initial (start) ; est l ensemble des états accepteurs. nouvelle définition de la dérivation : est dérivable en une étape par de si : ; (le triplet est un élément de la relation de transition). M. KRAJECKI 17 Licence Informatique Remarques sur les AFN Un mot est accepté par un automate non détermnisite s il existe une dérivation qui accepte ce mot. Nous laissons l automate choisir la bonne dérivation. Le non déterminisme permet de construire facilement des automates utilisant la disjonction et l itération, mais ne reconnaît pas plus de langages que les automates déterministes. M. KRAJECKI 18 Licence Informatique

10 Exemple d un AFN a Les mots et sont acceptés par cet automate. M. KRAJECKI 19 Licence Informatique Simulation d un AFN Problème : il existe plusieurs dérivations pour un même mot! 1. Il faut vérifier si l une d entre elles permet d accepter le mot. 2. Il faut être en mesure de revenir en arrière (backtrack) , bb échec 0, abb 0, aabb 1, bb 2, b 1, abb échec 3 3, le mot est accepté Utilisation de la récursivité. M. KRAJECKI 20 Licence Informatique

11 Principe de la simulation d un AFN SIMULATIONAFN 1 {on commence avec e=start et p=0} 2 if 3 then return 4 else 5 if états pour notés * &'( 6 then 7 ( $ 8 while et ( 9 do 10 SIMULATIONAFN # 11 ( ( 12 return M. KRAJECKI 21 Licence Informatique Construction d un AFN qui reconnait le langage d une expression regulière La construction se fait sur la syntaxe de l expression régulière. : : Soit et, 2 epxressions régulières, on représente par l AFN de et celui de par : Remarque : on ajoute un arc étiqueté depuis l état accepteur de vers l état initial de. M. KRAJECKI 22 Licence Informatique

12 Construction d un AFN qui reconnait le langage d une expression regulière Pb : si " " : Solution : on ajoute un nouvel état accepteur. nouvelle état d acceptation " : M. KRAJECKI 23 Licence Informatique Construction d un AFN qui reconnait le langage d une expression regulière $ : { permet d accepter le mot vide } Exemple : #" $ M. KRAJECKI 24 Licence Informatique

13 Transformation d un AFN vers un AFD équivalent Un AFD est équivalent à un AFN s il accepte le même langage. 1) 2) On simule "en parallèle" les 2 états possibles pour une transition de sur. M. KRAJECKI 25 Licence Informatique -closure Définition 14. Soit un ensemble d états d un AFN. L -closure(a) est alors défini par l ensemble des états de accessibles depuis tout état par des -transitions uniquement. Remarque :. Il est donc possible, en utilisant cette définition, de construire automatiquement un AFD équivalent à un AFN donné. À partir de l -closure de l état initial (qui correspondra à l état initial de l AFD), on construit de proche en proche (en suivant les transitions de l AFN) les états de l AFD correspondant. M. KRAJECKI 26 Licence Informatique

14 AFNVERSAFD Algorithme de transformation AFN vers AFD 1 $* {s est l état initial de M} 2 * MARQUE * 3 while tel que MARQUE 4 do MARQUE 5 for - 6 do 7 8 if 9 then 10 MARQUE M. KRAJECKI 27 Licence Informatique Exemple Exemple : #" $ A B D C E E est le seul état accepteur car il contient l état 10 de l AFN. M. KRAJECKI 28 Licence Informatique

15 ) Exécution de l algorithme x M(x) T y A={0,1,2,4,7} V A {3,8} {3,8,6,1,7,2,4} A B B={3,8,6,1,7,2,4} F V A {5} {5,6,7,1,2,4} A C={1,2,4,5,6,7} F V B {3,8} B B B {5,9} {5,9,6,7,1,2,4} B D D={1,2,4,5,6,7,9} F V C {3,8} C B C {5} C D {3, 8} D B D {5, 10} {5,6,1,2,4,7,10} D E={1,2,4,5,6,7,10} F V E {3, 8} E B E {5} E C C E C M. KRAJECKI 29 Licence Informatique Partitionnement Soient et deux états de et une partition de. et sont équivalents dans si et seulement si pour tout symbole, les états et ont des transitions vers des états appartenant au même bloc de. Définition 15 Équivalence entre deux états. Soit &(( ) une partition, c est à dire : -.( # ; -.( # et -.( ( # ; # #. Les états et sont équivalent dans ( ) si et seulement si : - et Le but du partitionnement est de réduire le nombre d états d un AFD. M. KRAJECKI 30 Licence Informatique

16 Algorithme de minimisation des états MINIMISATION while 3 do 4 for 5 do positionner B en sous bloc B tel que 2 états s et t de B sont 6 dans le même bloc s ils sont équivalents pour 7 while 8 do 9 while $ ' 10 do 11 if 12 then 13 M. KRAJECKI 31 Licence Informatique Exemple (suite) On doit sortir à cause de la transition sur. Donc : M. KRAJECKI 32 Licence Informatique

17 Exemple (suite) On doit sortir (transition sur ). On en déduit : Donc et sont équivalents. M. KRAJECKI 33 Licence Informatique 4. Construction automatique d un analyseur lexical L analyseur lexical est la première composante de la phase d analyse nécessaire à un compilateur. Le rôle de l analyseur lexical (AL) : AL lit les caractères en entrée (le prog. source) et reconnait des lexèmes. Le résultat de l AL est une suite de lexèmes qui propose une première structuration du programme. Il existe une interaction très forte entre l AL et l analyseur syntaxique. programme source Analyseur lexical lexème obtenir un lexème Analyseur syntaxique Table des symboles M. KRAJECKI 34 Licence Informatique

18 Construction automatique de l AL à l aide d automates L analyse lexicale permet : 1. Une simplification de la phase d analyse. 2. Efficacité du compilateur accrue. 3. Portabilité du compilateur. Objectifs : construire un AL qui accepte unités lexicales notées &((. 1. Représenter chaque unité lexicale par une expression régulière. 2. Construire un AFN pour chaque expression régulière. 3. Transformer chaque AFN en AFD (optimisation). 4. Réduire le nombre d états des AFD (optimisation). M. KRAJECKI 35 Licence Informatique Construction automatique de l AL à l aide d automates ANALYSEURLEXICAL 1 on essaie 2 if! 3 then return 4 else on essaie 5 if! 6 then return +(( 7 else on essaie 8 if 9 then return M. KRAJECKI 36 Licence Informatique

19 Construction automatique de l AL à l aide d automates En pratique, on cherche à reconnaître le lexème le plus grand (qui comporte le plus grand nombre de caractères). Attention : 1. Un lexème est différent d une unité lexicale : une unité lexicale définit un langage régulier représenté par une expression régulière ; un lexème est un mot de ce langage. 2. L ordre de définition des unités lexicales est important : si 2 unités lexicales peuvent être choisies pour un même lexème, c est l unité lexicale définie le plus tôt qui est choisie. M. KRAJECKI 37 Licence Informatique 5. Limite des expressions régulières et automates à pile On ne peut pas définir tous les langages à l aide d expressions régulières. Exemple : L = { # $ } ne peut être défini par une expression régulière. Preuve : voir TD. Un automate à pile non déterministe est composé des mêmes éléments qu un AFN : un ruban d entrée et une tête de lecture ; un ensemble d états dont on distingue un état initial et un ensemble d états d acceptation ; une relation de transition. On ajoute à ces composantes, une pile de capacité infinie initialement vide. À chaque étape du calcul, l automate à pile consulte le sommet de la pile et la remplace par une autre suite de symboles. M. KRAJECKI 38 Licence Informatique

20 Automate fini non déterministe à pile Définition 16 Un Automate fini non déterministe à pile est défini par : Où : est un ensemble fini d états ; est un alphabet ; est l aphabet de la pile ; est la relation de transition : ; est le symbole initial de la pile ; est l état initial ; est l ensemble des états d acceptations. M. KRAJECKI 39 Licence Informatique Configuration et dérivation d un automate à pile Remarque : & ) & signifie que : l automate passe de l état à l état sur le mot si la chaîne est au sommet de la pile ; à l état, le sommet de la pile a été remplacé par. M. KRAJECKI 40 Licence Informatique

21 Configuration et dérivation d un automate à pile Définition 17 Configuration et dérivation. Une configuration d un automate à pile est définie par un triplet ( état, mot en entrée, contenu de la pile) :. La configuration est dérivable en une étape de par ( ) si : (le mot commence par le préfixe ) ; (avant la transition, le sommet de la pile contient ) ; (après la transition, est enlevé du sommet de la pile et il est remplacé par ) ; M. KRAJECKI 41 Licence Informatique Exécution d un automate à pile Une configuration est dérivable en plusieurs étapes de la configuration par ( ) s il existe!# $ et des configurations intermédiaires * (' ) telles que : * ; ) ; # #42 pour $'&()&%!. Une exécution d un automate à pile sur un mot est une suite de configurations : (' ( est l état initial et, le symbole initial au sommet de la pile). M. KRAJECKI 42 Licence Informatique

22 Acceptation d un mot par un automate à pile Un mot est accepté par un automate à pile si ( acceptation sur état final) : avec Ou bien (acceptation sur pile vide) : accepte s il existe une exécution sur menant à une configuration où la pile est vide : Les deux définitions sont équivalentes (i.e. les automates reconnaissent les mêmes langages). M. KRAJECKI 43 Licence Informatique Exemple Définition de, l automate à pile qui reconnaît # $ sur pile vide. * + * $* $* * (on empile le symbole ) $* + (on dépile) + (on dépile) * Exécution pour : $* $* $* est accepté. M. KRAJECKI 44 Licence Informatique

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

Chapitre 4 Automates à pile et langages hors-contexte

Chapitre 4 Automates à pile et langages hors-contexte Chapitre 4 Automates à pile et langages hors-contexte 87 Introduction Langage a n b n n est pas accepté par un automate fini. Par contre L k = {a n b n n k} est accepté. Mémoire finie, mémoire infinie,

Plus en détail

Automate Fini Non-déterministe

Automate Fini Non-déterministe Automate Fini Non-déterministe Théorème de Kleene Systèmes Formels Master 1 ISIDIS Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/~verel Université du Littoral Côte d Opale

Plus en détail

Machines de Turing. Chapitre 14 14.1. DÉFINITION ET FONCTIONNEMENT

Machines de Turing. Chapitre 14 14.1. DÉFINITION ET FONCTIONNEMENT Chapitre 4 Machines de Turing Dans ce chapitre on présente un modèle de calcul introduit dans les années 3 par Turing, les machines de Turing. Ces machines formalisent la notion de calculabilité. La thèse

Plus en détail

L2: cours I4c Langages et automates

L2: cours I4c Langages et automates L2: cours I4c Langages et automates Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr Modifié le 31 mai 2007 Sommaire Utiles pour compilation, interprétation,... 1. Langages rationnels 2. Langages

Plus en détail

Grammaires hors-contexte

Grammaires hors-contexte Analyse syntaxique Grammaires hors-contexte Une grammaire hors-contexte est un 4-uplet N, Σ, P, S où : N est un ensemble de symboles non terminaux, appelé l alphabet non terminal. Σ est un ensemble de

Plus en détail

Algorithmique - Programmation 1. Cours 1

Algorithmique - Programmation 1. Cours 1 Algorithmique - Programmation 1 Cours 1 Université Henri Poincaré CESS Epinal Automne 2008 1/ 24 Plan Introduction Introduction A propos d AP1 Quelques concepts de base Premiers pas avec Caml Le branchement

Plus en détail

Modélisation de systèmes par automates finis

Modélisation de systèmes par automates finis LIP6 - UPMC Année 2010 2011 Master SAR - MSR Aide mémoire Modélisation de systèmes par automates finis Table des matières 1 Introduction : modélisation par automates finis 1 2 Systèmes de transitions et

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la première partie

Mathématiques pour l informatique 1 notes de cours sur la première partie 1 Mathématiques pour l informatique 1 notes de cours sur la première partie L1 Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances

Plus en détail

Automates & Langages

Automates & Langages Automates & Langages Frédéric Olive 1 2010 / 2011 1. LIF/CMI, 39 rue joliot Curie, 13453 Marseille - 04 13 55 13 16 - frederic.olive@lif.univ-mrs.fr Table des matières Introduction 5 1 Langages réguliers

Plus en détail

Ioannis Parissis UFR IMA Laboratoire LIG. Test logiciel

Ioannis Parissis UFR IMA Laboratoire LIG. Test logiciel Test logiciel Objectif et plan du du cours Présenter les concepts de base sur le test logiciel Introduire des techniques simples pour construire des tests A partir de la spécification informelle du programme

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

Journée ISN, 13 juin 2012.

Journée ISN, 13 juin 2012. Journée ISN, 13 juin 2012. Et l architecture dans tout ça? 1/13 Matériel et architecture. 2/13 Matériel et architecture. En licence, nous distinguons nettement le matériel de l architecture. 2/13 Matériel

Plus en détail

CHAPITRE 5 : ANALYSE LEXICALE

CHAPITRE 5 : ANALYSE LEXICALE CHAPITRE 5 : ANALYSE LEXICALE L analyse lexicale est un autre domaine fondamental d application des automates finis. Dans la plupart des langages de programmation, les unités lexicales (identificateurs,

Plus en détail

Déroulement de l épreuve

Déroulement de l épreuve Déroulement de l épreuve Le sujet, volontairement très long, se compose de deux problèmes indépendants. Le candidat pourra au choix se concentrer sur l un des deux problèmes ou les aborder tous les deux.

Plus en détail

TD 2 - Modèles de calcul

TD 2 - Modèles de calcul TD 2 - Modèles de calcul Remarques préliminaires Si ou désigne une relation binaire (de dérivation/transition suivant le contexte), on notera ou sa clôture transitive, comprendre la relation obenue en

Plus en détail

Sommaire. Introduction à la compilation. Notion de compilation. Notion de compilation. Notion de compilation. Notion de compilation

Sommaire. Introduction à la compilation. Notion de compilation. Notion de compilation. Notion de compilation. Notion de compilation Introduction à la compilation A. DARGHAM Faculté des Sciences Oujda Sommaire Environnement d un compilateur Schéma global d un compilateur Caractéristiques d un bon compilateur Définition Un compilateur

Plus en détail

Un alphabet Un ensemble fini non vide s'appelle un alphabet. Langages réguliers et automates. Un mot. Un langage. {a,b} non. A.

Un alphabet Un ensemble fini non vide s'appelle un alphabet. Langages réguliers et automates. Un mot. Un langage. {a,b} non. A. Langages réguliers et automates finis A. Maurer Mars 09 Un alphabet Un ensemble fini non vide s'appelle un alphabet Ensemble Σ {a,b} {a,b,a,b} L'ensembledes nombres naturels pairs Alphabet? oui non oui

Plus en détail

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions Un problème concret Recherche de collisions IN 101 - Cours 05 7 octobre 2011 Le paradoxe des anniversaires dit que 365 élèves sont suffisants (en moyenne) pour avoir une collision d anniversaire, deux

Plus en détail

Calculabilité Cours 2 : Machines de Turing

Calculabilité Cours 2 : Machines de Turing Calculabilité Cours 2 : Machines de Turing Introduction Un autre type de modèle de calcul Les fonctions récursives et les fonctions λ représentables définissent des modèles de calculs dans k N Nk N Nous

Plus en détail

Automates et circuits : Automates

Automates et circuits : Automates et circuits : Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Aix-Marseille Université Représenter un système par un automate But de ce cours Etre capable de représenter un système ou une machine

Plus en détail

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Les automates Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Avril 2015 Retour sur l île et le barman Deux problèmes similaires: Des îles, des bateaux et un trésor à trouver

Plus en détail

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0.

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0. Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE IN7W11, Modèles de calcul. Responsable A. Muscholl Session 1, 2011 2012. 12 décembre 2011, 14h-17h. Documents autorisés :

Plus en détail

Épreuve orale d Informatique Fondamentale

Épreuve orale d Informatique Fondamentale Épreuve orale d Informatique Fondamentale Patrick Baillot, Nicolas Ollinger, Alexis Saurin ULC MPI 2013 Résumé Ce document consiste en une sélection, à titre d exemples, de 3 sujets proposés à l épreuve

Plus en détail

Modèles de calculs. Chapitre 7

Modèles de calculs. Chapitre 7 Chapitre 7 Modèles de calculs Nous avons utilisé jusque-là à de multiples reprises la notion d algorithme, sans en avoir donné une définition formelle. Intuitivement, on peut se dire qu un algorithme est

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes. Automates à pile Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 62 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates

Plus en détail

Informatique Chapitre 4: Types et typages

Informatique Chapitre 4: Types et typages Informatique Chapitre 4: Types et typages Booléens et listes Jérôme DIDIER 8/10/2014 Objectifs du cours Compétences visées Savoir que les variables peuvent avoir plusieurs types et les connaitre ; Type

Plus en détail

Introduction à l'informatique

Introduction à l'informatique Introduction à l'informatique DEUG Sciences et Technologie Première année Autour de la programmation Catherine Mongenet Pierre Gancarski (supports réalisés par Catherine Mongenet et Pascal Schreck) Rappels

Plus en détail

Cours d informatique du 17/11/2009 A. Rappels sur les boucles

Cours d informatique du 17/11/2009 A. Rappels sur les boucles Cours d informatique du 17/11/2009 A. Rappels sur les boucles 1) Rappel sur les invariants de boucle : L invariant de boucle est un outil pour concevoir cette boucle. Il peut exister plusieurs invariants

Plus en détail

Algorithmes pour les graphes

Algorithmes pour les graphes Algorithmes pour les graphes 1 Définitions Un graphe est représenté par : V : L ensemble des noeuds ou sommets. E : L ensemble des arcs ou arrêtes. E est un sous-ensemble de V xv. On note G = (V, E). Si

Plus en détail

Calculabilité distribuée : Protocoles de population

Calculabilité distribuée : Protocoles de population Langages formels, Calculabilité, Complexité Calculabilité distribuée : Protocoles de population Yoann Bourse 2009-2010 : Semestre 1 Plan de la présentation 1 Principe et exemples Compteur Comparaison Calculs

Plus en détail

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

Résolution de problèmes en intelligence artificielle et optimisation combinatoire : les algorithmes A*

Résolution de problèmes en intelligence artificielle et optimisation combinatoire : les algorithmes A* Résolution de problèmes en intelligence artificielle et optimisation combinatoire : les algorithmes A* Michel Couprie Le 5 avril 2013 Ce document est une courte introduction à la technique dite A*. Pour

Plus en détail

TD 5 : Les piles. PC* - Lycée Thiers 2015/2016

TD 5 : Les piles. PC* - Lycée Thiers 2015/2016 2015/2016 Exercice 1 : Pile renversée Corrigé Consignes Pour tous les exercices de cette planche on aura préalablement écrit l implémentation des piles à capacité limitée ou illimitée vue en cours, et

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

Initiation à la programmation

Initiation à la programmation Initiation à la programmation 1 re partie Ce cours est largement inspiré de "Informatique et sciences du numérique"-gilles DOWEK(Eyrolles) Nous avons vu, par ailleurs, qu un ordinateur peut effectuer des

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

Les procédures. Chapitre 7

Les procédures. Chapitre 7 Les procédures Chapitre 7 1 Intérêt Créer une instruction nouvelle qui deviendra une primitive pour le programmeur Structurer le texte source du programme et améliorer sa lisibilité Factoriser l'écriture

Plus en détail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail

Introduction à l informatique et la programmation IF1 2010-2011

Introduction à l informatique et la programmation IF1 2010-2011 Préambule Organisation Organisation générale Introduction à l informatique et la programmation IF 200-20 Matthieu Picantin Cours le jeudi de 4h30 à 6h30 en amphi 2A groupe α : 6/09 4/0 28/0 25/ 09/2 groupe

Plus en détail

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

Fiche de révisions - Algorithmique

Fiche de révisions - Algorithmique Fiche de révisions - Algorithmique Rédigé par : Jimmy Paquereau 1. Généralités Algorithme : un algorithme est la description d une procédure à suivre afin de résoudre un problème donné. Il n est pas nécessairement

Plus en détail

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8)

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8) Architecture des Ordinateurs Partie III : Liens avec le système d exploitation 2. Génération de code David Simplot simplot@fil.univ-lille1.fr Objectifs Voir la génération de code ainsi que les mécanismes

Plus en détail

Introduction au langage

Introduction au langage Introduction au langage Un langage de programmation : de haut niveau interprété orienté objet si on le souhaite rapide à écrire et proche du pseudo-code simple tant qu on fait des choses simples Un programme

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes

Plus en détail

PC* Structure de pile

PC* Structure de pile Structure de pile I. Définition........................................... 2 I.1 Introduction..................................... 2 I.2 Opérations caractérisant une structure de pile...................

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation. CTD : Variables et types de données

USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation. CTD : Variables et types de données USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation 1 Motivation 1.1 Un problème CTD : Variables et types de données État initial : Tas 1 un nombre quelconque de cartes, les autres tas

Plus en détail

Système et Programmation (en C)

Système et Programmation (en C) Système et Programmation (en C) ENSTA - TC 1ère année François Pessaux U2IS 2015-2016 francois.pessaux @ ensta-paristech.fr Introduction François Pessaux IN102 Système et Programmation (en C) 2/31 But

Plus en détail

Apprendre à programmer

Apprendre à programmer La résolution des problèmes est traitée suivant le cycle de développement analyse conception codage. L analyse du problème conduit à la conception d un algorithme répondant aux exigences exprimées. Chaque

Plus en détail

Analyse lexicale Analyse syntaxique Évaluation

Analyse lexicale Analyse syntaxique Évaluation Analyse lexicale Analyse syntaxique Évaluation Génération de code - Cours 1 {Remi.Forax, Matthieu.Constant, Michel.Chilowicz}@univ-mlv.fr Tatoo nain d'argentine ( Cliff1066, CC-By) Génération de code Objectifs

Plus en détail

Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés.

Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés. Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés. 1 0.0.1 Suite récurrente (Fibonacci) * Réécrire la fonction u de façon à ce qu elle ne soit

Plus en détail

Corrigé du TP n o 5 2013/2014. Lycée Louis-Le-Grand, Paris MPSI 4 Informatique pour tous A. Troesch, J.-P. Becirspahic

Corrigé du TP n o 5 2013/2014. Lycée Louis-Le-Grand, Paris MPSI 4 Informatique pour tous A. Troesch, J.-P. Becirspahic Lycée Louis-Le-Grand, Paris MPSI 4 Informatique pour tous A. Troesch, J.-P. Becirspahic 2013/2014 Corrigé du TP n o 5 Exercice 1. recherche d un élément dans un tableau non trié 1. Le principe de la recherche

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

Cours de Compilation

Cours de Compilation Université Mohammed V - Agdal Faculté des sciences Département d'informatique Cours de Compilation SMI - S5 Prof. M.D. RAHMANI mrahmani@fsr.ac.ma Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 III- L'analyse

Plus en détail

Niveaux de description

Niveaux de description Chapitre 1 Niveaux de description Olivier Raynaud Université Blaise Pascal Base conceptuelle d un ordinateur Extrait de [Tis] La mémoire La mémoire est divisée en parties physiques appelées mots (par exemple

Plus en détail

GPA777 Introduction au génie logiciel

GPA777 Introduction au génie logiciel Université du Québec École de technologie supérieure Département de génie de la production automatisée GPA777 Introduction au génie logiciel Chapitre 6 Validation des logiciels Copyright, 2000 Tony Wong,

Plus en détail

Compilation. II. Analyse lexicale

Compilation. II. Analyse lexicale Université de Nice - Sophia Antipolis Licence 3 Informatique 2012-2013 1/31 Compilation II. Analyse lexicale Jacques Farré Jacques.Farre@unice.fr http://deptinfo.unice.fr/~jf/compil-l3/ Université de Nice

Plus en détail

Complexité des algorithmes

Complexité des algorithmes Complexité des algorithmes par Robert Rolland R. Rolland, Aix Marseille Université, Institut de Mathématiques de Marseille I2M Luminy Case 930, F13288 Marseille CEDEX 9 e-mail : robert.rolland@acrypta.fr

Plus en détail

Calcul Booléen et Circuits Logiques

Calcul Booléen et Circuits Logiques Chapitre 7 Calcul Booléen et Circuits Logiques 7.1 Traitement Logique et Machine 7.1.1 Exemple Nos raisonnement sont usuellement simples : si ma voiture ne marche pas et il pleut alors je prends le metro

Plus en détail

VII- Enumérations dans l ordre alphabétique

VII- Enumérations dans l ordre alphabétique VII- Enumérations dans l ordre alphabétique Prenons un dictionnaire. Comment savoir si un mot se trouve avant ou après un autre? On commence par comparer la première lettre de ces deux mots. Si elles sont

Plus en détail

MÉRÉ Aurélien FIIFO1. Pathfinder

MÉRÉ Aurélien FIIFO1. Pathfinder MÉRÉ Aurélien FIIFO1 AMC Pathfinder 1 Sommaire Préambule... 3 Modélisation de l espace... 4 Modélisation des cases δ, α... 4 Interface en mode texte... 5 Modélisation du robot... 8 1 ) Le type Robot...

Plus en détail

Programmation Répartie - Langage C

Programmation Répartie - Langage C frederic.guinand@univ-lehavre.fr IUT Le Havre Plan les bases quelques rappels de langage C les structures de contrôle conditionnelles les structures de contrôle itératives les tableaux les pointeurs les

Plus en détail

Un automate à états fini

Un automate à états fini Automates à états et langages Notion d automate Langage reconnu par un automate Automates non déterministes Expressions régulières et automates Limites des automates Notion d automate Objectif : définir

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Chapitre 9 Gestion de la mémoire Durant l exécution d un programme, les éléments manipulés par le programme sont stockés dans différents types de mémoire. La pile d exécution contient des éléments dont

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Mathématiques pour. l informatique

Mathématiques pour. l informatique Xavier Chanet Patrick Vert Mathématiques pour l informatique Pour le BTS SIO Toutes les marques citées dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs. Illustration de couverture

Plus en détail

Les tableaux (ou vecteurs) (1/3) Cours numéro 3: Programmation impérative LI213 Types et Structures de données. Les tableaux (3/3) Les tableaux (2/3)

Les tableaux (ou vecteurs) (1/3) Cours numéro 3: Programmation impérative LI213 Types et Structures de données. Les tableaux (3/3) Les tableaux (2/3) Les tableaux (ou vecteurs) (1/3) Le type tableau est une des réponses à la question : LI213 Types et Structures de données Licence d Informatique Université Paris 6 comment agréger un très grand nombre

Plus en détail

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel Introduction Notre contexte : pas possible d exprimer toutes les combinaisons de DT. Le test fonctionnel est basé sur la spécification/interface

Plus en détail

Modélisation et vérification

Modélisation et vérification Modélisation et vérification Yohan Boichut (inspiré du cours de John Mullins, Ecole polytechnique de Montréal) Cours Master IRAD Semestre 3 Yohan Boichut Modélisation et vérification Cours Master IRAD

Plus en détail

Cours de mathématiques - Alternance Gea

Cours de mathématiques - Alternance Gea Cours de mathématiques - Alternance Gea Anne Fredet 3 novembre 2005 1 programmation linéaire à deux variables 1.1 Partitionnement du plan Une droite permet de découper un plan en plusieurs parties. Droite

Plus en détail

Informatique. et sciences du numérique. Édition. Manuel de spécialité ISN en terminale. spéciale Python!

Informatique. et sciences du numérique. Édition. Manuel de spécialité ISN en terminale. spéciale Python! Gilles Dowek Jean-Pierre Archambault, Emmanuel Baccelli, Claudio Cimelli, Albert Cohen, Christine Eisenbeis, Thierry Viéville et Benjamin Wack Avec la contribution de Hugues Bersini et de Guillaume Le

Plus en détail

Langages de programmation et compilation

Langages de programmation et compilation École Normale Supérieure Langages de programmation et compilation Jean-Christophe Filliâtre Cours 6 / 9 novembre 2015 Jean-Christophe Filliâtre Langages de programmation et compilation 2015 2016 / cours

Plus en détail

Leçon 1: les entiers

Leçon 1: les entiers Leçon 1: les entiers L ensemble N des entiers naturels Compter, dresser des listes, classer et comparer des objets interviennent dans de multiples activités humaines. Les nombres entiers naturels sont

Plus en détail

TP6: Introduction à Linux: Shell scripting

TP6: Introduction à Linux: Shell scripting INFO-F-201 Systèmes d exploitations 1 TP6: Introduction à Linux: Shell scripting avec l accord de Sébastien Collette Résumé Suite à la séance précédente sur l utilisation du shell bash, nous allons voir

Plus en détail

Thème 9 : Introduction à l'optimisation de code

Thème 9 : Introduction à l'optimisation de code Compilation : théorie, techniques et outils Thème 9 : Introduction à l'optimisation de code HABIB ABDULRAB (INSTITUT NATIONAL DES SCIENCES APPLIQUÉES DE ROUEN) CLAUDE MOULIN (UNIVERSITÉ DE TECHNOLOGIE

Plus en détail

Projet 1 ENS Lyon L3IF

Projet 1 ENS Lyon L3IF Projet 1 ENS Lyon L3IF Génération de code Sébastien Briais 8 janvier 2008 Dans cette partie, vous allez devoir implémenter le générateur de code pour l émulateur DLX risc-emu. À rendre pour le 18 janvier

Plus en détail

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression MPSI Option Informatique Année 2001, Septième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Compression LZW Lorsque l on stocke ou l on transmet via un réseau une grande quantité de données,

Plus en détail

1 C est quoi une fonction? 2. 2 Représentation graphique d une fonction. 6. 3 Fonction affine. 8. 4 Représentation graphique d une fonction affine.

1 C est quoi une fonction? 2. 2 Représentation graphique d une fonction. 6. 3 Fonction affine. 8. 4 Représentation graphique d une fonction affine. Sommaire 1 C est quoi une fonction? 2 2 Représentation graphique d une fonction. 6 3 Fonction affine. 8 4 Représentation graphique d une fonction affine. 10 5 Coefficient directeur d une fonction affine.

Plus en détail

Commandes et scripts Bash. 1 Commandes de gestion des fichiers et répertoires

Commandes et scripts Bash. 1 Commandes de gestion des fichiers et répertoires Commandes et scripts Bash Seules certaines options sont indiquées. Pour plus de détails voir les pages de manuel (cf commande man). Si une commande est indiquée comme étant interne, cela signifie qu elle

Plus en détail

CHAPITRE III : GESTION DES PROCESSUS

CHAPITRE III : GESTION DES PROCESSUS Systèmes d exploitation des Ordinateurs 19 CHAPITRE III : GESTION DES PROCESSUS 3.1 CONCEPT DE PROCESSUS : On peut trouver plusieurs appellations possibles des activités que peut avoir un processeur. Un

Plus en détail

INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014

INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014 INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014 CORRIGÉ Documents non autorisés, durée: 2h45 1 Questions de cours (6 points) Question 1 (2pts) Donner quatre méthodes vues en cours pour

Plus en détail

Introduction à la compilation

Introduction à la compilation Introduction à la compilation Polytech Paris-Sud 4 ème année Département Informatique Frédéric VOISIN Sommaire LANGAGES DE PROGRAMMATION ET TRADUCTEURS 3 LA STRUCTURE GENERALE D UN COMPILATEUR 9 L ANALYSE

Plus en détail

Automate à états finis. Faculté I&C, André Maurer, Claude Petitpierre

Automate à états finis. Faculté I&C, André Maurer, Claude Petitpierre Automate à états finis Faculté I&C, André Maurer, Claude Petitpierre Exemple introductif: reconnaître un numéro de plaque Numéros valides Numéros non valides Un problème de décision Un mot OUI, si le mot

Plus en détail

Emmanuel Filiot Département d Informatique Faculté des Sciences Université Libre de Bruxelles. Année académique 2014-2015

Emmanuel Filiot Département d Informatique Faculté des Sciences Université Libre de Bruxelles. Année académique 2014-2015 INFO-F-302, Cours d Informatique Fondamentale Emmanuel Filiot Département d Informatique Faculté des Sciences Université Libre de Bruxelles Année académique 2014-2015 Problèmes Indécidables : Définition

Plus en détail

LES PROCÉDURES ET LES FONCTIONS

LES PROCÉDURES ET LES FONCTIONS LES PROCÉDURES ET LES FONCTIONS 165 LES PROCÉDURES ET LES FONCTIONS CHAPITRE 7 OBJECTIFS EXPOSER LE PRINCIPE DE LA DÉCOMPOSITION DES PROGRAMMES DANS LE LANGAGE PASCAL. PRÉCISER LE RÔLE ET L UTILITÉ DES

Plus en détail

Techniques et outils pour la compilation

Techniques et outils pour la compilation Licence Universitaire Professionnelle Génie Logiciel & Théorie des Langages Techniques et outils pour la compilation Henri Garreta Faculté des Sciences de Luminy - Université de la Méditerranée Janvier

Plus en détail

Langages de haut niveau

Langages de haut niveau Langages de haut niveau Introduction Un assembleur est un programme traduisant en code machine un programme écrit à l'aide des mnémoniques Les langages d'assemblage représentent une deuxième génération

Plus en détail

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

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

Plus en détail

Analyse lexicale 2014-2015

Analyse lexicale 2014-2015 Analyse (lexicale, syntaxique) L3 MIAGE Analyse lexicale Université de Lille, France 2014-2015 1 Rappels Rôle de l analyse lexicale Outils 2 Mise en oeuvre Lexème Vers l analyseur syntaxique Codage d un

Plus en détail

ULCO-L1-Algo1-CM : Initiation à l algorithmique avec le langage C++

ULCO-L1-Algo1-CM : Initiation à l algorithmique avec le langage C++ ULCO-L1-Algo1-CM : Initiation à l algorithmique avec le langage C++ Table des matières 1 Généralités 3 1.1 Définitions/Glossaire....................................... 3 1.2 Exemples d algorithmes de la

Plus en détail

ALGORITHME DE DIJKSTRA

ALGORITHME DE DIJKSTRA Auteur : Marie-Laurence Brivezac ALGORITHME DE DIJKSTRA TI-83 Premium CE Mots-clés : graphes, matrices, algorithme, programmation. Fichiers associés : dijkstra_eleve.pdf, DIJKSTRA.8xp, MINL.8xp, [C].8xm,

Plus en détail

Expressions rationnelles, automates, analyse lexicale

Expressions rationnelles, automates, analyse lexicale Chapitre 2 Expressions rationnelles, automates, analyse lexicale L analyse lexicale est la première phase d un compilateur ou d un interprète : elle consiste à identifier et à catégoriser les différents

Plus en détail

SLPC 0809 : Devoir de maison. Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions

SLPC 0809 : Devoir de maison. Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions SLPC 0809 : Devoir de maison Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions On considère dans cet exercice la liaison dynamique pour les variables. Introduction

Plus en détail

Modélisation de programmes C en expressions régulières

Modélisation de programmes C en expressions régulières HATEM MAHBOULI Modélisation de programmes C en expressions régulières Mémoire présenté à la Faculté des études supérieures de l Université Laval dans le cadre du programme de maîtrise en informatique pour

Plus en détail