划伤 广泛使用协程的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通过使用协程来解决此问题,协程类似于普通的子例程,但是可以在特定点“暂停”和“不暂停”它们。 这使
2023-03-17 22:17:58 56KB python compiler transpiler scratch
1
伪的 Pseudo使用一个算法/一个简单的程序,并使用Python,JavaScript,C#,Go和Ruby为其生成惯用代码。 Pseudo通过两层翻译实现了这一目标:它使用目标语言语法,并且可以使用语言Y的本机标准库来表达语言X的标准库方法/ api git历史 抱歉:我撒谎了,以某种方式重现了git历史,似乎大部分工作是在3月1日之后:我正在2月在一家公司完成我的工作,我想隐藏当时我从事过伪工作的事实:实际上,如果我没有记错的话,我实际上是在2月20日左右开始更积极的工作。 我不确定我是否已经拥有原始的git历史记录:对Clevertech(公司)/任何观察员表示抱歉,这是一件非常丑陋的事情。 概念 Pseudo使用“ Pseudo AST”,它对应于一种非常清晰,静态类型化且某种程度上有限的语言子集: 基本类型和集合以及用于它们的标准库方法 整数,浮点数,字符串,布尔值 清单
2021-02-27 20:05:38 123KB translation transpiler python-compiler pseudo
1