[关闭]
@mwumli 2015-05-28T01:26:10.000000Z 字数 2022 阅读 1750

SPLOS 并发程序设计语言

OSEP SPLOS

SPLFOS (Simple Parallel Language For operating System)
现在这里给出SPFOSL 并发程序设计语言的一些定义,简称SPFOSL

SPLOS 的基本语法成分 

SPLOS 字符集

和C语言一样,是ASCII字符集的一个子集,包括英文字母、数字和特殊字符
1. 英文字母: a ~ z 和 A ~ Z
2. 数字: 0 ~ 9
3. 特殊字符:空格 ! # % ^ & * + - / = < > " " \ | . , : ; _ ' ' ( ) { } [ ]

SPLOS 标识符

标识符在程序中用来标识各种程序成分,命名程序中的数据类型,变量类型,语句类型 

SPLOS 的标识符可以分为三类 : 关键字预定义标识符用户自定义标识符

SPLOS 标识符的书写规则

1. 必须由英文字母或下划线开头
2. 是字母、数字和下划线的序列
3. 不能跨行书写
4. 自定义的标识符不能和关键字、预定义标识符同名 

关键字 

  1. int char void struct sizeof
  2. while break continue
  3. if else return
  4. parallel

并行关键字:parallel

预定义标识符

预处理命令

  1. import ifndef define endif

用户自定义标识符 

用户自己按照标识符定义规则自我定义,比如变量名,函数名

但要注意: 用户自定义标识符不可与关键字,预定义标识符重名

SPLOS 语句注释 

SPLOS 数据类型

分为基本类型、构造类型、和空类型

基本类型

构造类型

空类型

运算符

运算符根据意义可以分为基本算术运算符关系运算符逻辑运算符关于地址运算符、以及一些其他运算符

基本算术运算符

逻辑运算符

关系运算符

关于结构体的运算符

一些其他运算符

SPLOS 语句

SPLOS 是一种解释语言,执行部分是由语句组成

SPLOS 以分号(;)结尾

SPLOS 语句可以分为5类: 表达式语句、函数调用语句、控制语句、空语句

表达式语句 

由表达式加上分号;组成

表达式分别有一下4种类型: 算术表达式、赋值表达式、关系表达式、逻辑表达式
语句的一般形式:

  1. 表达式;

执行表达式语句,就是计算表达式语句的值

函数调用语句

由函数名、函数参数加上分号;组成 

其一般形式: 函数名([实际参数列表])
[]意味着实际参数可选,函数可以无参数,这个根据取决于函数定义
()是函数调用运算符

控制语句

控制语句用于控制程序的流程,以实现程序的各种结构方式

由特定的语句定义符组成,可以分为三类:条件判断语句、循环执行语句、转向语句

条件判断语句

...表示在逻辑表达式为真或假的情况下将要执行的一些语句块

循环执行语句

  1. while(逻辑表达式) {
  2. ...;
  3. }

转向语句

空语句

只有分号“;”组成的语句称为空语句。
空语句是什么也不执行的语句。
在程序中空语句可用来作空循环体。

SPLOS 程序设计的三种基本结构

顺序结构、选择结构、循环结构
* 顺序结构
程序执行是依次向下执行的,按着从上到下的先后顺序 
程序的语句按照顺序依次书写,就是顺序结构

* 选择结构 
某些语句需要在某种条件为真或假的情况下执行,当不满足情况,就不执行,这时候需要选择语句
使用条件判断语句来实现选择结构

* 循环结构 
某些语句在某个条件范围内可以重复执行,那么就可以定义成循环结构
循环结构使用循环执行语句实现

SPLOS 程序结构及编写说明

  1. 模块文件导入
  2. 全局变量的说明
  3. int main() //主函数说明
  4. {
  5. 局部变量说明
  6. 执行语句组
  7. return 0
  8. }
  9. 返回值类型 子函数名1(形参列表) //子函数说明
  10. {
  11. 局部变量说明 //子函数体
  12. 执行语句组
  13. }

说明:
1. 一个 SPLOS 程序必须有一个 main 函数表示程序执行的起点
2. 一个没有 main 函数的 SPLOS 源程序通常被看作是一个 SPLOS 模块
3. 一个 SPLOS 模块可以被其他 SPLOS 程序使用 #import 预处理命令导入,从而达到使用其定义的函数和变量的目的
4. 一个 "SPLOS" 模块通常在程序首部导入,因为调用某函数之前,函数必须先定义,而"SPLOS" 模块通常是一些函数的定义,故放在程序头部较为合适
4. 变量的定义必须在执行语句之前

一些 SPLOS 程序的DEMO

请看这里:SPLOS 并发程序设计语言 -- 示例程序

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注