CMM解释器项目文档

CMM解释器项目文档

ID:39360527

大小:1.14 MB

页数:16页

时间:2019-07-01

CMM解释器项目文档_第1页
CMM解释器项目文档_第2页
CMM解释器项目文档_第3页
CMM解释器项目文档_第4页
CMM解释器项目文档_第5页
资源描述:

《CMM解释器项目文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ToureterInterpreter——ProjectDocumentWrittenbyXiaoranZhanProducedbyToureterGroupAllRightsReserved,CopyReservedCMM解释器项目文档Copyright©2012–2013ToureterGroup一、背景完成小组的基本信息:姓名学号分工内容贾道远2010302580176小组组长后台逻辑开发徐亚渤2010302580285后台逻辑开发徐洁斌2010302580165前台组组长前台设计和实现詹翛然2010302580224前台美工、逻辑二、文法描述2.1词法分析的对象是CMM语言的源程

2、序,源程序的叙述如下:CMM语言为C语言的一个子集:n语言结构:顺序结构(赋值语句、输入、输出)、选择语句(if-else)、循环结构(while)。这些语句结构和C语言的结构一样,允许嵌套。n表达式局限于关系表达式和算术表达式,运算的优先级为:算术运算、关系运算,并服从左结合规则。n算术表达式包括整数和实数上的运算、变量以及“()”、“*”、“+”、“-”、“/”,运算符的优先级顺序为:“()”大于“*”和“/”大于“+”和“-”。n关系运算符包括:“<”、“==”、“<>”。n一条语句以“;”结束;程序由一条语句或者由“{”和“}”嵌套表达的复合语句。n支持多行注释(使用“/*”和“

3、*/”)n支持数组运算,数组的下标必须是正整数,使用“[”和“]”表示数组下标。n变量的使用之前需要先声明,声明的方式和C语言一样。保留字特殊符号其他if+十进制的整数与实数else-while*read/Copyright©2012–2013ToureterGroup标识符(由数字、字母和下划线组成的串,但必须以字母开头、且不能以下划线结尾的串)write=intclass();{}/**/[]/**/&&

4、

5、!经过词法分析,得到的符号类型简介如下:符号类型符号Keywordif,else,while,int,real,read,writeSign+,-,

6、*,/,/*,*/,=,==,<,<>,[,],(,),{,},;,,,int十进制整数,由数字串组成real十进制实数,由数字和小数点组成Identifier由字母开头,由数字、字母和_组成,并且不以下划线结尾的字符串2.2程序程序由class和struct组成Program->(class

7、struct)*2.2.1类CLASS->classidentifier{(DECLARE_STMT

8、FUNCTION)*}//类定义由ID和声明语句,函数组合而成2.2.2结构体STRUCT->structidentifier{(DECLARE_STMT)*}//结构体由ID和声明语句组成2.2

9、.2函数FUNCTION->TYPEidentifier((DECLARE_STMT)*)STMT_SEQUENCE2.2.3语句序列STMT_SEQUENCE->{STATEMENT}*//语句序列由多条语句组成2.2.4语句STATEMENT->ASSGIN_STMT

10、Copyright©2012–2013ToureterGroupWRITE_STMT

11、READ_STMT

12、IF_STMT

13、WHILE_STMT

14、DECLARE_STMT

15、CALL_STMT2.2.1循环语句WHILE_STMT->while(EXPR*)({STMT_SEQUENCE})

16、(STATEMENT)//wh

17、ile语句2.2.2赋值语句ASSGIN_STMT->identifier=EXPRidentifier->identifier(“[“EXPR“]”)*2.2.3条件语句If_STMT->if(EXPR*)({STMT_SEQUENCE})

18、(STMT)(else({STMT_SEQUENCE})

19、(STATEMENT))?2.2.4读语句READ_STMT->readidentifier;//读语句2.2.5写语句WRITE_STMT->writeEXPR;//写语句2.2.6表达式语句EXPR->LOGIC_AND_EXPRLOGIC_AND_EXPR->LOGIC_OR_EXPR

20、(&&LOGIC_OR_EPXR)?LOGIC_OR_EXPR->LOGIC_NOT_EXPR(

21、

22、LOGIC_NOT_EXPR)?LOGIC_NOT_EXPR->(!)?LOGIC_ELEMENT_EXPRLOGIC_ELEMENT_EXPR->true

23、false

24、EQUALITY_EXPREQUALITY_EXPR->ARITHM_EXPR(<

25、<=

26、>

27、>=

28、==

29、<>ARITHM_EXPR)?ARTHM_EXPR->TER

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。