Assignment Task

Project Description
In this assignment you will complete a variation of projects 10 and 11 in the nand2tetris course, reworked descriptions of Nand2Tetris Projects 10 and 11 are shown below. In particular, you will write the following programs that are used to implement different components of an optimising Jack compiler that compiles a Jack class into Hack Virtual Machine (VM) code:
• parser - this parses a Jack program and constructs an abstract syntax tree.
• codegen - this takes an abstract syntax tree and outputs equivalent VM code.
• pretty - this takes an abstract syntax tree and produces a carefully formatted Jack program.
• optimiser-r - this copies an abstract syntax tree and removes redundant code where possible.
• lint - this takes an abstract syntax tree and annotates it with warning and / or error messages.
Notes:
• Only for students enrolled in the undergraduate offering, COMP SCI 2000.
• Only for students enrolled in the postgraduate offering, COMP SCI 7081.
SVN Repository
Note: this assignment assumes that you have already created directories for every assignment, workshop, project and exam in your svn repository, as described on the Startup Files for Workshops and Assignments page.
1. If required, checkout a working copy of the assignment3 directory from your svn repository.
2. Change directory to the working copy of the assignment3 directory.
3. Copy the newest zip file attached below into the updates sub-directory and add it to svn.
4. Run the following command to place the assignment's startup files in the correct locations:% make install?
5. Add the .cpp startup files and an empty tests directory to your svn repository:% svn add .cpp
6. % svn add --depth=empty tests
7. % svn commit -m "Assignment 3 Startup Files"?
Assignment 3 Files and Directories
In addition to the generic Makefile and updates sub-directory, the assignment3 directory should now contain the following files and directories:
•  cpp C++ source files, you must edit these files to complete the assignment.
• includes - this directory contains .h files for precompiled classes.
• lib - this directory contains precompiled programs and components.
• originals - this directory contains the original versions of the *.cpp files you are required to edit.
• tests - this directory contains a test script and test data, you can add your own tests too.
• parser - a script to run your parser program.
• codegen - a script to run your codegen program.
• pretty - a script to run your pretty program.
• optimiser-r - a script to run your optimiser-r program.
• lint - a script to run your lint program.
Note: you need to edit the *.cpp files to complete this assignment. All the other files are automatically regenerated every time you run make, they must not be changed or added to svn. You can add extra test inputs to the tests directory but those are the only additional directories / files that you may add to svn.
Note: if a newer version of the startup files is made available, it must be placed in the updates sub-directory and added to svn. The next time make is run, all of the files will be updated except for the *.cpp files.
Submission and Marking Scheme
Submissions for this assignment must be made to the web submission system
Links to an external site.
 assignment named: Assignment 3 - Submit Here.The assessment is based on "Assessment of Programming Assignments".
Note: the Submit Here assignment will show a breakdown of your marks by category but it will always show your total mark as capped at 0.
Your programs must be written in C++ and they will be compiled using the Makefile and precompiled components in the lib directory. They will be tested using Jack language programs that may or may not be syntactically correct. A wide range of tests will be run, including some secret tests.  Note: you will get no feedback on the secret tests, even if you ask! Note: all component programs will be tested regardless of whether your are enrolled in COMP SCI 2000 or COMP SCI 7081.
Assignment 3 - Milestone Submissions: due 11:55pm Friday of week 11
The marks awarded by the web submission system
Links to an external site.
 for the milestone submission contribute up to 20% of your marks for assignment 3. The marks for the Parser Tests are used as the marks for the milestone submission. Your milestone submission mark, after the application of late penalties, will be posted to the myuni gradebook when the assignment marking is complete.
You can view the Parser Tests marks in the Milestone assignment but submissions must be made using the Assignment 3 - Submit Here assignment.
Assignment 3 - Final Submissions: due 11:55pm Friday of week 12
Your final submission mark will be the geometric mean of the weighted marks awarded by the web submission system
Links to an external site.
a mark for your logbook and a mark for your code. It will be limited to 20% more than the marks awarded by the web submission system
Links to an external site.
See "Assessment - Mark Calculations" for examples of how the marks are combined. Your final submission mark, after the application of late penalties, will be posted to the myuni gradebook when the assignment marking is complete.

 

This IT/Computer Science Assignment has been solved by our IT/Computer Science Experts at UniLearnO. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Eureka! You've stumped our genius minds (for now)! This exciting new question has our experts buzzing with curiosity. We can't wait to craft a fresh solution just for you!

  • Uploaded By : Alon 
  • Posted on : November 04th, 2018

Whatsapp Tap to ChatGet instant assistance