Picoc C语言解释器简介,及STM32平台移植工程

Picoc是google开源代码项目中看到的一个项目,其初衷貌似是要做一个在小的嵌入设备上的C解释器。它的核心代码只有3500行左右,可读性不错,虽然没有实现完整的ISO C标准,基本的C运行库还是具备了。
picoc代码上看,基本有如下几块:lex词法解析,table一个基本数据结构(用于存放变量),是个字符串hash表,heap管理内存分配(包括了stack frame的实现), type做类型管理(基本型别和程序自定义的struct,typedef等),expression做表达式解析,variable变量管理分配释放栈帧。
picoc的定位是一个解释器,它的解析和代码运行是在同一块代码块里做

  • PicoC是一个非常小的C解释器的脚本。它最初是作为一个无人机的飞行系统板上的脚本语言。它也非常适合于其他机器人嵌入式和非嵌入式应用。
  • 核心的C源代码是大约4500行代码。它并不打算成为一个完整的ISO C实现的,但它拥有所有的必需品。在编译时,只需要几K的代码空间也很不遗余力的数据空间。这意味着,在小型嵌入式设备,它可以很好地工作。这也是一个有趣的例子,如何创建一个非常小的语言实现,同时仍保持代码的可读性。
  • picoc已经过测试的x86-32,x86-64的的PowerPC,ARM,以UltraSPARC,HP-PA和Blackfin处理器上,并很容易地移植到新的目标。



项目地址,有文档和源码:
GOOGLE https://code.google.com/p/picoc/
GitHub  https://github.com/larryhe/tiny-c-interpreter和https://github.com/jpoirier/picoc

gitlab:https://gitlab.com/zsaleeba/picoc  这个是最新的
SVN 地址,貌似还有人在开发当中,但是只有 win32版本可以编译过去,变化比较大...
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://picoc.googlecode.com/svn/trunk/ picoc-read-only

STM32F10x_CLI_Picoc - v2.1.rar (461.39 KB, 下载次数: 797 )
 
 
原文链接:https://bbs.elecfans.com/jishu_419346_1_1.html
posted @   wdliming  阅读(1539)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2020-05-17 《80c51单片机实用技术》邹久朋学习笔记
2019-05-17 keil swd设置下载stm32f103c8t6.
2019-05-17 CMSIS-DAP仿真器_学习(转载)
2019-05-17 C、C++混合调用——博客收藏
2019-05-17 补码复习
点击右上角即可分享
微信分享提示