Directives du préprocesseur

R$_{107}$fichier-du-pp :
$\Rightarrow$ groupe$_{option}$

R$_{108}$groupe :
$\Rightarrow$ partie-de-groupe
$\Rightarrow$ groupe partie-de-groupe

R$_{109}$partie-de-groupe :
$\Rightarrow$ liste-d-unités-lexicales-du-pp$_{option}$ newline
$\Rightarrow$ section-if
$\Rightarrow$ ligne-directive

R$_{110}$section-if :
$\Rightarrow$ groupe-if liste-de-groupes-elif$_{option}$ groupe-else$_{option}$ ligne-endif

R$_{111}$groupe-if :
$\Rightarrow$ # if expression-constante newline groupe$_{option}$
$\Rightarrow$ # ifdef identificateur newline groupe$_{option}$
$\Rightarrow$ # ifndef identificateur newline groupe$_{option}$

R$_{112}$liste-de-groupes-elif :
$\Rightarrow$ groupe-elif
$\Rightarrow$ liste-de-groupes-elif groupe-elif

R$_{113}$groupe-elif :
$\Rightarrow$ # elif expression-constante newline groupe$_{option}$

R$_{114}$groupe-else :
$\Rightarrow$ # else newline groupe$_{option}$

R$_{115}$ligne-endif :
$\Rightarrow$ # endif newline

R$_{116}$ligne-directive :
$\Rightarrow$ # include liste-d-unités-lexicales-du-pp newline
$\Rightarrow$ # define identificateur remplacement newline
$\Rightarrow$ # define identificateur parenthèse-g liste-d-identificateurs$_{option}$
remplacement newline
$\Rightarrow$ # undef identificateur newline
$\Rightarrow$ # line liste-d-unités-lexicales-du-pp newline
$\Rightarrow$ # error liste-d-unités-lexicales-du-pp$_{option}$ newline
$\Rightarrow$ # pragma liste-d-unités-lexicales-du-pp$_{option}$ newline
$\Rightarrow$ # newline

R$_{117}$parenthèse-g :
$\Rightarrow$ le caractère ( non précédé d'un espace blanc

R$_{118}$remplacement :
$\Rightarrow$ liste-d-unités-lexicales-du-pp$_{option}$

R$_{119}$liste-d-unités-lexicales-du-pp :
$\Rightarrow$ unité-lexicale-du-pp
$\Rightarrow$ liste-d-unités-lexicales-du-pp unité-lexicale-du-pp

R$_{120}$newline :
$\Rightarrow$ le caractère séparateur de lignes

Matthieu Moy 2017-02-08