Grammaire
Les instructions HLSL sont construites à l’aide des règles de grammaire suivantes.
- Espace blanc
- Nombres à virgule flottante
- Nombres entiers
- Caractères
- Chaînes
- Identificateurs
- Opérateurs
- Rubriques connexes
Espace blanc
Les caractères suivants sont reconnus en tant qu’espaces blancs.
- SPACE
- Tab
- EOL
- Commentaires de style C (/* */)
- Commentaires de style C++ (//)
Nombres à virgule flottante
Les nombres à virgule flottante sont représentés dans HLSL comme suit :
fractionnaire-constant exposant-part(opt) floating-suffix(opt)
digit-sequence exponent-part floating-suffix(opt)
fractionnaire-constante :
digit-sequence(opt) . digit-sequence
séquence numérique .
exponent-part :
e sign(opt) digit-sequence
E sign(opt) digit-sequence
sign : un des éléments suivants
+ -
séquence numérique :
digit
digit-sequence digit
floating-suffix : un des éléments suivants
h H f F l L
Utilisez le suffixe « L » pour spécifier un littéral à virgule flottante de précision 64 bits complet. Un littéral float 32 bits est la valeur par défaut.
Par exemple, le compilateur reconnaît la valeur littérale suivante en tant que littéral à virgule flottante de précision 32 bits et ignore les bits inférieurs :
double x = -0.6473313946860445;
Le compilateur reconnaît la valeur littérale suivante en tant que littéral à virgule flottante de précision 64 bits :
double x = -0.6473313946860445L;
Nombres entiers
Les nombres entiers sont représentés dans HLSL comme suit :
entier-constante entier-suffixe(opt)
entier-constante : l’un des
# (nombre décimal)
0# (nombre octal)
0x# (nombre hexadécimal)
entier-suffixe peut être l’un des éléments suivants :
u U l l L
Caractères
Les caractères sont représentés dans HLSL comme suit :
Caractère | Description |
---|---|
« c » | (caractère) |
'\a' '\b' '\f' '\b' '\r' '\t''\v' | (échappements) |
'\###' | (échappement octal, chaque # est un chiffre octal) |
'\x#' | (échappement hexadécimal, # est un nombre hexadécimal, n’importe quel nombre de chiffres) |
'\c' | (c est un autre caractère, y compris la barre oblique inverse et les guillemets) |
Les échappements ne sont pas pris en charge dans les expressions de préprocesseur.
Chaînes
Les chaînes sont représentées dans HLSL comme suit :
« s » (s est n’importe quelle chaîne avec des échappements).
Identificateurs
Les identificateurs sont représentés dans HLSL comme suit :
[A-Za-z_][A-Za-z0-9_]*
Opérateurs
##, #@, ++, --, &, &, &, ||, ==, ::, <<, <<=, >>, >>=, ...,
<=, >=, !=, *=, /=, +=, -=, %=, &=, |=, ^=, ->
Également tout autre caractère unique qui ne correspondait pas à une autre règle.
Rubriques connexes