一个简单的脚本语言,练习编译原理用
基本上就是图书《两周自制脚本语言》的读书笔记?
其实就是跟着书自己实践一遍
- SlothScript - 脚本解释器
- UnitRunner - 单元测试
简单样例
sum = 0;
i = 1;
while i <= 10 do
if i % 2 == 0 do
sum = sum + i; // 计算2+4+...+10
end;
i = i + 1; // 循环计数器
end;
return sum; // 返回结果
- 双斜杠//表示注释
- 每个语句后都用分号隔开
- 支持的运算符包括+ - * / % > < >= <= ==
- 数据类型暂时只支持整数和字符串,字符串用双引号括起
- if和while语句为<关键字><表达式>do<语句块>end;
- return语句中断运行并返回表达式的值
函数支持
// 定义
def fib(n) do
if (n == 0)||(n == 1) do
return 1;
end;
return fib(n-2) + fib(n-1);
end;
// 调用,计算斐波那契数列
return fib(10);
详见UnitRunner的各种Usage