Les déclarations

R$_{64}$déclaration :
$\Rightarrow$ spécificateurs-de-déclaration liste-de-déclarateurs-init$_{option}$ ;

R$_{65}$spécificateurs-de-déclaration :
$\Rightarrow$ spécificateur-de-classe-mémoire spécificateurs-de-déclaration$_{option}$
$\Rightarrow$ spécificateur-de-type spécificateurs-de-déclaration$_{option}$
$\Rightarrow$ qualificatif-de-type spécificateurs-de-déclaration$_{option}$

R$_{66}$liste-de-déclarateurs-init :
$\Rightarrow$ déclarateur-init
$\Rightarrow$ liste-de-déclarateurs-init , déclarateur-init

R$_{67}$déclarateur-init :
$\Rightarrow$ déclarateur
$\Rightarrow$ déclarateur = initialisateur

R$_{68}$spécificateur-de-classe-mémoire :
$\Rightarrow$ auto
$\Rightarrow$ extern
$\Rightarrow$ static
$\Rightarrow$ register
$\Rightarrow$ typedef

R$_{69}$spécificateur-de-type :
$\Rightarrow$ void
$\Rightarrow$ char
$\Rightarrow$ short
$\Rightarrow$ int
$\Rightarrow$ long
$\Rightarrow$ float
$\Rightarrow$ double
$\Rightarrow$ signed
$\Rightarrow$ unsigned
$\Rightarrow$ spécificateur-de-struct-ou-union
$\Rightarrow$ spécificateur-d-énumération
$\Rightarrow$ nom-de-typedef

R$_{70}$spécificateur-de-struct-ou-union :
$\Rightarrow$ struct-ou-union identificateur$_{option}$ { liste-de-déclarations-de-struct }
$\Rightarrow$ struct-ou-union identificateur

R$_{71}$struct-ou-union :
$\Rightarrow$ struct
$\Rightarrow$ union

R$_{72}$liste-de-déclarations-de-struct :
$\Rightarrow$ déclaration-de-struct
$\Rightarrow$ liste-de-déclarations-de-struct déclaration-de-struct

R$_{73}$déclaration-de-struct :
$\Rightarrow$ liste-de-spécificateurs-et-qualificatifs liste-de-déclarateurs-de-struct ;

R$_{74}$liste-de-spécificateurs-et-qualificatifs :
$\Rightarrow$ spécificateur-de-type liste-de-spécificateurs-et-qualificatifs$_{option}$
$\Rightarrow$ qualificatif-de-type liste-de-spécificateurs-et-qualificatifs$_{option}$

R$_{75}$liste-de-déclarateurs-de-struct :
$\Rightarrow$ déclarateur-de-struct
$\Rightarrow$ liste-de-déclarateurs-de-struct , déclarateur-de-struct

R$_{76}$déclarateur-de-struct :
$\Rightarrow$ déclarateur
$\Rightarrow$ déclarateur$_{option}$ : expression-constante

R$_{77}$spécificateur-d-énumération :
$\Rightarrow$ enum identificateur$_{option}$ { liste-d-énumérateurs }
$\Rightarrow$ enum identificateur

R$_{78}$liste-d-énumérateurs :
$\Rightarrow$ énumérateur
$\Rightarrow$ liste-d-énumérateurs , énumérateur

R$_{79}$énumérateur :
$\Rightarrow$ constante-d-énumération
$\Rightarrow$ constante-d-énumération = expression-constante

R$_{80}$qualificatif-de-type :
$\Rightarrow$ const
$\Rightarrow$ volatile

R$_{81}$déclarateur :
$\Rightarrow$ pointeur$_{option}$ déclarateur-direct

R$_{82}$déclarateur-direct :
$\Rightarrow$ identificateur
$\Rightarrow$ ( déclarateur )
$\Rightarrow$ déclarateur-direct [ expression-constante$_{option}$ ]
$\Rightarrow$ déclarateur-direct ( liste-de-types-de-paramètres )
$\Rightarrow$ déclarateur-direct ( liste-d-identificateurs$_{option}$ )

R$_{83}$pointeur :
$\Rightarrow$ * liste-de-qualificatifs-de-types$_{option}$
$\Rightarrow$ * liste-de-qualificatifs-de-types$_{option}$ pointeur

R$_{84}$liste-de-qualificatifs-de-types :
$\Rightarrow$ qualificatif-de-type
$\Rightarrow$ liste-de-qualificatifs-de-types qualificatif-de-type

R$_{85}$liste-de-types-de-paramètres :
$\Rightarrow$ liste-de-paramètres
$\Rightarrow$ liste-de-paramètres , ...

R$_{86}$liste-de-paramètres :
$\Rightarrow$ déclaration-de-paramètre
$\Rightarrow$ liste-de-paramètres , déclaration-de-paramètre

R$_{87}$déclaration-de-paramètre :
$\Rightarrow$ spécificateurs-de-déclaration déclarateur
$\Rightarrow$ spécificateurs-de-déclaration déclarateur-abstrait$_{option}$

R$_{88}$liste-d-identificateurs :
$\Rightarrow$ identificateur
$\Rightarrow$ liste-d-identificateurs , identificateur

R$_{89}$nom-de-type :
$\Rightarrow$ liste-de-spécificateurs-et-qualificatifs déclarateur-abstrait$_{option}$

R$_{90}$déclarateur-abstrait :
$\Rightarrow$ pointeur
$\Rightarrow$ pointeur$_{option}$ déclarateur-abstrait-direct

R$_{91}$déclarateur-abstrait-direct :
$\Rightarrow$ ( déclarateur-abstrait )
$\Rightarrow$ déclarateur-abstrait-direct$_{option}$ [ expression-constante$_{option}$ ]
$\Rightarrow$ déclarateur-abstrait-direct$_{option}$ ( liste-de-types-de-paramètres$_{option}$ )

R$_{92}$nom-de-typedef :
$\Rightarrow$ identificateur

R$_{93}$initialisateur :
$\Rightarrow$ expression-affectation
$\Rightarrow$ { liste-d-initialisateurs }
$\Rightarrow$ { liste-d-initialisateurs , }

R$_{94}$liste-d-initialisateurs :
$\Rightarrow$ initialisateur
$\Rightarrow$ liste-d-initialisateurs , initialisateur

Matthieu Moy 2017-02-08