合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

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

        時間:2024-02-17  來源:合肥網(wǎng)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 

        掃一掃在手機(jī)打開當(dāng)前頁
      1. 上一篇:代投EI會議、EI期刊 EI檢索入口查詢方法
      2. 下一篇:代寫Shared Memory Particle Simulation
      3. 無相關(guān)信息
        合肥生活資訊

        合肥圖文信息
        挖掘機(jī)濾芯提升發(fā)動機(jī)性能
        挖掘機(jī)濾芯提升發(fā)動機(jī)性能
        戴納斯帝壁掛爐全國售后服務(wù)電話24小時官網(wǎng)400(全國服務(wù)熱線)
        戴納斯帝壁掛爐全國售后服務(wù)電話24小時官網(wǎng)
        菲斯曼壁掛爐全國統(tǒng)一400售后維修服務(wù)電話24小時服務(wù)熱線
        菲斯曼壁掛爐全國統(tǒng)一400售后維修服務(wù)電話2
        美的熱水器售后服務(wù)技術(shù)咨詢電話全國24小時客服熱線
        美的熱水器售后服務(wù)技術(shù)咨詢電話全國24小時
        海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
        海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
        合肥機(jī)場巴士4號線
        合肥機(jī)場巴士4號線
        合肥機(jī)場巴士3號線
        合肥機(jī)場巴士3號線
        合肥機(jī)場巴士2號線
        合肥機(jī)場巴士2號線
      4. 幣安app官網(wǎng)下載 短信驗證碼

        關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

        Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
        ICP備06013414號-3 公安備 42010502001045

        主站蜘蛛池模板: 中文字幕一区二区三匹| 国产在线视频一区二区三区98| 精产国品一区二区三产区| 一区二区在线视频免费观看| 亚洲欧洲一区二区| 一区二区乱子伦在线播放| 成人免费视频一区二区| 国产精品久久亚洲一区二区| 国产99视频精品一区| 亚洲一区二区三区在线| 日本高清成本人视频一区| 久久久不卡国产精品一区二区| 色一乱一伦一区一直爽| 内射白浆一区二区在线观看| 日本一区免费电影| 国产SUV精品一区二区88L| 日本精品视频一区二区| 日本一区二区三区日本免费| 麻豆国产在线不卡一区二区| 国产福利日本一区二区三区| 久久精品成人一区二区三区| 波多野结衣一区视频在线| 亚洲综合在线一区二区三区| 无码精品尤物一区二区三区| 91国偷自产一区二区三区| 亚洲AV成人一区二区三区观看| 亚洲日韩AV无码一区二区三区人| 亚洲熟女www一区二区三区| 精品人妻无码一区二区色欲产成人| 国产吧一区在线视频| 国产一区二区三区韩国女主播| 亚洲字幕AV一区二区三区四区| 91精品乱码一区二区三区| 亚洲AV无码一区二区三区牲色| 无码日本电影一区二区网站| 国产在线步兵一区二区三区| 国产精品污WWW一区二区三区 | 精品一区精品二区| 国产精品一区二区久久精品无码| 国产亚洲欧洲Aⅴ综合一区| 亚洲一区综合在线播放|