Compilateur

djakweb -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour et bonne Année 2021 a tous,
jje voudrais bien avoir votre aide sur un projet que j'ai commencé depuis quelques semaines. Il s'agit de la conception d'un compilateur d'algorithme. alors j'ai eu l'idée de developper un outil qui pourra facilité l'intiation aux algorihmes des eleve du lycée. Donc l'interpreteur devra analyser et comprendre les synthaxe de base en algorithme telles que enseignées dans les etablissement secondaire et ce compilateur doit etre realiser en javascript pour mieux l'integrer dans un environnement web. merci pour votre attention et eventuelles orientations.

Configuration: Windows / Firefox 83.0

3 réponses

  1. Utilisateur anonyme
     
    Bonjour

    Et sion tu connais algobox?
    0
  2. Djakweb
     
    Oui mais je veux plutot dzns lequel l'utilidateur doit lui meme ecrire du code contrairement a algobox qui est un peu comme un formulaire et en il genere lui meme le code source.
    0
  3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Tu dis

    un projet que j'ai commencé depuis quelques semaines

    Donc commence par nous expliquer ce que tu as déjà fait et montre nous le code que tu as déjà écrit.

    Ensuite... expliques nous exactement sur quel point technique tu bloques.

    A noter que, "traduire" des instructions textuelles va être très compliqué...
    Il faudra que tu sois capable d'identifier chaque "instruction" en espérant qu'elles seront bien orthographiées, que tu aies éventuellement géré les différentes possibilités de Majuscules/minuscules ... etc...

    En admettant que chaque Instruction est sur une ligne différentes,
    Que tu découpe chaque ligne en "MOT"
    https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/split

    il serait éventuellement possible de "transformer" les mots clés via des "replace"
    https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/replace

    par exemple..
    pour une boucle
    POUR <id_variable> DE <val_inférieure> A <val_supérieure>
    

    POUR devient IF(
    et, en utilisant des conditions, pour savoir comment, le reste de l'instruction doit se réécrire
    Donc, si le premier mot est POUR,
    Le mot suivant correspond au "nom de la variable" .. donc à remplacer par :
     let id_variable  

    Puis le DE devient
     = 
    puis le mot suivant correspond à la valeur initiale de id_variable
    etc...

    En gros, tu vas devoir prévoir toutes les combinaisons possibles...

    Une fois que tu as réécrits le text en code Javascript,
    Tu devrais pouvoir y appliquer un EVAL afin de l'exécuter
    https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/eval

    Amuses toi bien.

    0