zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    bzoj2115: [Wc2011] Xor
    bzoj2844: albus就是要第一个出场
    hdu3949
    bzoj2487: Super Poker II
    bzoj3456: 城市规划
    bzoj3992: [SDOI2015]序列统计
    ubuntu 使用命令行登录oracle
    ubuntu安装docker
    linux查询硬件信息
    ubuntu oracle 环境搭建
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/14776070.html
Copyright © 2011-2022 走看看