Grammatik
HLSL-Anweisungen werden mithilfe der folgenden Regeln für die Grammatik erstellt.
- Leerraum
- Gleitkommazahlen
- Ganze Zahlen
- Zeichen
- Zeichenfolgen
- Identifiers (Bezeichner)
- Operatoren
- Zugehörige Themen
Leerraum
Die folgenden Zeichen werden als Leerzeichen erkannt.
- SPACE
- TAB
- EOL
- Kommentare im C-Format (/* */)
- Kommentare im C++-Format (//)
Gleitkommazahlen
Gleitkommazahlen werden in HLSL wie folgt dargestellt:
fractional-constant exponent-part(opt) floating-suffix(opt)
digit-sequence exponent-part floating-suffix(opt)
Bruchkonstante:
digit-sequence(opt) . Ziffernfolge
digit-sequence .
exponent-part :
e sign(opt) digit-sequence
E sign(opt) digit-sequenz
sign : eins der folgenden Zeichen
+ -
digit-sequence :
digit
digit-sequence-Stelle
floating-suffix : eins der folgenden Zeichen
h H f F l L
Verwenden Sie das Suffix "L", um ein Gleitkommaliteral mit voller 64-Bit-Genauigkeit anzugeben. Ein 32-Bit-Floatliteral ist die Standardeinstellung.
Der Compiler erkennt beispielsweise den folgenden Literalwert als Gleitkommaliteral mit 32-Bit-Genauigkeit und ignoriert die niedrigeren Bits:
double x = -0.6473313946860445;
Der Compiler erkennt den folgenden Literalwert als Gleitkommaliteral mit 64-Bit-Genauigkeit:
double x = -0.6473313946860445L;
Ganze Zahlen
Ganzzahlige Zahlen werden in HLSL wie folgt dargestellt:
integer-constant integer-suffix(opt)
ganzzahlige Konstante: eine der
# (Dezimalzahl)
0# (oktale Zahl)
0x# (Hexnummer)
Integer-Suffix kann eines der folgenden sein:
u l L
Zeichen
Zeichen werden in HLSL wie folgt dargestellt:
Zeichen | Beschreibung |
---|---|
„c“ | (Zeichen) |
'\a' '\b' '\f' '\b' '\r' '\t' '\v' | (Escapes) |
'\###' | (oktales Escape, jedes # ist eine oktale Ziffer) |
'\x#' | (Hex-Escape, # ist Hexnummer, beliebige Anzahl von Ziffern) |
"\c" | (c ist ein anderes Zeichen, einschließlich umgekehrter Schrägstrich und Anführungszeichen) |
Escapes werden in Präprozessorausdrücken nicht unterstützt.
Zeichenfolgen
Zeichenfolgen werden in HLSL wie folgt dargestellt:
"s" (s ist eine beliebige Zeichenfolge mit Escapezeichen).
Bezeichner
Bezeichner werden in HLSL wie folgt dargestellt:
[A-Za-z_][A-Za-z0-9_]*
Operatoren
##, #@, ++, --, &, &, &, ||, ==, ::, <<, <<=, >>, >>=, ...,
<=, >=, !=, *=, /=, +=, -=, %=, &=, |=, ^=, ->
Auch jedes andere einzelne Zeichen, das nicht mit einer anderen Regel übereinstimmte.
Zugehörige Themen