This shows you the differences between two versions of the page.
alf:teme:tema_en_5 [2020/05/06 18:23] diana.ghindaoanu |
alf:teme:tema_en_5 [2020/05/12 21:01] (current) alexandru.radovici |
||
---|---|---|---|
Line 4: | Line 4: | ||
<note important> | <note important> | ||
- | Deadline: **22nd of May, 23:55**\\ | + | Deadline: **26nd of May, 23:55**\\ |
Points: **2 points** out of the final grade\\ | Points: **2 points** out of the final grade\\ | ||
Upload the homework: [[https://vmchecker.cs.pub.ro|vmchecker.cs.pub.ro]]\\ | Upload the homework: [[https://vmchecker.cs.pub.ro|vmchecker.cs.pub.ro]]\\ | ||
Line 11: | Line 11: | ||
===== What do you have to do ===== | ===== What do you have to do ===== | ||
- | The purpose of the homework is to translate an Alf Langauge provided as an AST file with semantic data into Web Assembly. Your program will receive two parameters: source file (the file from the previous homework, with the symbol table, the AST and the error list) and the output file. **You don't need a working version of homework 4!** The test files have already been generated and you can find them on [[https://github.com/alexandruradovici/alf/tree/master/Devoirs/assembly/verify/assembly|github]]. | + | The purpose of the homework is to translate an Alf Langauge provided as an AST file with semantic data into Web Assembly. Your program will receive two parameters: source file (the file from the previous homework, with the symbol table, the AST and the error list) and the output file. **You don't need a working version of homework 4!** The test files have already been generated and you can find them on [[https://github.com/upb-fils/alf/tree/master/Devoirs/assembly/verify/assembly|github]]. |
The programs will have any variable type. String concatenation is not provided (except for a few tests test). | The programs will have any variable type. String concatenation is not provided (except for a few tests test). | ||
Line 164: | Line 164: | ||
* constant folding | * constant folding | ||
* delete unused variables and functions | * delete unused variables and functions | ||
+ | |||
+ | For the bonus, there are two extra parameters in the command line | ||
+ | |||
+ | <code bash> | ||
+ | node main.js fisier.alf.json fisier.alf.opt.json fisier.wat [fold_constants] [unused] | ||
+ | </code> | ||
+ | |||
+ | <note>[] means that it is optional</note> | ||
===== Testing ===== | ===== Testing ===== |