Tata bahasa
Pernyataan HLSL dibangun menggunakan aturan berikut untuk tata bahasa.
- Whitespace
- Angka titik mengambang
- Angka bilangan bulat
- Karakter
- String
- Pengidentifikasi
- Operator
- Topik terkait
Whitespace
Karakter berikut dikenali sebagai spasi kosong.
- SPACE
- TAB
- EOL
- Komentar gaya C (/* */)
- Komentar gaya C++ (//)
Angka titik mengambang
Angka floating point diwakili dalam HLSL sebagai berikut:
fractional-constant exponent-part(opt) floating-suffix(opt)
digit-sequence exponent-part floating-suffix(opt)
fractional-constant :
digit-sequence(opt) . urutan digit
digit-sequence .
bagian eksponen :
e sign(opt) digit-sequence
E sign(opt) digit-sequence
sign : salah satu dari
+ -
urutan digit :
digit
digit-sequence digit
floating-suffix : salah satu dari
h H f F l L
Gunakan akhiran "L" untuk menentukan literal floating-point presisi 64-bit penuh. Harfiah float 32-bit adalah default.
Misalnya, kompilator mengenali nilai harfiah berikut sebagai harfiah floating-point presisi 32-bit dan mengabaikan bit yang lebih rendah:
double x = -0.6473313946860445;
Kompilator mengenali nilai harfiah berikut sebagai harfiah floating-point presisi 64-bit:
double x = -0.6473313946860445L;
Angka bilangan bulat
Angka bilangan bulat diwakili dalam HLSL sebagai berikut:
integer-constant integer-suffix(opt)
integer-constant: salah satu dari
# (angka desimal)
0# (angka oktal)
0x# (angka heksa)
akhiran bilangan bulat dapat berupa salah satu dari ini:
u U l L
Karakter
Karakter diwakili dalam HLSL sebagai berikut:
Karakter | Deskripsi |
---|---|
'c' | (karakter) |
'\a' '\b' '\f' '\b' '\r' '\t' '\v' | (lolos) |
'\###' | (pelarian oktal, masing-masing # adalah digit oktal) |
'\x#' | (hex escape, # adalah hex number, any number of digits) |
'\c' | (c adalah karakter lain, termasuk garis miring terbalik dan tanda kutip) |
Escape tidak didukung dalam ekspresi pra-prosesor.
String
String diwakili dalam HLSL sebagai berikut:
"s" (s adalah string apa pun dengan escape).
Pengidentifikasi
Pengidentifikasi diwakili dalam HLSL sebagai berikut:
[A-Za-z_][A-Za-z0-9_]*
Operator
##, #@, ++, --, &, &, &, ||, ==, ::, <<, <<=, >>, >>=, ...,
<=, >=, !=, *=, /=, +=, -=, %=, &=, |=, ^=, ->
Juga karakter tunggal lainnya yang tidak cocok dengan aturan lain.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk