C.2 规则

表示法在 C 标准的第 6.1 节中所述。 此语法附录显示对 OpenMP C 和 C++ 指令的基本语言语法。

在 C++ (ISO/IEC 14882:1998) 的/* */

语句序列:

语句

openmp 指令

语句序列语句

语句序列 openmp 指令

在 C90 (ISO/IEC 9899:1990) 的/* */

语句列表:

语句

openmp 指令

语句列表语句

语句列表 openmp 指令

在 C99 (ISO/IEC 9899:1999) 的/* */

块项目:

声明

语句

openmp 指令

语句:

/* 条件语句 *

openmp 构造

openmp 构造:

并行构造

为构造

部分构造

单构造

并行构造。

并行部分构造

母版 construc

重要构造

基本构造

命令构造

openmp 指令:

障碍指令

刷新指令

构造块:

语句

并行构造:

并行指令请构造块

并行指令:

新行**# 说明 omp 并行** optseq的并行子句

并行子句:

UNIQUE 并行子句

数据子句

UNIQUE 并行子句:

(如果*表达式 *)

(num_threads *表达式 *)

为构造:

为指令迭代语句

为指令:

新行**# 说明 omp。**optseq的子句。

为子句:

UNIQUE 为子句

数据子句

nowait

UNIQUE 为子句:

排序

计划 ( 计划 kind**)**

计划 ( 计划 kind**,***表达式 *)

计划此类:

static

dynamic

引导

Runtime — 运行时

部分构造:

部分指令部分范围

部分指令:

新行 # 说明 omp 部分optseq的部分子句

部分子句:

数据子句

nowait

部分范围:

{} 部分顺序

部分顺序:

部分 directiveopt 构造块

部分指令的部分顺序构造块

部分指令:

新行的**# 说明 omp 部分**

单构造:

单指令请构造块

单指令:

新行**# 唯一批注的 omp**optseq 的单子句

单子句:

数据子句

nowait

并行为构造:

并行为指令迭代语句

并行为指令:

*新行 *# 说明 omp 并行。**optseq的并行为子句

并行为子句:

UNIQUE 并行子句

UNIQUE 为子句

数据子句

并行部分构造:

并行部分指令部分范围

并行部分指令:

新行 # 说明 omp 并行部分optseq的并行部分子句

并行部分子句:

UNIQUE 并行子句

数据子句

主构造:

主指令请构造块

主指令:

新行的**# 说明 omp 母版**

重要构造:

重要指令请构造块

重要指令:

新行**# 重要说明的 omp**opt 的区域声明

区域声明:

(标识符)

障碍指令:

新行的**# 说明 omp 障碍**

基本构造:

基本指令表达式语句

基本指令:

新行的**# 基本批注的 omp**

刷新指令:

# 说明 omp 刷新刷新varsopt 新行

刷新 vars:

(将变量列表)

命令构造:

命令指令请构造块

命令指令:

新行的**# 顺序的说明 omp**

声明:

/* 标准声明 *

threadprivate 指令

threadprivate 指令:

# 说明 omp (threadprivate变量列表 新行的**)**

数据子句:

(专用*变量列表 *)

(copyprivate 变量列表 )

(firstprivate 变量列表 )

(lastprivate变量列表 )

共享 (变量列表)

默认 (共享)

默认 (无)

(减少 缩减运算符 : 变量列表 )

(copyin 变量列表 )

缩减运算符:

: + * - ^| ||

/* 在 C *

变量列表:

identifier

变量列表**,**标识符

在 C++ 中/* */

变量列表:

id 表达式

变量列表**,**ID 表达式