Coder Social home page Coder Social logo

enoso's Introduction

Analyseur syntaxique du langage While

Auteurs :

  • Pierre-Louis BERTRAND
  • Ionas NEONAKIS
  • Thomas QUETIER
  • Samir TOULARHMINE

Ce projet est un moteur d'analyse syntaxique développé en Java.

Instructions d'utilisation

Il est possible d'utiliser le moteur d'analyse avec ou sans interface graphique.

Note : des programmes d'exemples sont disponibles dans le dossier src/main/resources

Sans interface graphique

Pour lancer le projet, il suffit d'éxecuter le fichier JAR fourni avec par exemple la commande :

java -jar Enoso.jar ARGUMENTS

Note : Le jar fourni a été compilé avec Java en version 17.

Voici la liste des arguments disponibles actuellement :

Nom de l'argument Description de l'argument
showAnalyses Permet de visualiser dans la sortie standard la liste des analyses disponibles
getDotName <cheminProgramme> Permet d'obtenir un chemin vers le graphe du programme (au format dot)
<cheminProgramme> <Analyse> Permet de visualiser dans la sortie standard l'analyse appliquée au programme

Note : il est nécessaire d'exécuter une analyse sur le programme avant de pouvoir obtenir le fichier dot correspondant à son flow.

Voici la liste des analyses disponibles actuellement :

Numéro de l'analyse Nom de l'analyse
0 Very Busy Expressions
1 Reaching Definition
2 Available Expressions
3 Live Variables

Exemples d'utilisation :

Voir les différentes analyses disponibles : java -jar Enoso.jar showAnalyses

Obtenir un chemin vers le fichier du flow du programme sous forme de graphe (au format dot) : java -jar Enoso.jar getDotName programme.yl

Effectuer une analyse Very Busy Expressions sur un programme : java -jar Enoso.jar programme.yl 0

Effectuer une analyse Reaching Definition sur un programme : java -jar Enoso.jar programme.yl 1

Effectuer une analyse Available Expressions sur un programme : java -jar Enoso.jar programme.yl 2

Effectuer une analyse Live Variables sur un programme : java -jar Enoso.jar programme.yl 3

Avec interface graphique

Afin d'utiliser ce moteur avec l'interface graphique, il est nécessaire d'avoir :

  • Python installé et utilisable avec la commande python3.
  • le paquet Tkinter (livré avec les versions récentes de Python)
  • le paquet Pillow (pip3 install Pillow)
  • le paquet graphviz (commande $ dot -Tpng nécessaire)

Pour démarrer l'interface graphique, il suffit d'exécuter la commande : $ python3 gui.py

Note : Des captures d'écran de l'interface graphique sont disponibles dans le dossier img

Difficultés rencontrées

enoso's People

Contributors

ionasneonakis avatar samirtoularhmine avatar mamangvomi avatar pierrelouisbertrand avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.