2.1 Format dyrektywy
Składnia dyrektywy OpenMP formalnie jest określony przez gramatyki w Dodatku Ci nieformalnie w następujący sposób:
#pragma omp directive-name [clause[ [,] clause]...] new-line
Zaczyna się od każdej dyrektywy # pragma omp, aby zmniejszyć ryzyko konfliktu z innymi dyrektywami pragma (innych niż OpenMP lub Dostawca rozszerzeń OpenMP) z tych samych nazw.Pozostałą część niniejszej dyrektywy jest zgodna z Konwencją standardów dyrektyw kompilatora c i C++.W szczególności mogą używane odstęp przed i po #, i czasami owiatło musi być używane do oddzielania słów w dyrektywie.Wstępne przetwarzanie tokeny następującego # pragma omp podlegają zamianie makro.
Dyrektyw uwzględniana jest wielkość liter.Kolejność w dyrektywach klauzule nie ma znaczenia.Klauzule dotyczące dyrektyw może się powtarzać, w razie potrzeby, z zastrzeżeniem ograniczeń wymienionych w opisie każdej klauzuli.Jeśli listy zmiennej pojawia się w klauzuli, to należy określić tylko zmienne.Tylko jeden dyrektywy nazwa może być określona dla każdej dyrektywy.Na przykład następujące dyrektywy nie jest dozwolone:
/* ERROR - multiple directive names not allowed */
#pragma omp parallel barrier
Dyrektywa OpenMP stosuje się do co najwyżej jeden uprawianych następczo instrukcja, która musi być structured bloku.