欢迎来到天天文库
浏览记录
ID:58400761
大小:1.05 MB
页数:19页
时间:2020-05-08
《系统软件开发实践报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机科学与技术学院系统软件开发实践报告姓名:王冬升学号:08123228专业:计算机科学与技术班级:计科12-1班 指导教师:博2015年4月摘要操作系统和编译原理是大学计算机专业的必修课程。在这些课程的教学教程中,容易偏重于理论的介绍,而忽视了实践环节。本课程设计是在完成C++程序设计、数据结构、操作系统、编译技术教学后所进行的,全面综合训练学生的系统软件开发能力关键字:编译系统、Flex、Bison、操作系统、启动、存管理目录1借助Flex进行词法分析…………………………………………………21.1实验
2、容………………………………………………………………21.2实验要求………………………………………………………………21.3程序代码………………………………………………………………21.4实验结果………………………………………………………………42借助Flex/Bison进行语法分析…………………………………………52.1实验容………………………………………………………………52.2实验要求………………………………………………………………52.3程序代码………………………………………………………………52.4
3、实验步骤………………………………………………………………52.5实验结果………………………………………………………………73Flex/Bison综合实验……………………………………………………73.1实验容………………………………………………………………73.2计算器具体需要实现的功能…………………………………………73.3实验要求………………………………………………………………73,4程序代码………………………………………………………………83.5实验结果………………………………………………………………1
4、14(操作系统实验)lib0:熟悉实验环境…………………………………114.1实验目的………………………………………………………………114.2实验环境搭建…………………………………………………………114.3GCC编译练习…………………………………………………………124.4GDB调试练习…………………………………………………………125(操作系统实验)lib1:启动操作系统…………………………………135.1实验目的………………………………………………………………135.2实验容………………………………
5、………………………………145.3实验步骤………………………………………………………………145.4操作系统启动过程……………………………………………………155.5实模式与保护模式……………………………………………………166(操作系统实验)lib2:物理存管理…………………………………166.1实验目的………………………………………………………………166.2实验容………………………………………………………………166.3………………………………………………………………7实验体会………………………………
6、……………………………………8参考文献……………………………………………………………………1借助Flex进行词法分析1.1实验容给定C语言的一个子集,具体容如下:1.下面是语言的关键字:elseifswitchforintfloatreturnvoidwhile所有的关键字都是保留字,并且必须是小写。2.下面是专用符号:+-*/<<=>>===!==;,()[]{}/**/3.其他标记是标识符(ID)和数字(NU),通过下列正则表达式定义:ID=letterletter*NUM=digitdigit*let
7、ter=a
8、..
9、z
10、A
11、..
12、Zdigit=0
13、..
14、9注:小写和大写字母是有区别的。4.空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关键字。5.注释用通常的C语言符号/*...*/围起来。注释可以放在任何空白出现的位置(即注释不能放在标记)上,且可以超过一行。注释不能嵌套1.2实验要求编写LEX源文件,实现C语言子集的词法分析功能,最后上机调试。要求编写一个测试程序,以给定的测试文件作为输入,输出运行结果到输出文件中1.3程序代码Lex.l源码:%{#include15、io.h>#include#includeintyywrap();intlineno=1;%}delim[t]ws{delim}+letter[A-Za-z]digit[0-9]id{letter}+number{digit}+enter[]spchar("{"16、"}"17、"["18、"]"19、"("20、")"21、";"22、"="23、","24、"+"25、"-"26、"*"27、"/"28、"<"29、"
15、io.h>#include#includeintyywrap();intlineno=1;%}delim[t]ws{delim}+letter[A-Za-z]digit[0-9]id{letter}+number{digit}+enter[]spchar("{"
16、"}"
17、"["
18、"]"
19、"("
20、")"
21、";"
22、"="
23、","
24、"+"
25、"-"
26、"*"
27、"/"
28、"<"
29、"
此文档下载收益归作者所有