附录 CMM语言
一、实验语言的定义
CMM语言为C语言的一个子集:
语言结构:顺序结构(赋值语句、输入、输出)、选择语句(if-else)、循环结构(while)。这些语句结构和C语言的结构一样,允许嵌套。
表达式局限于关系表达式和算术表达式,运算的优先级为:算术运算、关系运算,并服从左结合规则。
算术表达式包括整数和实数上的运算、变量以及“()”、“*”、“+”、“-”、“/”,运算符的优先级顺序为:“()”大于“*”和“/”大于“+”和“-”。
关系运算符包括:“<”、“==”、“<>”。
一条语句以“;”结束;程序由一条语句或者由“{”和“}”嵌套表达的复合语句。
注释放在“/*”“ */ ”之间,支持多行注释。
支持数组运算,数组的下标必须是正整数,使用“[”和“]”表示数组下标。
变量的使用之前需要先声明,声明的方式和C语言一样。
保留字 | 特殊符号 | 其他 |
If | + | 十进制的整数与实数 |
else | - | |
while | * | |
read | / | 标识符(由数字、字母和下划线组成的串,但必须以字母开头、且不能以下划线结尾的串) |
write | = | |
int | < | |
real | == |
|
| <> |
|
| ( |
|
| ) |
|
| ; |
|
| { |
|
| } |
|
| /* |
|
| */ |
|
| [ |
|
| ] |
|
二、实验语言的扩展
以上为需要实现的基本实验语言要求,可以在此基础上进行更多的扩展,以分析更多的类型和结构,如方法、指针等。