#forth #real-time #applications #implemented #embeddable

rtforth

Forth 语言在 Rust 中的实现,适用于实时应用

8 个版本

使用旧版 Rust 2015

0.9.0 2020 年 5 月 4 日
0.8.0 2020 年 5 月 3 日
0.7.0 2020 年 4 月 23 日
0.6.8 2022 年 9 月 23 日
0.1.26 2017 年 1 月 21 日

#forth 中排名 1


用于 rtf

MIT/Apache 许可

400KB
11K SLoC

Rust 7K SLoC // 0.0% comments C 2.5K SLoC // 0.1% comments FORTRAN Legacy 629 SLoC // 0.0% comments Forth 489 SLoC // 0.3% comments F# 229 SLoC Shell 84 SLoC

rtForth

在 Rust 中实现的 Forth 语言,设计用于实时应用中嵌入。

更多文档请参考 rtForth 入门

设计决策

  • 安全优先,性能其次
  • 调用线程

使用示例程序 rtf

cargo install --path ./rtf
rtf --help         # Display help information.
rtf <file>         # Load forth commands in <file>.
rtf lib.fth <file>  # Load lib.fth before <file>.
$ rtf              # Execute debug version of rtForth.
rtForth v0.6.6, Copyright (C) 2022 Mapacode Inc.
Type 'bye' or press Ctrl-D to exit.
: star 
   42 emit ;  ok
: stars 
   0 ?do star loop ;  ok
5 stars ***** ok
bye

作为 Rust crate 使用

rtForth 设计用于实时系统。启动后,除了输入输出词之外的大部分词不使用系统调用。

输入输出词可以由应用程序根据所使用的操作系统实现。

查看 examples/simple.rs 和 examples/multitask.rs 了解如何在 Rust 应用中嵌入 rtforth。

依赖项

~1.5MB
~26K SLoC