Differences

This shows you the differences between two versions of the page.

Link to this comparison view

alf:teme:tema5 [2020/05/06 18:22]
diana.ghindaoanu
alf:teme:tema5 [2022/05/22 19:57] (current)
diana.ghindaoanu
Line 3: Line 3:
 ===== Information ===== ===== Information =====
 <note important>​ <note important>​
-Date limite: **20 mai, 23:55**\\+Date limite: **3 juin, 23:55**\\
 Points: **2 points** de la note finale\\ Points: **2 points** de la note finale\\
-Téléchargement du devoir: [[https://​vmchecker.cs.pub.ro|vmchecker.cs.pub.ro]]\\ 
 </​note>​ </​note>​
  
 ===== Demande ===== ===== Demande =====
-Le but de ce devoir est de traduire un Langage Alf fourni sous forme de fichier AST avec des données sémantiques dans Web Assembly. Votre programme recevra deux paramètres:​ le fichier source (le fichier des devoirs précédents,​ avec la table des symboles, l'AST et la liste des erreurs) et le fichier de sortie. **Vous n'avez pas besoin d'une version correcte du devoir 4!** Les fichiers de test ont déjà été générés et vous pouvez les trouver sur [[https://​github.com/​alexandruradovici/​alf/​tree/​master/​Devoirs/​assembly/​verify/​assembly|github]]. Les programmes auront n'​importe quel type de variable. La concaténation de chaînes n'est pas fournie (à l'​exception de quelques tests de test).+Le but de ce devoir est de traduire un Langage Alf fourni sous forme de fichier AST avec des données sémantiques dans Web Assembly. Votre programme recevra deux paramètres:​ le fichier source (le fichier des devoirs précédents,​ avec la table des symboles, l'AST et la liste des erreurs) et le fichier de sortie. **Vous n'avez pas besoin d'une version correcte du devoir 4!** Les fichiers de test ont déjà été générés et vous pouvez les trouver sur [[https://github.com/​upb-fils/alf/tree/master/Devoirs/assembly/verify/assembly|github]]. Les programmes auront n'​importe quel type de variable. La concaténation de chaînes n'est pas fournie (à l'​exception de quelques tests de test).
  
 <code bash> <code bash>
Line 172: Line 171:
    * supprimer les variables et fonctions inutilisées    * supprimer les variables et fonctions inutilisées
  
- +Pour le bonusil y a 2 parametres supplementaires ​dans la ligne de commande:
-===== Tester ===== +
- +
-Le devoir va être testé automatiquement en utilisant un set avec des tests publics et privés.  +
- +
-==== Les tests publics ==== +
- +
-Vous pouvez télécharger les tests publics de GitHub [[https://​github.com/​alexandruradovici/​alf2018/​tree/​master/​Devoirs/​assembly|repository]]. +
- +
-Pour exécuter les teststélécharger le contenu du repository ​dans un dossier avec le devoir. Entrez dans le dossier //verify// et exécuter ./​run_all.sh.+
  
 <code bash> <code bash>
-cd verify +node main.js fisier.alf.json fisier.alf.opt.json fisier.wat [fold_constants] [unused]
-./run_all.sh+
 </​code>​ </​code>​
- 
-Vous devez avoir bash pour faire ça. Vous pouvez utiliser soit Linux, soit [[https://​msdn.microsoft.com/​en-us/​commandline/​wsl/​install_guide|Windows Linux Subsystem]]. 
  
 <​note>​ <​note>​
-Pour installer nodejs en Linux ou Windows Linux Subsystem, suivez les pas suivants: +[] signifie qu'il s'agit de quelque chose d'​optionnel
- +
-<code bash> +
-wget https://​nodejs.org/​dist/​v6.10.0/​node-v6.10.0-linux-x64.tar.xz +
-tar xvfJ node-v6.10.0-linux-x64.tar.xz +
-cd node-v6.10.0-linux-x64 +
-sudo cp -R * /usr +
-</​code>​ +
-  ​+
 </​note>​ </​note>​
  
-==== Les tests privés ==== 
-Quand vous téléchargez le devoir, c`est possible qu'il y a des tests prives que votre devoir doit passer. vmcheker va les exécuter. ​ 
  
-<​note>​ 
-Vous pouvez télécharger le devoir autant que des fois que vous voulez jusqu`à la date limite. Il va exécuter tous les tests pour vous et il va afficher les résultats. 
-</​note>​ 
- 
-===== Télécharger le devoir ===== 
-Le devoir doit être télécharger sur [[https://​vmchecker.cs.pub.ro|vmchecker]]. Connectez vous avec votre nom d`utilisateur de moodle, séléctionnez le course //Automates et Langages Formelles (FILS)// et téléchargez le [[#​homework-archive|homework archive]]. 
- 
-==== Readme ==== 
-Le fichier Readme doit avoir le format suivant: 
- 
-<​code>​ 
-Votre nom complet 
-Groupe 
- 
-Une explication comment vous avez écrit le devoir, qu`est-ce que vous avez utilisé, quels sont les idées principales. 
-</​code>​ 
- 
- 
-==== Archive du Devoir ==== 
-Pour télécharger le devoir, je vous en prie de suivre les pas suivants: 
- 
-  - Créer une archive ZIP (pas un rar, ace, 7zip ou quelque chose d`autre) qui contient: 
-    * le fichier main (main.js)  ​ 
-    * les fichiers javascript (*.js) 
-    * le fichier jison (alfy.jison)  ​ 
-    * yarn.lock (si vous utilisez yarn) 
-    * le fichier package.json ​ 
-    * le fichier Readme 
-  - connecter avec [[https://​vmchecker.cs.pub.ro|vmchecker]] 
-  - sélectionner le course //Automates et Langages Formelles (FILS)// 
-  - sélectionner //5. Langage SuperFILS// 
-  - télécharger l`archive 
- 
- 
-<​note>​ 
-L`archive doit contenir les fichiers dans la racine et pas dans un dossier. NE PAS archiver un dossier avec les fichiers, archiver DIRECTEMENT les fichiers. 
- 
-NE PAS inclure //​node_modules//​. 
-</​note>​ 
- 
-Quand l`archive est téléchargée,​ vmcheker va tester: 
- 
-<code bash> 
-unzip archive.zip homework 
-cd homework 
-# if the file yarn.lock exists 
-yarn 
-# else 
-npm install 
-echo '{ "​node":​true,​ "​loopfunc":​ true, "​esnext":​true }' > .jshintrc 
-jshint *.js 
-jison alfy.jison -o alfy.js 
-</​code>​ 
alf/teme/tema5.1588778576.txt.gz · Last modified: 2020/05/06 18:22 by diana.ghindaoanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0