Partager via


C.2 Règles

La notation est décrite dans la section 6,1 de la norme C. Cette annexe de grammaire affiche les extensions à la syntaxe de langue de base pour les directives et OpenMP C et C++.

/* dans C++ (ISO/CEI 14882:1998) *

instruction-seq:

instruction

openmp-directive

instruction instruction-seq

openmp-directive instruction-seq

/* dans C90 (ISO/CEI 9899:1990) *

liste d'instructions:

instruction

openmp-directive

instruction de liste d'instructions

openmp-directive de liste d'instructions

/* dans C99 (ISO/CEI 9899:1999) *

bloc-élément:

déclaration

instruction

openmp-directive

instruction:

instructions standard de/* *

openmp-élément

openmp-élément:

parallèle-élément

pour-élément

section-élément

un seul élément

parallèle-pour-élément

parallèle-section-élément

forme de base-construc

critique-élément

atomique-élément

classer-élément

openmp-directive:

cloisonnement-directive

vidage-directive

structuré-bloc:

instruction

parallèle-élément:

structuré-bloc de parallèle-directive

parallèle-directive:

parallèle-clauseoptseq de# parallèle pragma d'omp** d'espacement

parallèle-clause:

unique-parallèle-clause

donnée-clause

unique-parallèle-clause:

*expression *)desi (

*expression *)denum_threads (

pour-élément:

itération-instruction de pour-directive

pour-directive:

pour-clauseoptseq de# omp pragma pour**d'espacement

pour-clause:

unique-pour-clause

donnée-clause

nowait

unique-pour-clause:

dimensionné

*planning-type *)deplanifier (

expression )deServeur IIS local de planning-type deplanifier (

planning-type:

static

dynamic

guidée

runtime

section-élément:

section-portée de section-directive

section-directive:

section-clauseoptseq de# sections pragma d'omp**d'espacement

section-clause:

donnée-clause

nowait

section-portée:

{} section-séquence

section-séquence:

structuré-bloc desection-directiveopt

structuré-bloc de section-directive de section-séquence

section-directive:

# section pragma d'omp d'espacement

un seul élément:

structuré-bloc d'unique-directive

unique-directive:

unique-clauseoptseq de# omp pragma unique**d'espacement

unique-clause:

donnée-clause

nowait

parallèle-pour-élément:

itération-instruction de parallèle-pour-directive

parallèle-pour-directive:

parallèle-pour-clauseoptseq de# omp pragma parallèle pour**d'espacement

parallèle-pour-clause:

unique-parallèle-clause

unique-pour-clause

donnée-clause

parallèle-section-élément:

section-portée de parallèle-section-directive

parallèle-section-directive:

parallèle-section-clauseoptseq de# sections pragma parallèles d'omp**d'espacement

parallèle-section-clause:

unique-parallèle-clause

donnée-clause

forme de base-élément:

structuré-bloc de forme de base-directive

forme de base-directive:

# forme de base pragma d'omp d'espacement

critique-élément:

structuré-bloc de critique-directive

critique-directive:

zone-expressionopt de# omp pragma critique**d'espacement

zone-expression:

(identificateur)

cloisonnement-directive:

# cloisonnement pragma d'omp d'espacement

atomique-élément:

expression-instruction d'atomique-directive

atomique-directive:

# omp pragma atomique d'espacement

vidage-directive:

vidage-varsopt de# vidage pragma d'omp** d'espacement

vidage-vars:

(variable-liste)

classer-élément:

structuré-bloc de classer-directive

classer-directive:

# omp pragma dimensionné d'espacement

déclaration:

déclarations standard de/* *

threadprivate-directive

threadprivate-directive:

variable-liste **)de# threadprivate pragma d'omp (**d'espacement

donnée-clause:

*variable-liste *)deprivé (

variable-liste )decopyprivate (

variable-liste )defirstprivate (

variable-liste **)**d'elle (

variable-liste**)de(partagé**

valeur par défaut (partagé)

valeur par défaut (sans)

variable-liste )deNuméro de téléphone : de réduction-opérateur de réduction (

variable-liste )decopyin (

réduction-opérateur:

un de: + * - & ^ | && ||

/* en C *

variable-liste:

identifier

identificateur deServeur IIS local de variable-liste

/* en C++ *

variable-liste:

identificateur-expression

identificateur-expression deServeur IIS local de variable-liste