直接下载二进制解释器程序获取最新版
https://github.com/CheungChan/duang/releases
./duang test_data/hello.duang
demo里面支持的语法现在都支持。
- 既有
python
的可读性 - 又有
js
的大括号 - 支持汉语标识符
- 有
go
语言的go
关键字直接开协程,而不用async await
- 又没有
if err != nil {return err}
的困扰,恢复了好用的try catch
- 没有指针的概念,变量与变量所指向的值的关系跟
python
一样,列表字典和对象直接传引用,不会克隆一份,除非手动调用其clone
方法 - 支持类型推断的静态类型编程语言
- 学习
go
的大道至简,关键字少 - 但是又不像
go
那样吝啬关键字 - 支持用
with
来加强异常处理 - 原生支持分布式,即支持在相互信任的机器上分布式执行代码,无序拷贝代码拷贝环境。
- 实用为主,如内置函数call("my cmd") 可以直接执行系统命令,把命令执行结果作为返回值。
目前正在开发中。语法方面完全根据最好的风格进行设计,摒弃现有 语言的糟粕。 欢迎提一些语法上的建议。
自己的兴趣的爱好,出于好奇,实现着玩的,没有远大理想。有一点应用场景就知足了。
为中国人设计,不搞英文版。
- 支持单行多行注释
- 实现函数声明
- 实现函数调用
- 实现函数嵌套调用
- 实现内置函数
print
printf
call
call可以直接调用系统命令获取返回值 - 实现语句;可省略
- demo可以运行起来
- 实现识别更多关键字和字面量
- 识别浮点数
- 支持汉语作为标识符
- 实现变量的存取
- 实现变量类型
- 实现表达式(其实这个最难)
- 实现作用域
- 支持在duang程序中直接import和调用go语言函数,扩展duang语言生态。
- 支持任意位置导入import
verbose模式运行duang程序(会输出AST分析过程):
export DUANG_VERBOSE=1 && ./duang test_data/hello.duang