C# subset compiled to non .NET languages or platforms. (Powered by Roslyn)
This project will focus on transpiling a C# subset with a modified type system for writing GPU programs.
-
Native C performance
-
C89: modern, legacy and embedded platforms (x86, x64, MIPS, SPARK, RISC-V, PPC, 68k, AVR, etc)
-
CC65: 6502 platforms (Atari, C64, NES, Apple II, etc)
-
SDCC: Many targets (ColecoVision, etc)
-
z88dk: Z80 platforms
-
Assembly: CP1610 (Intellivision)
-
Retarget: Custom assembly targets (FPGA CPU, 16bit bytes, etc)
-
Custom Standard lib(s) for various targets.
-
Other lang targets: Java, JS, ActionScript, etc (portability or framework targeting)
-
HLSL (DirectX Shader Assembly Language) [D3D9.0c +]
-
ALS (DirectX Shader Assembly Language) [D3D8.0 - D3D9.0c]
-
GLSL (OpenGL shading language) [OpenGL2.0 / GLES2 +]
-
ARB (ARB assembly language) [legacy / homebrew systems]
-
CG (Cg programming language) [PSVita, Nvidia / other]
-
PSSL (PlayStation Shader Language) [PS4]
-
MSL (Metal Shading Language) [macOS / iOS]
-
AGAL (Adobe Graphics Assembly Language)
- CS2X.Core: Compiler lib
- CS2X.CLI: CLI interface for CS2X.Core
- CS2X.Analyzer: C# syntax analyzer to limit unsuported features.
- CS2X.CoreLib: Portable CoreLib subset
- Prerequisites
- VS, vscode, Rider, etc
- .NET 10
No still experimental.