脚本解析器
uvm32 一个极简、无依赖的虚拟机,可用于嵌入式执行bin文件
UVM32 是一个极简、无依赖的虚拟机沙盒,专为微控制器及其他资源受限设备设计。单 C 文件,无动态内存分配,异步设计,纯 C99。
uvm32 是一个 RISC-V 模拟器,采用管理接口,并配备了构建高效代码的工具。
这是干什么用的?
- 作为嵌入式脚本引擎(Lua、Duktape、MicroPython 等)的简洁替代方案
- 作为一个沙盒 ,用于隔离系统中不可信或不可靠的元素
- 作为一种允许在现代系统编程语言中开发的方式,比如在可能没有目标编译器的情况下(rust-hello)
- 作为一种写入一次、随处运行 、避免维护多个软件变体的方法
特色
- 用 C、Zig、Rust 和汇编编写的字节码示例应用
- 非阻塞设计,防止不良的字节码导致主机停顿
- 没有对主机 IO 能力的假设(没有标准配置)
- 简单、带有主见的执行模型
- 安全的最小类型 FFI
- 体积小到能用“如果这样那个”的脚本/插件,也能支持更多
- 安全优先于速度,虚拟机中运行的糟糕代码绝不应该导致主机崩溃
C4:4个函数实现的C语言编译器 (C语言脚本解释器)
它是一个C语言编译器项目,整个实现只有:
一个C语言源码文件
528行C语言代码
4个函数
仅此而已。
它简洁,却不简单。
PicoC :PicoC 是一款非常小的 C 脚本解释器
PicoC是一个轻量级的C语言编译器,它可以将C语言源代码编译成可执行文件。
核心 C 源代码大约有 3500 行。它并非 ISO C 的完整实现,但它具备所有基本功能。编译后,它仅占用几 k 的代码空间,并且非常节省数据空间。这意味着它可以在小型嵌入式设备中很好地工作。它也是一个有趣的示例,展示了如何创建非常小的语言实现,同时仍保持代码的可读性。
QuickJS
QuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。
它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。
Lua
Lua 是一种强大、高效、轻量级、可嵌入的脚本语言。它支持过程式编程、面向对象编程、函数式编程、数据驱动编程和数据描述。
panda
panda是脚本语言解释器,它基于javascript,但裁剪了部分语法特性;
panda是轻量级语言,它被设计用来作为嵌入式硬件的解释器;
panda很容易学习。
Moddable SDK
Moddable SDK 是脚本语言解释器,它基于javascript
lpython
LPython 是一个Python 编译器
PikaPython
PikaPython 是一个完全重写的超轻量级 python 引擎,零依赖,零配置,可以在 Flash ≤ 64KB,RAM≤ 4KB 的平台下运行(如 stm32g030c8 和 stm32f103c8),极易部署和扩展,具有大量的中文文档和视频资料。











