#scratch #compiler #programming-language #projects #blocks #variables #local

app goboscript

goboscript是Scratch编译器

2个版本 (1个稳定版本)

1.0.0 2024年3月25日
0.1.0 2024年3月7日

100编程语言 中排名

Download history 44/week @ 2024-04-03

每月下载量 84

MIT 许可证 MIT

165KB
4.5K SLoC

goboscript

image

安装和文档

goboscript是一种基于文本的编程语言,可以编译成Scratch。它允许您用文本编写Scratch项目,并将其编译成 sb3 文件 - 该文件可以在Scratch编辑器、TurboWarp中打开,或者上传到Scratch网站。

goboscript允许您轻松创建高级Scratch项目,您可以使用任何文本编辑器,使用版本控制系统如git。您可以使用搜索和替换来重构您的代码。文本代码可以复制粘贴,这使得您能够轻松重用代码或与他人共享。goboscript语法简洁易读。

goboscript允许您集成外部工具和工作流程,例如使用脚本为文本渲染引擎生成服装。或者将图像加载到列表中。

goboscript有一个强大的宏系统 - 与Rust的宏系统类似。这允许您编写宏来生成代码。

goboscript不仅仅是Scratch块到文本的1:1映射,它还具有额外的功能,如过程的局部变量(自定义块)。

goboscript还执行优化,检测问题和使用过的代码。

goboscript Scratch

贡献

goboscript欢迎以Pull Requests形式提交贡献。

goboscript是用Rust编写的。您需要安装Rust工具链以进行开发。

[!注意] 要安装goboscript,请参考aspizu.github.io/goboscript中的说明。这些说明适用于想要开发goboscript本身的人。

git clone https://github.com/aspizu/goboscript
cd goboscript

开发

在克隆仓库后,从仓库根目录运行goboscript本地版本

cargo run -- build -i your_project/

但是,为了使开发更容易,并验证生成的Scratch项目 - 使用 tools/run 脚本

tools/run compile

这假设您已经在 playground/ 中设置了一个测试项目。它将编译项目,使用来自 scratch-parser 的模式进行验证。如果验证失败,Scratch 将拒绝加载项目。为了进一步调试项目,生成的 project.json 文件将从 .sb3 文件中提取出来,该文件位于 playground/ 目录下。

假设您在 Scratch 编辑器或 Turbowarp 中修改了生成的项目,并想查看 project.json。您可以使用以下方法提取它:

tools/run uncompile

假设 goboscript 生成了一个损坏的项目,并且您能够手动修复它 - 通过修改 project.json。您可以使用以下方法将 project.json 添加回 .sb3 文件:

tools/run patch

如果您想验证某个 .sb3 文件,请使用以下命令:

tools/run check path/to/project.sb3

依赖项

~9–21MB
~221K SLoC