Les expressions rationnelles, ou expressions régulières, sont un outil très puissant pour manipuler les chaines de caractères dans les langages de programmation. Perl en fait son principe fondamental, mais on les trouve aussi dans les langages plus habituels comme en Java avec la méthode "matches". Elles sont présentées au chapitre 3 du cours e-miage B209.
Il existe un outil intéressant permettant de représenter de manière graphique de telles expressions : Regexper (http://www.regexper.com/).
Par exemple, l'expression "a*|(b+c)*b" donnera :
A tester d'urgence !
Affichage des articles dont le libellé est e-miage. Afficher tous les articles
Affichage des articles dont le libellé est e-miage. Afficher tous les articles
jeudi 3 janvier 2013
mardi 11 décembre 2012
Cours de Cobol en ligne
| 50 years of Running COBOL (Photo credit: national museum of american history) |
http://pagesperso.lina.univ-nantes.fr/info/perso/permanents/vailly/Enseignement/EMIAGE/EnDev/ModuleA206EMiageV2.5/A206.html
Libellés :
Cours en ligne,
e-learning,
e-miage,
Langage,
MIAGE,
Programmation,
Support de cours
vendredi 30 mars 2012
Automates et langages
| Noam Chomsky. (Photo credit: Wikipedia) |
Automates et langages
Le module « Automates et langages » vise à introduire les bases de la théorie des langages, des automates ainsi que les principales notions sur les compilateurs. Il permet d’appréhender un certain nombre de techniques fondamentales :
- de nouvelles techniques de programmation (notion de programmation dirigée par la syntaxe)
- le contrôle de validité
- la compréhension et optimisation de nouveaux outils proposant l’utilisation des expressions régulières (Perl, PHP, JDK 1.4…)
- la présentation de bases pour des techniques de CSI (modélisation dynamique en UML) et de compilation (analyseurs lexicaux).
- …
Ce cours propose aussi d’habituer l’étudiant à des formalisations et démonstrations utiles pour d’autres cours.
Nous y définissons les notions suivantes : vocabulaire, langage, grammaires, classification de Chomsky, langages relationnels, expressions régulières, machine de Turing, automates déterministes et non-déterministes. Nous présentons aussi bien les bases théoriques nécessaires à la bonne compréhension de ces notions que des algorithmes de base permettant de les manipuler. En particulier,nous nous attachons à présenter les outils permettant de construire un analyseur de chaînes de symboles à partir d’une ou plusieurs expressions décrivant leur construction (le langage).
Pour comprendre les notions abordées dans ce modules, il est nécessaire de bien maitriser les concepts suivants : théorie des ensembles, démonstration par l’absurde et démonstration par induction, algorithmique, programmation impérative (éventuellement programmation objet Java).
Attention ! Ce module est un module sans doute un peu plus difficile que les autres. Les principales raisons sont les suivantes :
- c’est un module assez théorique qui se base sur un certain nombre de concepts mathématiques ;
- il demande de mettre en oeuvre des raisonnements logiques et il faut d’être capable de faire des preuves ;
- de ce fait, il est nécessaire de maitriser un minimum les notations mathématiques les plus courantes.
Ceci dit, tout au long de ce cours, certains théorèmes ou lemmes sont démontrés. Il n’est pas demandé de connaitre « par coeur » ces démonstrations mais de comprendre les procédés mis en oeuvre. Par contre, il faut être capable d’expliquer toutes les méthodes et les résultats que vous obtenez dans les différents exercices. Encore une fois, le plus important est de comprendre les méthodes présentées et pourquoi elles fonctionnent.
Quelques conseils pour bien réussir :
- toujours être capable de justifier ce que vous avancez ;
- bien vérifier la cohérence de vos « calculs » par rapport aux données initiales et aux objectifs visés ;
- travaillez bien les différentes méthodes présentées (bien connaitre ce qui se passe et pourquoi).
Libellés :
Automate et langage,
Cours en ligne,
e-learning,
e-miage,
MIAGE
Initiation à XML
Initiation à XML
Ce module a pour objectif de faire en sorte que d’être capable appréhender le monde XML pour être en mesure de concevoir des ressources en XML et de les exploiter avec les outils de programmation classiques. Pour atteindre cet objectif, il présente les bases de XML, les outils (API en Java et en PHP) pour programmer avec XML (XSLT, SAX, DOM, JDOM…), les différents schémas XML (DTD, XML Schema…) et l’exploitation de bases de données XML.
Pré-requis : langages à objets, structures de données, complexité, algorithmique avancée, bases de données, langages et automates, PHP, Java, Modélisation Merise (MCD), bases de données relationnelles.
Pour consulter ce cours : http://miage.univ-nantes.fr/miage/D2X1/index.htm
Inscription à :
Articles (Atom)
