系统软件开发实践报告.docx
文本预览下载声明
计算机科学与技术学院系统软件开发实践报告姓 名: 王冬升学 号专 业: 计算机科学与技术 班 级: 计科12-1班 指导教师:张博 2015年4月 摘 要操作系统和编译原理是大学计算机专业的必修课程。在这些课程的教学教程中,容易偏重于理论的介绍,而忽视了实践环节。本课程设计是在完成C++程序设计、数据结构、操作系统、编译技术教学后所进行的,全面综合训练学生的系统软件开发能力关键字:编译系统、Flex、Bison、操作系统、启动、内存管理目 录1 借助Flex进行词法分析…………………………………………………2 1.1实验内容………………………………………………………………21.2实验要求………………………………………………………………2 1.3程序代码………………………………………………………………2 1.4 实验结果………………………………………………………………42 借助Flex/Bison进行语法分析…………………………………………5 2.1实验内容 ………………………………………………………………52.2 实验要求………………………………………………………………52.3程序代码………………………………………………………………52.4 实验步骤 ………………………………………………………………52.5 实验结果 ………………………………………………………………73 Flex/Bison综合实验……………………………………………………7 3.1 实验内容 ………………………………………………………………7 3.2 计算器具体需要实现的功能 …………………………………………7 3.3 实验要求 ………………………………………………………………7 3,4程序代码………………………………………………………………8 3.5 实验结果………………………………………………………………114(操作系统实验)lib0:熟悉实验环境…………………………………114.1 实验目的 ………………………………………………………………114.2实验环境搭建 …………………………………………………………114.3GCC编译练习…………………………………………………………124.4 GDB调试练习…………………………………………………………125(操作系统实验)lib1:启动操作系统…………………………………135.1 实验目的 ………………………………………………………………135.2实验内容 ………………………………………………………………145.3实验步骤………………………………………………………………145.4操作系统启动过程……………………………………………………155.5 实模式与保护模式……………………………………………………166(操作系统实验)lib2:物理内存管理…………………………………166.1 实验目的 ………………………………………………………………166.2实验内容 ………………………………………………………………166.3 ………………………………………………………………7实验体会……………………………………………………………………8参考文献……………………………………………………………………1借助Flex进行词法分析1.1实验内容给定C语言的一个子集,具体内容如下:1. 下面是语言的关键字:else if switch for int float return void while 所有的关键字都是保留字,并且必须是小写。2. 下面是专用符号: + - * / = = == != = ; , ( ) [ ] { } /* */3. 其他标记是标识符(ID)和数字(NU ),通过下列正则表达式定义:ID = letter letter*NUM = digit digit*letter = a|..|z|A|..|Zdigit = 0|..|9注:小写和大写字母是有区别的。4. 空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM 关键字。5. 注释用通常的C语言符号/* . . . */围起来。注释可以放在任何空白出现的位置(即注释不能放在标记内)上,且可以超过一行。注释不能嵌套1.2实验要求编写 LEX 源文件,实现C 语言子集的词法分析功能,最后上机调试。要求编写一个测试程序,以给定的测试文件作为输入,输出运行结果到输出文件中1.3程序
显示全部