• Contenu TP

      TP1

      N Sem. Jour Heure Contenu
      1 A1 ven. 1 mars 24 10h15 - 12:15 TP 1 : Expressions régulières
      B1 ven. 15 mars 24 10h15 - 12:15
      2 A2 ven. 22 mars 24 10h15 - 12:15 TP 2 : Expressions régulières + Test + Grammaire AntLR - 1
      B2 ven. 29 mars 24 10h15 - 12:15
      3 A3 ven. 5 avr. 24 10h15 - 12:15 TP 3 : Grammaire AntLR - 2
      B3 ven. 12 avr. 24 10h15 - 12:15
      4 A4 ven. 19 avr. 24 10h15 - 12:15 TP 4 : Grammaire AntLR - 3
      B4 ven. 26 avr. 24 10h15 - 12:15
      5 A5 ven. 10 mai 24 10h15 - 12:15 TP 5 : Grammaire AntLR - 4
      B5 ven. 17 mai 24 10h15 - 12:15
      6 A6 ven. 24 mai 24 10h15 - 12:15 TP 6 : Grammaire AntLR - 5
      B6 ven. 31 mai 24 10h15 - 12:15
      7 A7 ven. 7 juin 24 10h15 - 12:15 Soutenance
      B7 ven. 14 juin 24 10h15 - 12:15

      TP2

      N Sem. Jour Heure Contenu
      1 A1 ven. 1 mars 24 14h15 – 16h15 TP 1 : Expressions régulières
      2 A2 ven. 22 mars 24 14h15 – 16h15 TP 2 : Expressions régulières + Test + Grammaire AntLR - 1
      3 A3 ven. 5 avr. 24 14h15 – 16h15 TP 3 : Grammaire AntLR - 2
      4 A4 ven. 19 avr. 24 14h15 – 16h15 TP 4 : Grammaire AntLR - 3
      5 A5 ven. 10 mai 24 14h15 – 16h15 TP 5 : Grammaire AntLR - 4
      6 A6 ven. 24 mai 24 14h15 – 16h15 TP 6 : Grammaire AntLR - 5
      7 A7 ven. 7 juin 24 14h15 – 16h15 Soutenance

    • Consignes du test de TP:

      • Le test est réalisé durant la séance du TP2
      • La durée du test est de 30 mn
      • Le test  concerne les expressions régulières
      • Les documents liés au test devront être déposés sur Moodle durant le temps alloué au test

       

      Consignes d'installation TP ANTLR

      L'objectif est de faire fonctionner un projet java qui prend en charge les librairies ANTLR et javaFX. Pour ce faire, il faut suivre les consignes dans:

      1- D'abord telecharger le code et ajouter la libraire ANTLR, ceci est fait en suivant: NF11_AI21-TP2.pdf

      2- A une étape donné de ce TP, il faudra installer la libraire javaFX, pour ce faire, suivre le consignes de Outils TP2/javaFX installation.pdf

      Les autres documents vous aideront en cas de besoin.

      Ci-bas aussi, des solutions proposés par des camarades des années précedentes pouvant vous servir.

      En cas de problème avec jdk,

      eclipse
      https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2023-06/R/eclipse-inst-jre-win64.exe

      java jdk:
      https://www.oracle.com/java/technologies/javase/jdk15-archive-downloads.html besoin d'authentification
      https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_windows-x64_bin.zip

      javafx
      https://gluonhq.com/products/javafx/
      la version 17 est ok

      essayer egalement, les modules suivants:

      --module-path /Path/to/javafx-sdk-22/lib --add-modules=javafx.swing,javafx.graphics,javafx.fxml,javafx.media,javafx.web --add-reads javafx.graphics=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.charts=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio.common=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.css=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.runtime=ALL-UNNAMED

       

      Pour les versions qui marchent 

      Merci à Tilloy Julie, Mac + Eclipse

      Suivi des étapes du TP et astuces en bas de Theodore Garcher, avec ajout de quelaues étapes pour la generation dans logoparsing. Les instructions suivantes doivent être lancées sur le terminal:

       
      /Users/sebastientilloy/Documents/jdk-22.0.1.jdk/Contents/Home/bin/javac \
      --module-path ~/Documents/javafx-sdk-24.0.1/lib \
      --add-modules javafx.controls,javafx.fxml,javafx.swing \
      -cp ".:../lib/antlr-4.9.1-complete.jar:../src" \
      $(find . -name "*.java")

      /Users/sebastientilloy/Documents/jdk-22.0.1.jdk/Contents/Home/bin/java \
      --module-path ~/Documents/javafx-sdk-24.0.1/lib \
      --add-modules javafx.controls,javafx.fxml,javafx.swing \
      -cp ".:../lib/antlr-4.9.1-complete.jar:../src" \
      logogui.LogoApplication
       

      Merci à  Elouan  GEFFRELOT NF11 ( message ci-bas)

      voici les liens de téléchargement et les filtres pour trouver les bons noms des versions que j'ai utilisé.
      Eclipse : https://www.eclipse.org/downloads/packages/release/2020-12/r

      java fx : https://gluonhq.com/products/javafx/

      Avec comme filtres :

      JavaFX version : 15.0.1

      Operating System : Windows

      Architecture : x64

      Type : SDK

      jdk : https://www.oracle.com/java/technologies/javase/jdk15-archive-downloads.html

      télécharger

      Windows x64 Compressed Archive : jdk-15.0.2_windows-x64_bin.zip

      Pour les utilisateur de Mac, merci à Taieb Rayan DOUDECH NF11 (message ci-bas) :

      Sur les Mac équipé des puces aarch64, MacOSx, Version Sonoma 14.4.1, il semble qu'il y'ait un problème avec les versions de java et javafx (Lien issue https://bugs.openjdk.org/browse/JDK-8296654) Le bug semble remonter au macOS 13.0 / Apple M1. Ce qui cause au lancement de chaque programme JFx, avec n'importe quel version. Il semblerait que l'erreur provienne d'une méthode dans libglass.dylib, qui est une bibliothèque utilisée par JavaFX pour interagir avec le OS.

      Cependant, un fix a été déployé j'ai testé le projet avec les versions suivantes et il fonctionne :

      Java : OpenJDK 22.0.1
      Java Fx : 22-ea+11

      Autre ajout pour IntelliJ sous Mac, merci à Sarah Baret NF11 (message ci-bas):

      - sur mac il faut utiliser les fichiers antlr-generate.sh et antlr-parse.sh fourni pour linux, mais il faut modifier le ";" par un ":" dans le CLASSPATH de antlr-parse et remplacer /bin par /out

      - aussi précision pour ajouter des VM options, il faut aller dans Run / Edit Configurations (et si on a pas direct un beau template à remplir, il faut choisir "Application")

      Autres directives pour les installations :

      Pour ce TP, plusieurs méthodes sont possibles. Ces méthodes d'installation seront enrichies en fonction des retours d'expérience des étudiants. Les méthodes les plus fiables sont ajoutées ici. Merci aux étudiants contributeurs.

      Méthode courte (par Felix INCERTI AI21):

      Setup un projet AntLR + JavaFX : https://github.com/Dashstrom/tp-antlr

       

      Methode sur IntelliJ (par Theodore GARCHER AI21):

      Theodore a fait fonctionner logoFX sur IntelliJ sous mac. Ci-bas les étapes:

      • Installer IntelliJ
      • Installer jdk à partir d'IntelliJ
      • Créer un projet basique, build system : intelliJ (de préférence)
      • Ajouter les fichiers du projet logoFx (css, icon, etc.)
      • Dans files/project structure/ modules / dependencies:  ajouter des jar avec  + (antlr.jar, et javafx directory decompressé)
      • installer le plugin antlr pour IntelliJ (pour éviter les manipulations sur le variables d'environnement) et configurer le répertoire de sortie du plugin antlr
      • ajouter les VM options:

      VM options à ajouter pour logogui.LogoApplication :

      --module-path /Path/to/javafx-sdk-22/lib --add-modules=javafx.swing,javafx.graphics,javafx.fxml,javafx.media,javafx.web --add-reads javafx.graphics=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.charts=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio.common=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.css=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.runtime=ALL-UNNAMED

      • Si erreur css: Modification de l'import du stylesheet dans logogui.LogoApplication (ligne 26) :

      scene.getStylesheets().add(f.toURI().toString());

      Remarque: si ligne trop longue dans visualiseur, vérifier les bonnes versions de javaFX

      La méthode longue et détaillée du TP:

      Afin de bien démarrer le TP, les étapes à suivre sont de préférence les suivantes:

      1. Installation d'ANTLR : pour ce faire, vous pouvez vous référer au tutoriel: 

        Installations\Installations_partie-ANTLR.pdf. Ceci permettra de compiler une grammaire en utilisant ANTLR sur le terminal. Il faut arriver à génerer l'arbre syntaxique sous le terminal (utilisation de grun)

      2. Utilisation d'ANTLR avec Eclipse : pour ce faire, vous pouvez vous référer au tutoriel: 

        Installations\Installations_partie-ANTLR+LOGO.pdf. Ceci vous permettra de compiler une grammaire et l'utiliser en java sous Eclipse.

      3. Installation de javaFX : JavaFX est primordial pour éxécuter le code de démarrage 

        logo-fx.zip. Pour ce faire, vous pouvez vous référer aux tutoriels: Outils TP2\javaFX installation.pdf et Installations\Installations_partie-JAVAFX.pdf. Il faut faire marcher le code et enlever les erreurs.

      4. Optionnel: installer LOGO ou utiliser LOGO en ligne pour comprendre sa grammaire.