bamfox写著 'A Programming Langauge & Interpreter with C-like Syntax 一款类似 C 语言的解释器 国人自己开发的嵌入式编成语言,短小精干实时,同时兼顾大家操作习惯。作者就像龙芯开发者一样,有这样执著科学、实践和探索精神,值得我们尊敬和支持。
FinC 是什么
A Programming Langauge & Interpreter with C-like Syntax 一款类似 C 语言的解释器
国人自己开发的嵌入式编成语言,短小精干实时,同时兼顾大家操作习惯。作者就像龙芯开发者一样,有这样执著科学、实践和探索精神,值得我们尊敬和支持。
项目简介
FinC 是一套语法类似 C 语言的编程语言解释器(The Interpreter of A Programming Language)。FinC的初始目标是面向嵌入式领域的编程语言,所以它非常强调小、小、再小,实时、实时、再实时。
FinC 是一个实现非常短小的解释器,编译后二进制文件大小在 100k 左右,剪裁版本 Finsh 可完全用于嵌入式设备实现 vxWorks shell 类似的功能,而其大小仅在几k。
FinC 0.3 已被移植到多个系统,Linux/Win32/vxWorks/Nucleus以及DOOLOO RTOS……
功能介绍
0.3 系列版本内部完全解释执行,不产生任何中间代码,支持C语言的基本数据类型(char/short/int/long/float),基本指针,字符串,结构体,一维数组等,支持?/:三项式语句,逗号语句,if/else 条件语句,for/while 循环,支持函数,支持调用系统函数。0.3 系列的目标就是和 C89 完全兼容。
0.4 系列版本将能够直接运行于 Java 虚拟机,并给出一个完全嵌入式设备上的 Java 虚拟机实现(二进制代码尺寸:32k、64k及以上级别)。
应用方向
FinC 0.3 系列的应用方向主要向两个方向发展:
#1. 全功能的 FinC,用于 C 语言应用程序的测试(TestExecute),可以把一个动态链接库直接导入到解释器中,采用交互式或批处理的方式执行测试;交互式,能通过 shell 的形式直接调用动态链接库中的函数,查看/修改全局变量。
#2. 剪裁版本的 Finsh,用于和 TestExecute 配合使用,能够在 shell 状态下交互的执行嵌入式设备中的函数,查看/修改变量、内存数据、设备寄存器等等。
项目主页
http://gro.clinux.org/projects/finc/