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

原文链接:https://bbs.elecfans.com/jishu_419346_1_1.html

Original: https://www.cnblogs.com/CodeWorkerLiMing/p/14776070.html
Author: wdliming
Title: Picoc C语言解释器简介,及STM32平台移植工程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536179/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球