文档库 最新最全的文档下载
当前位置:文档库 › 网站建设需求案例2

网站建设需求案例2

网站建设需求案例2
网站建设需求案例2

MyGCC需求规格说明书

Revison 0.1.0.2

孙桥

文档变更记录

过程数据小结

1引言 (4)

1.1编写目的 (4)

1.2背景 (4)

1.3定义 (4)

1.4参考资料 (4)

2任务概述 (5)

2.1目标 (5)

2.2用户的特点 (6)

2.3假定和约束 (6)

3需求规定 (6)

3.1对功能的规定 (6)

3.2对性能的规定 (6)

3.2.1精度 (6)

3.2.2时间特性要求 (7)

3.2.3灵活性 (7)

3.3输人输出要求 (7)

3.4数据管理能力要求 (7)

3.5故障处理要求 (8)

3.6其他专门要求 (8)

4运行环境规定 (8)

4.1设备 (8)

4.2支持软件 (8)

4.3接口 (8)

4.4控制 (8)

附录A 语法图 (9)

附录B 指令系统 (10)

1引言

1.1编写目的

本软件需求规格说明书的预期读者是任课教师、开发者;本文档主要目的是为开发人员提供详细的软件需求说明,同任课教师达成协议。

1.2背景

说明:

a.MyGCC;

b.本项任务的提出者为史晓华,本项任务的开发者为孙桥;

c.本软件的外层编辑器采用的事CDT,调试功能通过GDB完成。

1.3定义

MyGCC 编译器的名称。

1.4参考资料

a.《C1文法说明文档》;

b.《编译原理及实践》Kenneth C.Louden(美)机械工业出版社;

c.《编译原理》Alfred V.Aho Ravi Sethi Jeffrey D.Ullman 机械工业出版社;

d.《MIPS处理器设计透视》Dominic Sweetman(英)北京航空航天大学出版社

e.《GNU Compiler Collection Internals》Richard M. Stallman and the GCC Developer Community;

f.《GDB Internals》John Glmore (Gygnus Solutions),Stan Shebs(Cygnus solutions);

g.《Overview of the DOM parsers》https://www.wendangku.net/doc/4415611554.html,/cdt/designs;

h.《C99/UPS parsers》https://www.wendangku.net/doc/4415611554.html,/cdt/designs;

i.《PDOM & Indexing》https://www.wendangku.net/doc/4415611554.html,/cdt/designs;

j.《MSVC Support》https://www.wendangku.net/doc/4415611554.html,/cdt/designs;

k.《Project Model》https://www.wendangku.net/doc/4415611554.html,/cdt/designs;

l.《EFS Support》https://www.wendangku.net/doc/4415611554.html,/cdt/designs;

2任务概述

2.1目标

本软件的开发为完成编译原理课程设计作业,是一个将C1文法语言编译成MIPS汇编的优化编译器,并且带有智能编辑器,和强大的调试功能,带有将MIPS汇编代码汇编为机器码的汇编器,并且自带在X86/Linux平台上运行的MIPS模拟器,提供测试,运行使用。

下图表示本软件与其它软件的关系:

2.2用户的特点

本软件的最终用户为程序开发人员,用户熟悉C1程序设计语言,本软件的预期使用频度为每天200次。

2.3假定和约束

本软件开发期限为2008.2.27;无经费限制,根据给定的C1文法或其扩充文法实现编译器。具有代码优化能力。

3需求规定

3.1对功能的规定

3.2对性能的规定

3.2.1精度

说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。

3.2.2时间特性要求

说明对于该软件的时间特性要求,如对:

a.响应时间;

b.更新处理时间;

c.数据的转换和传送时间;

d.解题时间;等的要求。

3.2.3灵活性

说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:

a.操作方式上的变化;

b.运行环境的变化;

c.同其他软件的接口的变化;

d.精度和有效时限的变化;

e.计划的变化或改进。

对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。

3.3输人输出要求

解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。

3.4数据管理能力要求

说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。

3.5故障处理要求

列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。

3.6其他专门要求

如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。

4运行环境规定

4.1设备

a.MIPS CPU支持MIPS-I指令集;

4.2支持软件

Linux,Eclipse3.2

4.3接口

4.4控制

附录A 语法图

<加法运算符>::= +|-

<乘法运算符>::= * |/

<关系运算符>::= <|<=|>|>=|!=|==

<字符>::= _|a|...|z|A|...|Z

<数字>::= 0|<非零数字>

<非零数字>::= 1|...|9

<字符串>::= "{<合法字符> }"

//字符串中可以出现所有合法的可打印字符集中的字符

<程序>::= [<常量说明部分>][<变量说明部分>]{<子函数定义部分>}<主函数>

<常量说明部分>::= const<常量定义>{,<常量定义>};

<常量定义>::= <标识符>=<整数>

<整数>::= [+|-]<非零数字>{<数字>}|0

<标识符>::= <字符>{<字符>|<数字>}

<声明头部>::= int<标识符>

<变量说明部分>::= <声明头部>{,<标识符>};

<子函数定义部分>::= (<声明头部>|void <标识符>)<参数><复合语句>

<复合语句>::= ‘{’[<常量说明部分>][<变量说明部分>]<语句序列>‘}’

<参数>::= ‘(’<参数表>‘)’

<参数表>::= int<标识符>{,int<标识符>} | <空>

<主函数>::= void main‘(’‘)’<复合语句>

<表达式>::= [+|-]<项>{<加法运算符><项>}

<项>::= <因子>{<乘法运算符><因子>}

<因子>::= <标识符>|‘(’<表达式>‘)’|<整数>|<子函数调用语句>

<语句>::= <条件语句>|<循环语句>|‘{’<语句序列>‘}’|<子函数调用语句>;|<赋值语句>; | <返回语句>;|<读语句>;|<写语句>;|;

<赋值语句>::= <标识符>=<表达式>

<条件语句>::= if‘(’<条件>‘)’<语句>[else<语句>]

<条件>::= <表达式><关系运算符><表达式>|<表达式><循环语句>::= while‘(’<条件>‘)’<语句>

<子函数调用语句>::= <标识符>‘(’<值参数表>‘)’

<值参数表>::= <表达式>{,<表达式>}|<空>

<语句序列>::= <语句>{<语句>}

<读语句>::= scanf‘(’<标识符>‘)’

<写语句>::= printf‘(’<字符串>,<表达式>|<字符串>|<表达式>‘)’

<返回语句>::= return [ ‘(’<表达式>‘)’]

附录B 指令系统

本编译器支持MIPS I 指令级的大部分指令,但是有少部分指令不支持,下表为本编译

MIPS-I体系结构的寄存器特点,见下表

相关文档