91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫Assignment 3 Description Jack Compiler
代寫Assignment 3 Description Jack Compiler

時間:2024-02-17  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯


 2020/10/18 Assignment 3 Description: Computer Systems (2000_7081 Combined)

https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-description 1/7 Assignment 3 Descripঞon Assignment 3 - Jack Compiler Weighঞng and Due Dates
Marks for this assignment contribute 20% of the overall course mark.
Marks for functionality will be awarded automatically by the web submission system.
Due dates: Milestone - 11:55pm Friday of week 11, Final - 11:55pm Monday of week 13.
Late penalties: For each part, the maximum mark awarded will be reduced by 25% per day /
part day late. If your mark is greater than the maximum, it will be reduced to the maximum.
Core Body of Knowledge (CBOK) Areas: abstraction, design, hardware and software, data
and information, and programming.
Project Descripঞon
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 (https://myuni.adelaide.edu.au/courses/54311/pages/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:
2020/10/18 Assignment 3 Description: Computer Systems (2000_7081 Combined)
https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-description 2/7
% make install
5. Add the .cpp startup files and an empty tests directory to your svn repository:
% svn add *.cpp
% svn add --depth=empty tests
% 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
(https://cs.adelaide.edu.au/services/websubmission) assignment named: Assignment 3 - Submit
Here. The assessment is based on "Assessment of Programming Assignments
(https://myuni.adelaide.edu.au/courses/54311/pages/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
2020/10/18 Assignment 3 Description: Computer Systems (2000_7081 Combined)
https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-description 3/7
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
(https://cs.adelaide.edu.au/services/websubmission) 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 Monday of week 13Your final submission mark will be the geometric mean of the weighted marks awarded by the web
submission system (https://cs.adelaide.edu.au/services/websubmission/) , 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 (https://cs.adelaide.edu.au/services/websubmission) .
See "Assessment - Mark Calculations
(https://myuni.adelaide.edu.au/courses/54311/pages/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.
NOTE - A logbook mark of 0 results in a Final Submission mark of 0.
Automaঞc Marking The final submission marks awarded by the web submission system (https://cs.adelaide.edu.au/services/websubmission) for each component program will be weighted as follows:
For students enrolled in COMP SCI 2000 Computer Systems:
Assignment 3 - Final Submissions - UG
parser - 30%
codegen - 40%
pretty - 10%
lint - 20%
You can view the weighted marks in the UG Final assignment but submissions must be made using the Assignment 3 - Submit Here assignment.
2020/10/18 Assignment 3 Description: Computer Systems (2000_7081 Combined)
https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-description 4/7 For students enrolled in COMP SCI 7081 Computer Systems:
Assignment 3 - Final Submissions - PG
parser - 30%
codegen - 40%
pretty - 10%
optimiser-r - 20%
You can view the weighted marks in the PG Final assignment but submissions must be made
using the Assignment 3 - Submit Here assignment.
Logbook Marking
Important: the logbook must have entries for all work in this assignment, including your milestone
submissions and all of the component programs. All the logbook links in the web submission system (https://cs.adelaide.edu.au/services/websubmission) assignments for Assignment 3
point to the same shared logbook. See "Assessment - Logbook Review
(https://myuni.adelaide.edu.au/courses/54311/pages/assessment-logbook-review) " for details of how
your logbook will be assessed.
Code Review Marking
For each of your programming assignments you are expected to submit well written code. See
"Assessment - Code Review (https://myuni.adelaide.edu.au/courses/54311/pages/assessment- code-review) " for details of how your code will be assessed.
Assignment 3 - Parঞcipaঞon Marks
Any submissions to assignment 3 that are made more than one week before the due date for
Milestone Submissions may be awarded up to 10 participation marks. The participation marks will
be the weighted marks awarded for the Final Submissions divided by 10. You can view the
participation marks awarded in the One Week Pre Milestone assignment but submissions must
be made using the Assignment 3 - Submit Here assignment. The participation marks will be
allocated to week 10.
Any submissions to assignment 3 that are made no later than the due date for Milestone
Submissions may be awarded up to 10 participation marks. The participation marks will be the
weighted marks awarded for the Final Submissions divided by 10. You can view the participation
marks awarded in either the Pre Milestone assignment but submissions must be made using
the Assignment 3 - Submit Here assignment. The participation marks will be allocated to week
11.
A maximum of 20 participation marks are available.
Nand2Tetris Projects 10 & 11: Compiler I & II Background
2020/10/18 Assignment 3 Description: Computer Systems (2000_7081 Combined)
https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-description 5/7
Modern compilers, like those of Java and C#, are multi-tiered: the compiler's front-end translates
from the high-level language to an intermediate VM language; the compiler's back-end translates
further from the VM language to the native code of the host platform. In an earlier workshop we
started building the back-end tier of the Jack Compiler (we called it the VM Translator); we now
turn to the construction of the compiler's front-end. This construction will span two parts: syntax
analysis and code generation.
Objecঞve
In this project we build a Syntax Analyser that parses Jack programs according to the Jack
grammar, producing an abstract syntax tree that captures the program's structure. We then write
separate logic that can apply any number of transformations to our abstract syntax tree. The
transformations may include pretty printing the original program, applying specific optimisations to
the abstract syntax tree or generating VM code. This mirrors the approaches used in the
workshops.
Resources
The relevant reading for this project is Chapters 10 and 11. However, you should follow the
program structure used in earlier workshops rather than the proposed structure in Chapters 10
and 11. You must write your programs in C++. You should use the provided command diffc to
compare your program outputs to the example output files supplied by us. A set of precompiled
classes similar to those used in the workshops and the previous assignment are in the zip file
attached below. All the test files and test scripts necessary for this project are available in the zip
file attached below. Tesঞng and IO We have a provided a description of the requirements for each component program on its own
page. This includes instructions on how to compile, run and test each component program.
However before starting work on any of the component programs you should review the pages on
Testing and IO Controls.
Tesঞng
The test data including the convention used to name expected outputs for each test are described
on the Assignment 3 | testing (https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3- %7C-testing) page.
IO Controls
Each component program has specific requirements for what it should or should not output when
it is working correctly and what to do when an error occurs. Unless specified otherwise, the default
error handling process for each component program is to terminate the program with an exit
status of 0 and to have not produced any output. Unfortunately, this can make it difficult to trace
the execution of your programs and get meaningful error messages from them during
development. To allow you to achieve both, a number of output buffering and error reporting
2020/10/18 Assignment 3 Description: Computer Systems (2000_7081 Combined)
https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-description 6/7
functions have been provided and are described on the Assignment 3 | io controls
(https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-%7C-io-controls) page.
Component Programs parser
The parser program uses the provided tokeniser to parse a Jack program and construct an
equivalent abstract syntax tree. The specific requirements for this component program are
described on the Assignment 3 | parser
(https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-%7C-parser) (https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-%7C-parser) page.
codegen
The codegen program traverses an abstract syntax tree to generate virtual machine code. The
specific requirements for this component program are described on the Assignment 3 | codegen
(https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-%7C-codegen) page.
pre‚y
The pretty program traverses an abstract syntax tree and prints a Jack program formatted to a
specific coding standard. The specific requirements for this component program are described on
the Assignment 3 | pretty (https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-%7C- pretty) page.
lint^
The lint program traverses an abstract syntax tree and generates a new abstract syntax tree that
has been annotated with warning and / or error messages. The specific requirements for this
component program are described on the Assignment 3 | lint
(https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-%7C-lint) page.
opঞmiser-r*
The optimiser-r program traverses an abstract syntax tree produced and generates a new
abstract syntax tree with redundant code removed if possible. The specific requirements for this
component program are described on the Assignment 3 | optimiser_r 
(https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-%7C-optimiser-r) page.
Startup Files
The newest of the following zip file(s) must be placed in the updates sub-directory and added to
svn. When make is run, the newest zip file in the updates directory is used to update the startup
files. Any files you are required to edit will not be updated but, a copy of the latest version of those
files will be placed in the sub-directory originals.
assignment**0201005-11**05.zip
(https://myuni.adelaide.edu.au/courses/54311/files/7521934/download?wrap=1)
2020/10/18 Assignment 3 Description: Computer Systems (2000_7081 Combined)
https://myuni.adelaide.edu.au/courses/54311/pages/assignment-3-description 7/7
assignment**0200919-143**4.zip
assignment**0200912-151729.zip
assignment**0200814-101854.zip
assignment**0200724-193452.zip
請加QQ:99515681  郵箱:99515681@q.com   WX:codehelp 

掃一掃在手機打開當前頁
  • 上一篇:代投EI會議、EI期刊 EI檢索入口查詢方法
  • 下一篇:代寫Shared Memory Particle Simulation
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区
    欧美精品日韩一区| 日韩一区二区电影在线| 国产精品不卡视频| 成人激情校园春色| 久久中文欧美| 亚洲激情五月婷婷| 在线精品在线| 国产精品久久久久影院| 91麻豆国产自产在线观看| 日韩欧美一区在线观看| 国产精品一区在线| 欧美日韩一级片在线观看| 免费日韩伦理电影| 色噜噜狠狠成人网p站| 天使萌一区二区三区免费观看| 亚洲精品看片| 亚洲主播在线播放| 麻豆精品视频| 日韩电影在线观看电影| 色999日韩国产欧美一区二区| 亚洲国产一区二区视频| 久久成人在线| 男男gaygay亚洲| 欧美日韩三级视频| 国产精品一二三四| 日韩美女天天操| 97精品久久久久中文字幕| 国产三级一区二区| 亚洲午夜精品国产| 亚洲影视资源网| 久久久www| 久久99蜜桃精品| 91精品国产高清一区二区三区| 高清国产一区二区三区| xfplay精品久久| 好看的亚洲午夜视频在线| 樱桃国产成人精品视频| 色综合久久六月婷婷中文字幕| 免费一级欧美片在线观看| 欧美日韩精品二区第二页| 成人亚洲一区二区一| 久久久91精品国产一区二区精品| 很黄很黄激情成人| 亚洲1区2区3区视频| 精品视频免费在线| 99久久综合精品| 亚洲欧洲韩国日本视频| 久久精品在线| 福利视频网站一区二区三区| 久久久九九九九| 精品不卡在线| 蜜臀av一区二区| 精品入口麻豆88视频| 在线国产欧美| 美女久久久精品| 久久亚洲私人国产精品va媚药| 国产精品高清一区二区三区| 午夜精品一区二区三区电影天堂| 欧美日韩国产天堂| 国产精品国产三级国产专区53| 亚洲国产一区在线观看| 91精品久久久久久久99蜜桃 | 一区二区三区在线视频播放| 日本久久精品电影| 不卡免费追剧大全电视剧网站| 国产精品国产三级国产aⅴ原创| 亚洲综合精品| 成人一级片在线观看| 亚洲毛片av在线| 3d动漫精品啪啪1区2区免费| 欧美日韩高清免费| 青青草97国产精品免费观看无弹窗版| 日韩一二三区不卡| 国产精品嫩草99av在线| 国产精品99久久久久久久vr| 亚洲色图丝袜美腿| 宅男噜噜噜66一区二区66| 亚洲激情另类| 国产精品亚洲综合一区在线观看| 亚洲视频每日更新| 欧美老女人第四色| 夜久久久久久| 成人综合婷婷国产精品久久| 亚洲一区欧美一区| 欧美tickle裸体挠脚心vk| 亚洲影院免费| 成人精品视频一区二区三区尤物| 亚洲一区二区三区免费视频| 精品国产乱码久久久久久久久 | 99久久综合精品| 日韩电影一区二区三区| 中文字幕一区二区在线播放| 91精品国产综合久久久蜜臀粉嫩 | 91久久精品国产91久久性色tv| 国产毛片精品一区| 亚洲超碰97人人做人人爱| 国产视频视频一区| 欧美一区在线视频| 久久深夜福利| 99国产精品久久久久老师| av电影在线观看完整版一区二区| 日韩激情av在线| 亚洲人被黑人高潮完整版| 久久综合色8888| 欧美在线不卡视频| 在线亚洲成人| 欧美日本韩国一区二区三区| 国产成人激情av| 老司机午夜精品99久久| 性做久久久久久免费观看| 国产精品福利影院| 国产婷婷色一区二区三区| 欧美一区日韩一区| 欧美日韩在线免费视频| 色天天综合久久久久综合片| 国产欧美日韩亚洲| 亚洲无吗在线| 欧美日韩亚洲免费| 欧美一区二区在线| 9久草视频在线视频精品| 国产成人精品一区二区三区四区| 日韩av二区在线播放| 亚洲国产wwwccc36天堂| 一区二区三区蜜桃网| 亚洲欧美偷拍卡通变态| 亚洲欧美影音先锋| 国产精品看片你懂得| 国产精品麻豆一区二区| 日本一区二区免费在线| 国产午夜亚洲精品午夜鲁丝片 | 欧美一区二区日韩一区二区| 欧美久久久久中文字幕| 欧美日韩国产欧美日美国产精品| 91久久国产最好的精华液| 久久精品日韩| 91激情在线视频| 欧美这里有精品| 精品视频免费在线| 欧美一区在线视频| 日韩精品一区二区在线观看| 日韩免费性生活视频播放| 欧美精品一区二区三区在线播放 | 亚洲一区二区在线免费看| 亚洲电影视频在线| 亚洲成av人片在线观看| 日韩黄色小视频| 麻豆精品视频在线观看视频| 蜜臀av亚洲一区中文字幕| 九一久久久久久| 国产成人免费视频| 成人福利视频在线| 欧美日韩精品久久| 一区二区三区四区五区视频 | 91国在线观看| 538在线一区二区精品国产| 欧美xxxxxxxx| 国产欧美日韩亚州综合 | 久久蜜臀中文字幕| 中文字幕一区二区三区乱码在线| 亚洲免费在线电影| 天堂在线亚洲视频| 国产精品自拍av| 色综合久久中文综合久久97| 精品不卡一区| 一本大道久久a久久综合| 6080午夜不卡| 国产欧美日韩精品在线| 亚洲国产毛片aaaaa无费看| 免费观看在线综合色| 粉嫩av亚洲一区二区图片| 国内视频精品| 久久精品国产清高在天天线| 91精品国产综合久久久久久久| 久久蜜臀精品av| 夜夜爽夜夜爽精品视频| 久久se精品一区二区| 欧美成人一区二区在线| 香蕉久久国产| 日韩欧美激情在线| 亚洲天堂av一区| 老司机一区二区| 欧美日韩网站| 91久久精品一区二区三区| 26uuu色噜噜精品一区| 亚洲综合久久av| 国产精品91一区二区| 欧美日韩亚洲在线| 在线视频一区二区免费| 26uuu另类欧美| 亚洲一二三四久久| 国产成人免费9x9x人网站视频| 亚洲激情女人| 在线不卡的av| 亚洲老司机在线| 国产麻豆精品视频| 一区二区高清| 欧美精品一区二区三区在线播放 | 美女网站一区二区| 国产在线日韩| 欧美福利视频一区|