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 …