2.1 Formato de diretiva
A sintaxe de uma diretiva OpenMP formalmente é especificada pela gramática no Apêndice Ce informalmente da seguinte maneira:
#pragma omp directive-name [clause[ [,] clause]...] new-line
Cada diretiva começa com # pragma omp, para reduzir o potencial de conflito com outras diretivas de pragma (não OpenMP ou fornecedor extensões OpenMP) com os mesmos nomes. O restante da diretiva segue as convenções dos padrões para diretivas de compilador c e C++. Em particular, o espaço em branco pode ser usado antes e depois o #, e, às vezes, o espaço em branco deve ser usado para separar as palavras em uma diretiva. Pré-processamento tokens seguindo o # pragma omp estão sujeitas a substituição de macro.
As diretivas são diferencia maiúsculas de minúsculas. A ordem na qual as cláusulas aparecem em diretivas não é significativa. Cláusulas de diretivas podem ser repetidas conforme necessário, sujeito às restrições listadas na descrição de cada cláusula. Se variável-list aparece em uma cláusula, ele deve especificar somente variáveis. Apenas um nome de diretiva podem ser especificados por diretiva. Por exemplo, a seguinte diretiva não é permitida:
/* ERROR - multiple directive names not allowed */
#pragma omp parallel barrier
Uma diretiva OpenMP se aplica a no máximo um subseqüente instrução, que deve ser um bloco estruturado.