划伤
广泛使用协程的Scratch 2.0 to Python转译器
coro-scratch是一个简单的命令行工具,可以将Scratch项目转换为.py源文件,该文件可以在大于或等于3.4的任何Python版本中运行。 它在转译的文件中大量使用了异步和协程。
可以使用什么版本的Scratch?
coro-scratch仅适用于Scratch 2.0项目,因为1.4和3.0的文件格式非常不同。 添加对Scratch 3.0项目的支持并不是很难,但是目前我还没有任何计划。 如果有人要添加它,请分叉此仓库并发送PR。 :)
它是如何工作的?
将Scratch项目转换为其他语言时,一个长期存在的问题是如何处理其并发模型。 已编译的程序无法使用线程,因为Scratch项目中的脚本仅在特定位置生成,而线程可以在任何时间生成。 由于大多数编程语言仅具有用于管理并发性的线程(或多个进程,因此更不适合),这意味着大多数从零开始的X“编译器”实际上只是将解释器和项目嵌入在一起。 coro-scratch通过使用协程来解决此问题,协程类似于普通的子例程,但是可以在特定点“暂停”和“不暂停”它们。 这使
1