我正在设计一种简单的解释语言来测试实时嵌入式系统。控制流受到严格限制,以提供关于脚本将执行什么以及它们将运行多长时间的强大静态保证。例如,您只能在恒定条件上分支或在固定范围内循环。
C++ 中存在大量现有代码库以及相关模型和 IO 库,因此这种语言必须能够调用 C++。被测系统有严格的时序要求,所以我们不能容忍测试框架中有太多的抖动。我们过去的解决方案是嵌入在 C++ 运行时中的自定义 DSL,但我们最终重新发明了太多的轮子(解析器、linter、交互式解释器等)来实现我们需要的静态保证。
Haskell 用于制作具有这些保证的嵌入式 DSL 的工具对我非常有吸引力,但我一直在确定如何将其嵌入到软实时 C++ 运行时中。有任何想法吗?指向任何库/现有项目的指针将不胜感激!