嵌入式脚本语言 Berry github网址 :https://github.com/Skiars/berry
Berry 是一款面向小型嵌入式系统的脚本语言,目前发布了 0.1.0 版本。相比于其他脚本语言,Berry 更加精简,因此更适合在单片机上运行。该版本的语言主要特性为:
-
基本类型
数值类型:整数(
int
)和浮点数(real
)布尔类型:
true
和false
字符串:使用单引号或者双引号包围的文本
List:连续存储列表,例如
[1, 2, 3]
Map:Hash 表,例如
{ 'a': 1, 2: 3, 'map': {} }
Range:包含一个下限值和上限值,如
0..5
-
运算符和表达式
赋值运算符:
=
,+=
,-=
,*=
,/=
,%=
,&=
,|=
,^=
,<<=
,>>=
关系运算符:
<
,<=
,==
,!=
,>
,>=
逻辑运算符:
&&
,||
,!
算术运算符:
+
,-
,*
,/
,%
位运算符:
&
,|
,~
,^
,<<
,>>
域运算符:
.
下标运算符:
[]
字符串拼接运算符:
+
括号:
()
-
控制结构
条件语句:
if-else
迭代语句:
while
和for
跳转语句:
break
和continue
-
函数
局部变量和块级作用域
返回语句
嵌套函数定义
闭包和 Upvalue
匿名函数
-
类
继承(仅支持公有单继承)
方法和运算符重载
构造方法
析构方法
模块管理
语言的详细说明请参考文档 berry_rm_zh_cn.pdf。
Berry 解释器使用 ANSI C99 标准编写,且代码十分精简(目前不到 10000 行)。由于采用了在解释器编译时构造常量对象的技术,解释器程序在启动时可以只占用极少的内存。在适当的配置下,解释器启动时的动态内存占用大约只有 600 字节。使用 Keil MDK 的 ARMCC 编译的解释器核心大约只占用 40KB FLash 空间。