Advertisement

同济大学计算机系《编译原理》课程大作业项目源码.zip

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
此压缩包包含同济大学计算机系学生为《编译原理》课程设计的大作业项目的全部源代码,旨在实践编译器的设计与实现。 同济大学计算机系课程《编译原理》大作业项目包括词法分析器和LR1语法分析器。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • .zip
    优质
    此压缩包包含同济大学计算机系学生为《编译原理》课程设计的大作业项目的全部源代码,旨在实践编译器的设计与实现。 同济大学计算机系课程《编译原理》大作业项目包括词法分析器和LR1语法分析器。
  • | SSE
    优质
    本项目为同济大学软件学院(SSE)操作系统课程设计,旨在通过实践加深学生对操作系统的理解与应用能力。 操作系统课程项目包括两个部分:电梯调度和内存管理。 **电梯调度** 在每个电梯内部设置必要的功能键,例如数字键、关门键、开门键、上行键、下行键、报警键以及显示当前电梯高度及上升或下降状态的指示器。每层楼的每一部电梯门口应有上下按钮,并配备数码显示器来展示电梯的状态信息。 五部电梯门口之间的按钮相互关联:当某一部电梯门上的某个按钮被按下时,其他电梯相同位置处的相应按钮也会同步点亮以示响应。所有电梯在初始状态下均位于第一层楼。若某一楼层上方或下方没有新的请求,则该电梯将保持静止不动。 **内存管理** 首次适应算法和最佳适应算法应用于动态分区分配方式中: 假设系统起始时拥有640K的可用内存空间,根据以下作业申请序列执行操作并记录每次分配与回收后的部分分区链状态。 - 作业1请求130K - 作业2请求60K - 作业3请求100k - 作业2释放60K - 作业4请求200K - 作业3释放100K - 作業1释放130K - 作业5申请140K - 作业6申请60K - 作业7申请50k - 作业6释放60K **请求分区分配方式** 在模拟过程中,如果指令已在内存中,则显示其物理地址并继续执行下一条指令;若未存在于内存中,则会产生缺页现象。此时需要记录该次缺页次数,并将缺失的页面调入至内存内。
  • 广东工
    优质
    《广东工业大学编译原理课程设计项目》是由广东工业大学计算机科学学院开设的一门实践性教学环节,旨在通过实际编程任务加深学生对编译技术的理解和应用。 ### 一.课程设计目的 在深入分析并理解一个教学型编译程序(如PL/0)的基础上,对其中的词法分析、语法分析以及语义处理部分进行一定的修改与扩展。 ### 二.课程设计要求 #### 基本内容: 1. **扩充赋值运算**: - += 和 -= 2. **扩充语句**(Pascal的FOR循环): - FOR <变量>:=<表达式> TO <表达式> DO <语句> - FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句> 其中,第一种形式中的循环步长为2;第二种形式中,步长则设定为-2。 #### 选做内容: 1. **增加运算**: - ++ 和 -- 2. **新增类型**: - 字符类型 - 实数类型 3. **扩充函数功能**: - 支持返回值和带有返回语句的函数定义; - 包含参数在内的各种形式的函数实现。 4. **增加一维数组支持** 5. **其他语言特性** #### 本人在课程设计中已达成的功能: 1. 增加保留字:ELSE,FOR,TO,DOWNTO, REPEAT, UNTIL, RETURN 2. 修改运算符不等号#为 <> 3. 引入条件语句的ELSE子句支持。 4. 扩展赋值操作 += 和 -= 5. 实现了Pascal FOR循环结构: - FOR <变量>:=<表达式> TO <表达式> DO <语句> - FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句> 6. 支持 ++ 和 -- 运算符(包括前置和后置形式) 7. 引入一维数组类型 8. 实现了REPEAT 语句 UNTIL 语句等其他语言特性
  • 广东工
    优质
    《广东工业大学编译原理课程设计项目》是由广东工业大学计算机科学学院开设的一门实践性教学环节,旨在通过实际项目的操作加深学生对编译原理理论知识的理解与应用。该项目涵盖了词法分析、语法分析、语法制导翻译等多个关键技术点,并鼓励团队合作和创新思维的培养。 广东工业大学10级编译原理课程设计涉及PL0的实验内容。这是一份广工内部福利资料,具体内容你应该明白。
  • 广东工
    优质
    《广东工业大学编译原理课程设计项目》是由广东工业大学计算机科学学院开设的一门实践教学环节,旨在通过实际项目加深学生对编译器构造技术的理解和应用。该课程涵盖了词法分析、语法分析、语法制导翻译等多个核心模块的设计与实现,帮助学生掌握现代编程语言处理的关键技能。 09级编译原理课内试验及课程设计内容与要求 1. 课内实验(考试前提交报告) 对PL0进行以下修改扩充: (1)增加保留字ELSE,FOR,STEP,UNTIL,RETURN; 运算符 +=、-=、++、--、∧、∨和┓。 (2)将不等号# 修改为 <>。 (3)添加条件语句的 ELSE 子句,并要求提供相关文法、语法图及语义规则。 2. 课程设计 基本内容: (1)扩展赋值运算:+= 和 -=; (2)扩充语句,实现 Pascal 的 FOR 语句: FOR <变量>:=<表达式> STEP <表达式> UNTIL <表达式> DO <语句> 完成上述内容可获得“中”、“及格”或“不及格”的成绩。 选做内容: (1)增加数据类型:字符型和实数型; (2)扩展函数,包括有返回值的和带有参数的函数; (3)引入一维数组类型,并可能需要添加相应指令; (4)其他典型语言设施。 完成这些选项可以得到“优”或“良”的评价。 3. 要求与说明 (1)放假前提交课程设计报告及光盘,班级统一制作一张光盘,每个人的文件夹名称为:xx姓名,其中 xx 是学号的最后两位数字; (2)在程序运行界面应显示: - 设计者的班级、学号和姓名; - 开始调试时间; - 完成调试时间。 (3)实验报告内容包括: 1. 概述: 包括源语言与目标语言,所使用的工具(平台),以及运行环境的描述 2. 结构设计说明: 各功能模块的具体描述 3. 主要成分描述: ① 符号表; ② 运行时存储组织和管理; ③ 语法分析方法; ④ 中间代码表示。 4. 测试用例, 5. 开发过程及完成情况的概述。 (4)光盘应包含: - 扩充后的 PLO 编译程序源码文件及可执行文件 - 使用 PL0 语言编写的测试案例及其运行结果; - 课程设计报告文档,需提交一份打印版。 (5)成绩分为五个等级:优、良、中、及格和不及格。根据完成的项目质量和报告的质量来评定分数。 只完成了基本内容的同学最高可得“中”分;而鼓励大家尝试选做部分的内容以获得更高的评价:“良”,直至“优”。如果有以下情况,将视情节严重程度降低成绩等级: - 光盘文件带有病毒或无法正常读取; - 有抄袭或复制他人代码和文档的行为; - 没能在规定时间内提交报告及光盘。
  • 天津
    优质
    天津大学编译原理课程设计项目是面向计算机科学专业学生的实践教学环节,旨在通过实际项目的开发加深学生对编译器构造的理解与应用。 这是天津大学《编译原理与技术》课程的大作业,内容为实现一个简易的SQL编译器,包括词法分析器和LR1语法分析器。支持的语言是 SQL--,具体词法和语法详见实验文档。
  • 吉林
    优质
    本项目为吉林大学编译原理课程的一部分,旨在通过实践加深学生对该理论知识的理解。参与者将设计并实现一个简单的编译器或解释器,增强编程技巧和问题解决能力。 这是吉林大学计算机学院编译原理课程设计代码,其中包括词法分析、两种语法分析以及语义分析。
  • 华中
    优质
    本项目是华中科技大学编译原理课程的一部分,旨在通过实际编程任务加深学生对词法分析、语法分析及代码生成等概念的理解与应用。 实现了目标代码生成功能,包括数组、自增操作、循环结构、结构体以及函数的实现。
  • 华南
    优质
    华南理工大学计算机编译原理课程旨在深入讲解编程语言的设计与实现,涵盖词法分析、语法分析、语法制导翻译等核心内容,培养学生的软件开发能力和理论素养。 这段文字包含课件、平时作业和实验内容。
  • 山东科技
    优质
    《山东科技大学编译原理课程设计项目》是由山东科技大学计算机科学与工程学院推出的实践教学环节之一,旨在通过实际项目的实施,帮助学生深入理解和掌握编译原理的相关知识和技术。该项目涵盖了词法分析、语法分析、语法制导翻译等多个方面的内容,并结合最新的编程语言和工具进行应用,是连接理论学习与实践操作的重要桥梁。 山东科技大学的编译原理课程设计旨在通过实践加深学生对该理论知识的理解与应用能力。学生们在这一过程中将学习到如何分析编程语言并将其转换为目标代码的技术细节,这对计算机科学专业的学生来说是一项重要的技能训练。此课程通常包括词法分析、语法分析以及语义处理等环节的学习和项目实施。