La grammaire des déclarations est la suivante :
déclaration :
spécificateurs-de-déclaration
liste-de-déclarateurs-init
;
spécificateurs-de-déclaration :
spécificateur-de-classe-mémoire
spécificateurs-de-déclaration
spécificateur-de-type
spécificateurs-de-déclaration
qualificatif-de-type
spécificateurs-de-déclaration
liste-de-déclarateurs-init :
déclarateur-init
liste-de-déclarateurs-init
,
déclarateur-init
déclarateur-init :
déclarateur
déclarateur
=
initialisateur
spécificateur-de-classe-mémoire :
auto
extern
static
register
typedef
spécificateur-de-type :
void
char
short
int
long
float
double
signed
unsigned
spécificateur-de-struct-ou-union
spécificateur-d-énumération
nom-de-typedef
spécificateur-de-struct-ou-union :
struct-ou-union
identificateur
{
liste-de-déclarations-de-struct
}
struct-ou-union
identificateur
struct-ou-union :
struct
union
liste-de-déclarations-de-struct :
déclaration-de-struct
liste-de-déclarations-de-struct
déclaration-de-struct
déclaration-de-struct :
liste-de-spécificateurs-et-qualificatifs
liste-de-déclarateurs-de-struct
;
liste-de-spécificateurs-et-qualificatifs :
spécificateur-de-type
liste-de-spécificateurs-et-qualificatifs
qualificatif-de-type
liste-de-spécificateurs-et-qualificatifs
liste-de-déclarateurs-de-struct :
déclarateur-de-struct
liste-de-déclarateurs-de-struct
,
déclarateur-de-struct
déclarateur-de-struct :
déclarateur
déclarateur
:
expression-constante
spécificateur-d-énumération :
enum
identificateur
{
liste-d-énumérateurs
}
enum
identificateur
liste-d-énumérateurs :
énumérateur
liste-d-énumérateurs
,
énumérateur
énumérateur :
identificateur
identificateur
=
expression constante
qualificatif-de-type :
const
volatile
déclarateur :
pointeur
déclarateur-direct
déclarateur-direct :
identificateur
(
déclarateur
)
déclarateur-direct
[
expression-constante
]
déclarateur-direct
(
liste-de-types-de-paramètres
)
déclarateur-direct
(
liste-d-identificateurs
)
pointeur :
*
liste-de-qualificatifs-de-types
*
liste-de-qualificatifs-de-types
pointeur
liste-de-qualificatifs-de-types :
qualificatif-de-type
liste-de-qualificatifs-de-types
qualificatif-de-type
liste-de-types-de-paramètres :
liste-de-paramètres
liste-de-paramètres
,
...
liste-de-paramètres :
déclaration-de-paramètre
liste-de-paramètres
,
déclaration-de-paramètre
déclaration-de-paramètre :
spécificateurs-de-déclaration
déclarateur
spécificateurs-de-déclaration
déclarateur-abstrait
liste-d'identificateurs :
identificateur
liste-d'identificateurs
,
identificateur
initialisateur :
expression-d'affectation
{
liste-d-initialisateurs
}
{
liste-d-initialisateurs
,
}
liste-d'initialisateurs :
initialisateur
liste-d'initialisateurs
,
initialisateur
Sous-sections
Matthieu Moy
2017-02-08