Lisp 代写

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 »

ECS140A hw3 description

About This Assignment ECS 140A Programming Languages Winter 2024 Homework 3 • This assignment asks you to complete programming tasks using the Go programming language and the GNU Common Lisp programming language. • You are only allowed to use the subset of Go and Lisp that we have dis- cussed in class. No credit will …

ECS140A hw3 description Read More »

SER222 HW2

Arizona State University SER222: Data Structures & Algorithms Lecturer Acuña Revised 12/27/2023 Implementing an Immutable Data Type Summary: Using immutability, we will construct a reliable class for handling matrices. We will also discuss a basic suite of tests for this new class. 1 Background No generative AI tools may be used on this or any …

SER222 HW2 Read More »

cs164 hw6

# Homework 6: `apply` and Variadic Functions In this homework, you’ll extend the function calls we developed in class with two additional features: – **The `apply` operation**, which takes in the name of a function and a list of arguments and calls the functions on those arguments. Lists are defined as in Homework 4: either …

cs164 hw6 Read More »

cs164 hw5 Chekaneka

Homework 5: Fun with Files Note: This is a 1-week assignment (due 1 week after release). Introduction In this homework, you’ll implement string support and file handling. You’ll get more practice dealing with data on the heap and learn how to extend your compiler’s functionality via the C runtime. At the end of this homework …

cs164 hw5 Chekaneka Read More »

CS 131 Project 1 Brewin Interpreter

Introduction In this project, you will be implementing a simple interpreter for a new programming language, called Brewin. Brewin is an object-oriented variant of the LISP language. You guessed it – that means there are lots of parentheses! :^) You¡¯ll be implementing your interpreter in Python. This project is the first of three – in …

CS 131 Project 1 Brewin Interpreter Read More »

CIT 594 Module 3 Programming Assignment

CIT 594 Module 3 Programming Assignment Stacks & Queues In this assignment, you will use Stacks and Queues to check documents for correct nesting. After briefly explaining how this can be used as part of the syntax validation in multiple settings including arithmetic expressions and computer programming languages, you will build a function that applies …

CIT 594 Module 3 Programming Assignment Read More »