c-minus语言文法定义与说明

c-minus语言文法定义与说明

ID:37852192

大小:35.50 KB

页数:14页

时间:2019-06-01

c-minus语言文法定义与说明_第1页
c-minus语言文法定义与说明_第2页
c-minus语言文法定义与说明_第3页
c-minus语言文法定义与说明_第4页
c-minus语言文法定义与说明_第5页
资源描述:

《c-minus语言文法定义与说明》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C_minus文法定义与说明1.program→declaration-list·C_minus语言编写的程序由一组声名序列组成2.declaration-list→declaration-list

2、declaration·C_minus语言编写的程序由一组声名序列组成3.declaration-list→var-declaration

3、fun-declaration·程序由声明的列表(或序列)组成,声明可以是函数或变量声明,顺序是任意的。至少必须有一个声明。接下来是语义限制(这些在C中不会出现)。所有的变量和函数在使用前必须声明(这避免了向后backpa

4、tching引用)。程序中最后的声明必须是一个函数声明,名字为main。注意,C-缺乏原型,因此声明和定义之间没有区别(像C一样)。4.var-declaration→type-specifierID;

5、type-specifierID[NUM];·C_minus语言编写的程序由一组声名序列组成5.type-specifier→int

6、void·变量声明或者声明了简单的整数类型变量,或者是基类型为整数的数组变量,索引范围从0到NUM-1。·在C_minus中仅有的基本类型是整型和空类型。·在一个变量声明中,只能使用类型指示符。6.fun-declarati

7、on→type-specifierID(params)compound-stmt·函数声明由返回类型指示符、标识符以及在圆括号内的用逗号分开的参数列表组成,后面跟着一个复合语句,是函数的代码。如果函数的返回类型是void,那么函数不返回任何值(即是一个过程)。7.params→param-list

8、void8.param-list→param-list,param

9、param9.param→type-specifierID

10、type-specifierID[]·函数的参数可以是void(即没有参数),或者一列描述函数的参数。参数后面跟着方括号是数组参数,其

11、大小是可变的。简单的整型参数由值传递。数组参数由引用来传递(也就是指针),在调用时必须通过数组变量来匹配。注意,类型“函数”没有参数。一个函数参数的作用域等于函数声明的复合语句,函数的每次请求都有一个独立的参数集。函数可以是递归的(对于使用声明允许的范围)。10.compound-stmt→{local-declarationsstatement-list}·复合语句由用花括号围起来的一组声明和语句组成。复合语句通过用给定的顺序执行语句序列来执行。局部声明的作用域等于复合语句的语句列表,并代替任何全局声明。11.local-declarations→loc

12、al-declarationsvar-declaration

13、empty·注意声明和语句列表都可以是空的(非终结符empty表示空字符串)。12.statement-list→statement-liststatement

14、empty·注意声明和语句列表都可以是空的(非终结符empty表示空字符串)。13.statement→expression-stmt

15、compound-stmt

16、selection-stmt

17、iteration-stmt

18、return-stmt·变量声明或者声明了简单的整数类型变量,或者是基类型为整数的数组变量,索引范围从0到NUM-

19、1。14.expression-stmt→expression;

20、;·表达式语句有一个可选的且后面跟着分号的表达式。这样的表达式通常求出它们一方的结果。因此,这个语句用于赋值和函数调用。15.selection-stmt→if(expression)statement

21、if(expression)statementelsestatement·if语句有通常的语义:表达式进行计算;非0值引起第一条语句的执行;0值引起第二条语句的执行,如果它存在的话。这个规则导致了典型的悬挂else二义性,可以用一种标准的方法解决:else部分通常作为当前if的一个子结构立即

22、分析(“最近嵌套”非二义性规则)。16.iteration-stmt→while(expression)statement·while语句是C-中唯一的重复语句。它重复执行表达式,并且如果表达式的求值为非0,则执行语句,当表达式的值为0时结束。17.return-stmt→return;

23、returnexpression;·返回语句可以返回一个值也可无值返回。函数没有说明为void就必须返回一个值。函数声明为void就没有返回值。return引起控制返回调用者(如果它在main中,则程序结束)。18.expression→var=expression

24、si

25、mple-expression·变量声明或者声明了简单的整数类型变

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

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

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