Outils pour utilisateurs

Outils du site


fr:cours_de_theorie_des_langages

Ceci est une ancienne révision du document !


A PCRE internal error occured. This might be caused by a faulty plugin

~~TRANS~~ ===== Cours de théorie de langages ===== Dans la partie de cours que j'assure nous introduisons la [[wpfr>hiérarchie de Chomsky]] et nous attaquons ensuite l'[[wpfr>analyse syntaxique]] automatique. ==== Diapositives ==== Les diapositives sont disponibles {{:parsing.pdf|ici}}. ==== Travaux Pratiques ==== L'énonce des TP est disponible {{:parsing-tp.pdf|ici}}. ==== Exemples de code ==== Dans ce cours nous développons un interpréteur pour un langage simple d'affectations de variables de types nombre entier ou chaîne de caractère. Un programme dans ce langage a la forme suivante : <code> String var1 = "hello world 1 + 2"; int var2 = 1 - (2 + 3); int var3 = 4 + var2; </code> Le code source ainsi que quelques exemples sont inclus dans cette {{:parsing.zip|archive}}. Pour tout compiler il faut effectuer la séquence d'actions suivante : <code bash> jflex arith.flex jacc arith.jacc javac ArithEval.java </code> La commande suivante lance uniquement le scanner sur le premier exemple : <code bash> java Yylex examples/example1.duck </code> La commande suivante lance l'interpréteur sur le premier exemple : <code bash> java ArithEval examples/example1.duck </code> ==== Outils ==== Nous utilisons le générateur de scanners [[http://jflex.de/download.html|JFlex]] et le générateur d'analyseurs [[http://web.cecs.pdx.edu/~mpj/jacc/|Jacc]]. Les deux outils génèrent du code Java. {{:parsing-workflow.pdf|Voici}} une présentation courte de la façon dont JFlex et Jacc sont utilisés. Le choix d'outils a été proposé par [[http://lacl.univ-paris12.fr/gava/actuel.htm|Frédéric Gava]] (section Parsing de fichiers en Java). Cette page contient également d'autres diapositives au sujet d'analyse syntaxique.

fr/cours_de_theorie_des_langages.1445898029.txt.gz · Dernière modification: 2015/10/26 23:20 par sivanov