@mwumli
2015-05-28T09:26:10.000000Z
字数 2022
阅读 1924
OSEP
SPLOS
SPLFOS (Simple Parallel Language For operating System)
现在这里给出SPFOSL 并发程序设计语言的一些定义,简称SPFOSL
和C语言一样,是ASCII字符集的一个子集,包括英文字母、数字和特殊字符
1. 英文字母: a ~ z 和 A ~ Z
2. 数字: 0 ~ 9
3. 特殊字符:空格 ! # % ^ & * + - / = < > " " \ | . , : ; _ ' ' ( ) { } [ ]
标识符在程序中用来标识各种程序成分,命名程序中的数据类型,变量类型,语句类型
SPLOS 的标识符可以分为三类 : 关键字、预定义标识符 和 用户自定义标识符
1. 必须由英文字母或下划线开头
2. 是字母、数字和下划线的序列
3. 不能跨行书写
4. 自定义的标识符不能和关键字、预定义标识符同名
int char void struct sizeof
while break continue
if else return
parallel
并行关键字:parallel
预处理命令
import ifndef define endif
用户自己按照标识符定义规则自我定义,比如变量名,函数名
但要注意: 用户自定义标识符不可与关键字,预定义标识符重名
//这是行注释
/*这是块注释*/
分为基本类型、构造类型、和空类型
void
来表示 运算符根据意义可以分为基本算术运算符、关系运算符、逻辑运算符、关于地址运算符、以及一些其他运算符。
+
-
*
/
%
!
&&
||
>
<
==
<=
>=
!=
.
sizeof
[]
函数名([实参列表])
(强制类型)
{一系列函数语句}
SPLOS 是一种解释语言,执行部分是由语句组成
SPLOS 以分号(;
)结尾
SPLOS 语句可以分为5类: 表达式语句、函数调用语句、控制语句、空语句
由表达式加上分号;
组成
表达式分别有一下4种类型: 算术表达式、赋值表达式、关系表达式、逻辑表达式
语句的一般形式:
表达式;
执行表达式语句,就是计算表达式语句的值
由函数名、函数参数加上分号;
组成
其一般形式: 函数名([实际参数列表])
[]
意味着实际参数可选,函数可以无参数,这个根据取决于函数定义
()
是函数调用运算符
控制语句用于控制程序的流程,以实现程序的各种结构方式
由特定的语句定义符组成,可以分为三类:条件判断语句、循环执行语句、转向语句
...
表示在逻辑表达式为真或假的情况下将要执行的一些语句块
while(逻辑表达式) {
...;
}
只有分号“;”组成的语句称为空语句。
空语句是什么也不执行的语句。
在程序中空语句可用来作空循环体。
顺序结构、选择结构、循环结构
* 顺序结构
程序执行是依次向下执行的,按着从上到下的先后顺序
程序的语句按照顺序依次书写,就是顺序结构
* 选择结构
某些语句需要在某种条件为真或假的情况下执行,当不满足情况,就不执行,这时候需要选择语句
使用条件判断语句来实现选择结构
* 循环结构
某些语句在某个条件范围内可以重复执行,那么就可以定义成循环结构
循环结构使用循环执行语句实现
模块文件导入
全局变量的说明
int main() //主函数说明
{
局部变量说明
执行语句组
return 0
}
返回值类型 子函数名1(形参列表) //子函数说明
{
局部变量说明 //子函数体
执行语句组
}
说明:
1. 一个 SPLOS
程序必须有一个 main
函数表示程序执行的起点
2. 一个没有 main
函数的 SPLOS
源程序通常被看作是一个 SPLOS
模块
3. 一个 SPLOS
模块可以被其他 SPLOS
程序使用 #import
预处理命令导入,从而达到使用其定义的函数和变量的目的
4. 一个 "SPLOS" 模块通常在程序首部导入,因为调用某函数之前,函数必须先定义,而"SPLOS" 模块通常是一些函数的定义,故放在程序头部较为合适
4. 变量的定义必须在执行语句之前