TypeScript 문법
TypeShade는 셰이더 컴파일러가 검사하는 TypeScript 문법입니다. 문법 하나는 셰이더 코드로 하향 변환되거나, 이유가 붙은 거절을 받습니다. 카드마다 오른쪽 칸에 놓인 코드는 고정된 커밋의 컴파일러가 낸 것입니다. 아래 섹션 페이지에 69가지를 나눠 실었습니다.
카드 하나를 읽는 법
카드 머리에는 문법의 이름이 있고, 언어가 거절하는 문법에는 표시가 하나 붙습니다. 이름 아래 문장은 그것이 무엇이 되는지 말합니다. 왼쪽 칸은 TypeScript이며, 이 페이지를 빌드할 때 컴파일하는 "use typeshade" 프로그램에서 그대로 가져옵니다. 오른쪽 칸은 생성된 WGSL이고, 그 프로그램에서 이름으로 잘라 낸 부분입니다. 거절되는 카드에는 그 자리에 컴파일러가 낸 코드와 메시지가 들어갑니다.
카드 하나는 무슨 일이 일어나는지만 말합니다. 왜 그런지는 앞선 페이지들이 설명합니다. 타입, 함수, 제어 흐름, GPU 타입, 리소스를 보십시오. 내장 함수는 별도의 표에 있습니다.
섹션
- 선언 구성 요소 11가지
- "use typeshade" 파일에서 상수와 변수, enum, 타입 별칭, 인터페이스, 네임스페이스가 각각 무엇이 되고 무엇이 생성되는지 싣습니다.
- 함수 구성 요소 11가지
- 헬퍼와 화살표 함수, 오버로드, 재귀, 진입점, 그리고 컴파일러가 거절하는 호출을 하나씩 짚고, 각각에 대해 생성된 셰이더 코드를 함께 놓습니다.
- 클래스 구성 요소 14가지
- 생성자와 메서드, 정적 멤버, 상속, 믹스인, 제네릭이 각각 무엇이 되는지, 컴파일러가 쓰는 구조체와 함수를 옆에 나란히 놓고 보여 줍니다.
- 제어 흐름 구성 요소 10가지
- 조건과 횟수가 정해진 루프, while, switch, 삼항 연산, break, continue, discard를 생성 코드와 함께 놓고, 거절되는 루프도 보여 줍니다.
- 식과 타입 구성 요소 16가지
- 타입 주장과 구조 분해, 전개, 리터럴, 그리고 실행 중에 만들 수 없는 값을 각각 생성 코드나 거절 메시지와 함께 놓습니다.
- 배정밀도 에뮬레이션 구성 요소 7가지
- 두 타깃 모두 64비트 부동소수점이 없어서 배정밀도 값은 단정밀도 워드 쌍입니다. 컴파일러가 무엇을 다시 쓰고 어떤 호출로 연산을 대신하는지 봅니다.
이 페이지의 프로그램은 사이트를 빌드할 때 고정된 커밋에서 모두 컴파일합니다. 컴파일되지 않는 코드가 생기면 빌드가 멈춥니다. 문법 자체는 작성 인터페이스 문서에 있습니다.