2

# Programming Assignment 2: LiveOak – 2 to SaM Compiler ## 1. 作业概述 ### 1.1 任务 创建一个手写的递归下降解析器和SaM代码生成器,用于LiveOak语言的0、1、2级。需使用提供的SaMTokenizer类进行词法分析,编译器要接受包含LiveOak程序的文件作为输入,并生成包含正确翻译输入程序的SaM程序的输出文件。作业旨在帮助理解递归下降解析以及实现编译器的意义。相关讲座视频包括LiveOak、栈机和SaM、递归下降解析和代码生成。 ### 1.2 分值与截止日期 分值为100分,截止日期为10月20日晚上11:59,可使用最多2个延迟(延期)天数。 ### 1.3 提交方式 所有提交均为电子形式,可在任何机器上完成作业,提交的测试在Gradescope上自动进行。需提交compiler.jar(项目的可运行.jar文件)和source.zip(包含所有源文件的.zip文件)。 ## 2. 准备材料 ### 2.1 必需材料 – SaM库(v2.6.3),包含词法分析器(从编程作业1获得),编译代码时需使用此.jar文件,若使用IDE,需将其作为外部库添加到项目中。 – 公共测试用例集合(仍在扩展中)。 ### 2.2 可选材料 – 编译器的起始模板,可从此处获取(https://utexas.instructure.com/courses/1404625/ files/79509966?wrap=1)(https://utexas.instructure.com/courses/1404625/files/79509966/ download?download_frd=1)。 – SaM API的HTML文档,从此处获取(https://utexas.instructure.com/ courses/1404625/files/79016316?wrap=1)(https://utexas.instructure.com/courses/1404625/ files/79016316/download?download_frd=1)。 – 包含SaM解释器完整工作原理的设计文档,从此处获取(https://utexas.instructure.com/courses/1404625/files/79016315?wrap=1)(https:// utexas.instructure.com/courses/1404625/files/79016315/download?download_frd=1)。 ## 3. 作业细节 ### 3.1 …

2 Read More »

CS135 Project A

# CS135 Project A: Classifying Sentiment ## 1. Overview – **Project Timeline** – Release on Thu 9/26 – Form partners by Sun 10/06 – Due on Thu 10/17 – Intermediate deadlines for Problem 1 and Problem 2 code/experimentation and writeup – **Team Formation** – Encouraged to work in teams of 2, but can work individually …

CS135 Project A Read More »

CIT593 M6 Assembly Programming Instructions

CIT 593 – Module 06 Assignment Assembly Programming Instructions Assignment Overview 3 Learning Objectives 3 Advice 3 Getting Started 4 Codio Setup 4 Open the PennSim Window 4 Start PennSim in the Terminal Command Line 6 Troubleshooting Codio Issues 7 Run multiply.asm in PennSim 8 Starter Code 10 Requirements 11 General Requirements 11 Part 1: …

CIT593 M6 Assembly Programming Instructions Read More »

COMP6991 Rust 代写

**《Rust 实现 Logo 语言解释器作业指南》** **一、Logo 语言简介** – Logo 是一种从 Lisp 和其他编程语言衍生而来的语言。许多老程序员的第一次编程经历就是使用 Logo。其主要特点是有一个“海龟”绘图机制,它可以像一支无形的笔,通过抬笔、落笔以及移动来绘制图形。 – Logo 程序由文本行组成,这些行被拆分为令牌(由空格分隔的字符串)。以“//”开头的行或空行被视为注释而忽略。令牌分为三种类型: – 程序:类似于函数,可由解释器提供或在 Logo 文件中实现。例如,MAKE 程序用于设置变量的值。一些程序需要参数,一些则不需要。在作业的后续阶段,还会有返回值的程序。 – 变量:以“:”开头的令牌,表示应查找具有该名称的变量。例如,“:MYVARIABLE”可能具有值“42”。 – 值:以“””开头,表示原始字符串。Logo 中的所有值都存储为字符串。 **二、Unsvg 介绍** – 在这个作业中,将使用`unsvg` crate 来生成 SVG 或 PNG 图像。该 crate 有两个有用的功能: – `unsvg::Image`:表示图像,具有像`draw_simple_line`这样的方法,可以让你绘制图像。注意,`draw_simple_line`会返回线的终点坐标,无需进行数学计算来确定线的终点。 – `unsvg::get_end_coordinates`:返回从给定的点开始绘制一条线的终点坐标。 **三、程序工作方式** – 要创建一个名为`rslogo`的程序,它始终接受四个参数: – 一个 Logo 程序文件(通常以.lg 结尾)。 – 输出 SVG 或 PNG 文件的路径(必须以.svg …

COMP6991 Rust 代写 Read More »

COMP6991 Rust Logo Interpreter Assignment

# COMP6991 Rust Logo Interpreter Assignment **Logo Language Overview** – Logo is a programming language derived from Lisp and others. – Older programmers often had their first programming experience with Logo. – Key feature is a “turtle” for drawing by picking up and putting down a pen and moving around. **Assignment Goals** – Practice designing …

COMP6991 Rust Logo Interpreter Assignment Read More »

COMP3301 2024 Assignment 2

# COMP3301 2024 – Assignment 2 ## 1. 课程与作业介绍 – **课程**:COMP3301 – **作业发布时间**:2024年 – **截止时间**:第10周周一下午3点(9月30日) – **提交方式**:Blackboard(反思文档)和Git。代码提交将在第10周的实践课中进行评分 ### 1.1学术诚信 – 所有评估均为个人任务。可以与同学讨论C编程和评估规范的相关方面,但不应在实际编码过程中互相帮助。禁止查看他人代码,也不允许自己的代码以任何形式被他人看到或分享。提交的代码将进行抄袭和串通检查,一旦发现违规,将启动正式的不当行为处理程序。 – **AI工具使用**:所有评估任务均在不借助生成式人工智能(AI)或机器翻译(MT)的情况下评估学生的能力、技能和知识。使用AI技术生成答案(例如代码生成)是严格禁止的,可能构成学生不当行为。 ### 1.2作业背景 – 两个进程可以通过文件描述符(如管道、打开的文件)或共享内存(如使用`mmap()`和`MAP_SHARED`映射的内存)进行通信。但文件描述符或共享内存只有在进程存在父子关系时才能被继承。 – UNIX允许通过UNIX域套接字使用套接字控制消息`SCM_RIGHTS`在任意两个进程之间传递文件描述符。而共享内存也可以通过套接字控制消息实现,但在OpenBSD中目前尚未实现。 ## 2. 作业任务概述 1. **理解`SCM_RIGHTS`**:找到`SCM_RIGHTS`在内核中的实现位置并理解其工作原理,填写并提交流程图,在反思文档中说明查找相关代码的步骤及使用的工具。 2. **实现`SCM_PAGES`**:实现一个通过套接字控制消息接口共享内存页面的进程间通信机制,类似于`SCM_RIGHTS`。发送的是`memshareblk`结构数组,而不是文件描述符数组,并处理各种边界情况。 3. **识别安全风险**:在反思文档中识别至少一个与任务设计或代码实现相关的潜在安全风险,并详细解释风险以及如何缓解该风险。 ## 3. 作业完成步骤 ### 3.1准备工作 1. **下载基础代码补丁** – 命令:`cd ~ ftp https://stluc.manta.uqcloud.net/comp3301/public/2024/comp3301 -2024 -a2.patch` 2. **创建`a2`分支** – …

COMP3301 2024 Assignment 2 Read More »

FIT5196 S2 2024 Assessment 2

# FIT5196 – S2 – 2024 Assessment 2 ## 1. Introduction This is a group assessment worth 40% of the total mark for FIT5196. It consists of three tasks related to data analysis and manipulation. ## 2. Task 1: Data Cleansing (50%) ### 2.1 Input and Output Files – **Input files**: `Group_dirty_data.csv`, `Group_outlier_data.csv`, `Group_missing_data.csv`, `warehouse.csv` …

FIT5196 S2 2024 Assessment 2 Read More »

SAS HW3

Specifications: Programming HW #3 • You are allowed at most three DATA steps and thirteen PROC steps to complete this assignment. • The data you need to read in is in the Data\BookData\ClinicalTrialCaseStudy folder – associate a fileref named RawData with this location. The data sets I’ve provided you for validation purposes are in the …

SAS HW3 Read More »