Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » Could scratch be an LLVM backend?
- ninjaMAR
-
1000+ posts
Could scratch be an LLVM backend?
It would be pretty cool to use clang, and get an sb3 file.
I'm not sure if I'm getting the idea correctly
I'm not sure if I'm getting the idea correctly
Last edited by ninjaMAR (May 14, 2024 10:46:32)
- imfh
-
1000+ posts
Could scratch be an LLVM backend?
It would probably be possible, but it would be a ton of work. I don't think the Scratch Team likes projects generated automatically without the Scratch editor though. LLVM would likely make a garbled project which was very clearly “compiled” and not easy to edit and remix.
To get around this, you could write an interpreter for some language or architecture in Scratch. The language could be custom made for the project or something that already exists. Then, you can compile stuff, import it into the project, and run it. This actually might be a bit easier than compiling straight to Scratch.
In fact, there are already projects which have implemented architectures supported by LLVM. For example, this project contains a RISC-V emulator. LLVM has a RISC-V backend. The emulator works well enough to run Linux: https://scratch.mit.edu/discuss/topic/710568/
To get around this, you could write an interpreter for some language or architecture in Scratch. The language could be custom made for the project or something that already exists. Then, you can compile stuff, import it into the project, and run it. This actually might be a bit easier than compiling straight to Scratch.
In fact, there are already projects which have implemented architectures supported by LLVM. For example, this project contains a RISC-V emulator. LLVM has a RISC-V backend. The emulator works well enough to run Linux: https://scratch.mit.edu/discuss/topic/710568/
- davidtheplatform
-
500+ posts
Could scratch be an LLVM backend?
I think someone got rust to run in a scratch project somehow. I think it was a RISC-V (or similar) emulator and not an actual LLVM backend though.
- ninjaMAR
-
1000+ posts
Could scratch be an LLVM backend?
(#3)I mean where you can compile C code, and get an SB3. A project called ELVM seems to be capable of outputting an SB3, but it uses a very minimal C compiler (can't get anything to work)
I think someone got rust to run in a scratch project somehow. I think it was a RISC-V (or similar) emulator and not an actual LLVM backend though.
- Arctenik
-
18 posts
Could scratch be an LLVM backend?
I've never used it myself, but I know scratch-llvm by @bobbybee exists: https://github.com/alyssarosenzweig/scratch-llvm
(Presumably it's for SB2s though, not SB3s, since it's a bit old)
(Presumably it's for SB2s though, not SB3s, since it's a bit old)
- Discussion Forums
- » Advanced Topics
-
» Could scratch be an LLVM backend?