Compilateur

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

  • Votes
  • Date
  • Date décroissante
  1. 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.
    1. Modérateur
      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.