Compartir a través de


Reglas C.2

La notación se describe en la sección 6,1 del estándar de C.Este apéndice de la gramática muestra las extensiones a la gramática base de idioma para las directivas de OpenMP c y C++.

/* en C++ (14882:1998 de ISO/IEC) *

instrucción-seq:

(Instrucción)

openmp-directiva

instrucción instrucción-seq

openmp-directiva instrucción-seq

/* en C90 (9899:1990 de ISO/IEC) *

instrucción-lista:

(Instrucción)

openmp-directiva

instrucción de la instrucción-lista

openmp-directiva de la instrucción-lista

/* en C99 (9899:1999 de ISO/IEC) *

bloque-elemento:

declaración

(Instrucción)

openmp-directiva

instrucción:

instrucciones estándar de/* */

openmp-construcción

openmp-construcción:

paralelo-construcción

para-construcción

sección-construcción

solo-construcción

paralelo-para-construcción

paralelo-sección-construcción

maestro-construc

crítico-construcción

atómico-construcción

ordenar-construcción

openmp-directiva:

barrera-directiva

rubor-directiva

estructurar-bloque:

(Instrucción)

paralelo-construcción:

estructurar-bloque de la paralelo-directiva

paralelo-directiva:

paralelo-cláusula de**# paralelo de omp de pragma** optseq de nueva línea

paralelo-cláusula:

UNIQUE-paralelo-cláusula

dato-cláusula

UNIQUE-paralelo-cláusula:

*expresión *)desi (

*expresión *)denum_threads (

para-construcción:

iteración-instrucción de la para-directiva

para-directiva:

para-cláusula de**# omp de pragma para**optseq de nueva línea

para-cláusula:

UNIQUE-para-cláusula

dato-cláusula

nowait

UNIQUE-para-cláusula:

consultar

programación ( **)**programación-bueno

*expresión programación-buena *)deprogramación (,

programación-bueno:

static

dynamic

dirigido

motor en tiempo de ejecución

sección-construcción:

sección-ámbito de la sección-directiva

sección-directiva:

sección-cláusula de**# secciones de omp de pragma**optseq de nueva línea

sección-cláusula:

dato-cláusula

nowait

sección-ámbito:

{sección-secuencia}

sección-secuencia:

estructurar-bloque de lasección-directiveopt

estructurar-bloque de la sección-directiva de la sección-secuencia

sección-directiva:

# sección de omp de pragma de nueva línea

solo-construcción:

estructurar-bloque de la solo-directiva

solo-directiva:

solo-cláusula de**# omp de pragma único**optseq de nueva línea

solo-cláusula:

dato-cláusula

nowait

paralelo-para-construcción:

iteración-instrucción de la paralelo-para-directiva

paralelo-para-directiva:

paralelo-para-cláusula de**# omp de pragma paralelo para**optseq de nueva línea

paralelo-para-cláusula:

UNIQUE-paralelo-cláusula

UNIQUE-para-cláusula

dato-cláusula

paralelo-sección-construcción:

sección-ámbito de la paralelo-sección-directiva

paralelo-sección-directiva:

paralelo-sección-cláusula de**# secciones del código omp de pragma**optseq de nueva línea

paralelo-sección-cláusula:

UNIQUE-paralelo-cláusula

dato-cláusula

maestro-construcción:

estructurar-bloque de la maestro-directiva

maestro-directiva:

# principal de omp de pragma de nueva línea

crítico-construcción:

estructurar-bloque de la crítico-directiva

crítico-directiva:

región-frase de**# omp de pragma crítico**opt de nueva línea

región-frase:

(identificador)

barrera-directiva:

# barrera de omp de pragma de nueva línea

atómico-construcción:

expresión-instrucción de la atómico-directiva

atómico-directiva:

# omp de pragma atómico de nueva línea

rubor-directiva:

rubor-vars de**# vaciado de omp de pragma**opt de nueva línea

rubor-vars:

(variable-lista)

ordenar-construcción:

estructurar-bloque de la ordenar-directiva

ordenar-directiva:

# omp de pragma orden de nueva línea

declaración:

declaraciones estándar de/* */

threadprivate-directiva

threadprivate-directiva:

variable-lista )de# threadprivate de omp de pragma ( de nueva línea

dato-cláusula:

*variable-lista *)deprivate (

variable-lista )decopyprivate (

variable-lista )defirstprivate (

variable-lista )delastprivate (

variable-lista**)decompartido (**

valor predeterminado (compartido)

valor predeterminado (ninguna)

variable-lista )de: de reducción-operador dedetallado (

variable-lista )decopyin (

reducción-operador:

uno de: + * y ^ | && ||

/* en C *

variable-lista:

identifier

identificador de**,** de la variable-lista

/* en C++ *

variable-lista:

identificador-expresión

identificador-expresión de**,** de la variable-lista