在 ESP32 上运行 C 解释器

Spoony 54.7m2020-04-131045 次点击
# 介绍
在Arduino IDE中需要花费相当多的时间来等待程序的编译和上传,如果发现程序的行为不符合预期,就考虑在哪里向添加 Serial.printx 语句,再次等待编译和上传,试图获得我想要的结果。在变量满足条件要求时,有什么比在程序中添加语句并能够从程序中获取调试信息更好的呢?

所以...我为基于ESP32的板放了一个C语言解释器,可以使用其内置文件系统来存储程序,在浏览器页面内编辑和解释程序,而无需等待编译和上传。更好的是,支持Arduino的IO 功能,例如 analogWrite,digitalRead/ Write,并提供高度精确的伺服定位的功能。但是也许最好的部分是我在Interpreter中添加了一个调试器,该调试器支持条件Debug跟踪以及 Watch 在程序执行时报告变量值的条件函数。

# 背景
关于解释代码与编译代码以及每种方法的优点和缺点的讨论一直在继续。可以说,解释后的代码将比编译后的代码运行慢,并且许多解释器提供的错误描述也不尽人意。但是解释器以其作为原型工具的价值而闻名,并提供了快速的代码环境。解释器的另一个有用功能是它使新手程序员轻松创建有用的程序。

Zik Saleeba创建了picoc解释器,源码可从 https://gitlab.com/zsaleeba/picoc (现在已经搬到gitlab上了)获得。这是C语言解释器的坚实基础,为他的创作致以深深的敬意。

大部分Web界面均受Michael Molinari启发而从其工作中自由复制而来,可用于https://github.com/esp8266/Basic中的 esp8266 Basic 。

全文:
https://www.codeproject.com/Articles/5061494/Run-a-C-Language-Interpreter-on-Your-ESP32
收藏 ♥ 感谢
暂无回复

登录注册 后可回复。



GitHub