FIT2014 代写 Assignment 2
截止日期:2024年10月4日星期五晚上11:55 在这些练习中,你将: – 使用lex实现词法分析器(问题3); – 使用lex和yacc实现解析器(问题1 – 6); – 编程实现图灵机(问题7); – 通过应用相关方法进行计算,了解量子电路和量子寄存器的一些方面(问题2 – 6); – 练习与泵引理和上下文无关语言相关的技能(问题8)。 问题7的解决方案必须在模拟器Tuatara中实现。提供的版本是2.1,在Moodle的第8周可以找到,文件名是tuatara – monash – 2.1.jar。必须使用这个版本,而不是从互联网上下载的其他版本。不要解压此文件,必须直接使用Java运行时运行。 如何管理此作业 指令 指令与作业1大致相同,只是一些文件名发生了变化,现在每个问题都有自己的目录。要开始处理作业,请从Moodle下载工作台asgn2.zip。创建一个新的Ed工作区并上传此文件,让Ed自动解压它。编辑student – id文件以包含你的姓名和学生ID。参考实验0,以提醒如何执行这些任务。 打开一个终端并切换到asgn2目录。你会发现该目录中已经有另外四个文件:plus – times – power.l,plus – times – power.y,quant.h和prob6.awk。你不会直接修改这些文件;你将制作前两个文件的副本并修改副本,而quant.h和prob6.awk必须保持不变(尽管在其他目录中拥有它们的副本是可以的)。 原始目录结构和文件位置必须保留。对于每个问题,你提交的文件必须在相应的子目录中,即问题x的文件在problemx子目录中。 每个这些问题子目录都包含具有所需文件名的空文件。这些文件必须分别被你编写的文件替换,如上文所述。在提交之前,请检查这些空文件中的每一个确实被你自己的文件替换。 要提交你的工作,请通过在文件管理器面板中单击“下载全部”将Ed工作区下载为zip文件。“下载全部”选项保留zip文件的目录结构,这有助于标记过程。你必须在上述给定的截止日期之前将此zip文件提交到Moodle。 一些关于Lex和Yacc的有用参考: – T. Niemann,Lex & Yacc Tutorial,http://epaperpress.com/lexandyacc/ – Doug Brown,John Levine,和Tony Mason,lex and yacc(第2版),O’Reilly,2012。 – lex和yacc的手册页。 我们将用一种基于简单算术表达式的语言PLUS – TIMES – POWER来说明这些程序的使用,该语言涉及非负整数,仅使用加法,乘法和幂运算。然后,你将在与量子计算相关的一些语言上使用lex和yacc。 PLUS – TIMES – POWER PLUS – TIMES – POWER语言由涉及加法,乘法和非负整数幂的表达式组成,没有任何括号(除了函数Power所需的括号)。示例表达式包括: …