
系统软件开发实践报告.docx
25页计算机科学与技术学院系统软件开发实践报告姓 名: 王冬升 学 号: 08123228 专 业: 计算机科学与技术 班 级: 计科12-1班 指引教师: 张 博 4月 摘 要操作系统和编译原理是大学计算机专业的必修课程。
在这些课程的教学教程中,容易偏重于理论的简介,而忽视了实践环节本课程设计是在完毕C++程序设计、数据构造、操作系统、编译技术教学后所进行的,全面综合训练学生的系统软件开发能力核心字:编译系统、Flex、Bison、操作系统、启动、内存管理目 录1 借助Flex进行词法分析 …………………………………………………2 1.1实验内容 ………………………………………………………………2 1.2 实验规定 ………………………………………………………………2 1.3 程序代码 ………………………………………………………………2 1.4 实验成果 ………………………………………………………………42 借助Flex/Bison进行语法分析 …………………………………………5 2.1 实验内容 ………………………………………………………………5 2.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.3 GCC编译练习 …………………………………………………………124.4 GDB调试练习 …………………………………………………………12 5(操作系统实验)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程序代码Lex.l源码:%{#include 具体内容:1) 运用语法分析器生成工具Bison编写一种语法分析程序,与词法分析器结合可以根据语言的上下文无关文法,辨认输入的单词序列与否文法的句子2) 运用附录提供的C语言文法的有关参照资料,运用Yacc/Bison编写一种C语言分析器 2.2 实验规定1) 编写 Bison源文献,实现C 语言的语法分析功能,最后上机调试2) 规定编写一种测试程序,以给定的测试文献作为输入,输出运营成果到输出文献中2.3程序代码由于本实验的lex源文献和yacc源文献代码较长并且在“实验附录:C语言有关文。












