欢迎使用Covariant Script编程语言!
Covariant Script是一种开源的跨平台编程语言
此项目为官方维护的Covariant Script解释器(教育版)
教育版是在标准版本基础上修改的版本,移除了一些第三方组件和不太稳定的新功能。
但随着主项目的更新,此版本也会跟进较为稳定的功能和安全修复。
- 跨平台,支持大部分主流操作系统
- 专为教育目的而设计,更稳定
- 使用C++14编写,兼容性更好
- 独立、高效的编译器前端
- 可导出编译结果
- 支持编译期优化
- 高效的内存管理系统
- 引用计数垃圾回收器
- 强大易用的扩展系统
- C/C++ 原生接口 (CNI)
- 在Latest Release里下载预编译的二进制文件
- 使用CMake工具链直接编译源代码
cs [选项...] <文件> [参数...]
选项 | 助记符 | 功能 |
---|---|---|
--compile-only |
-c |
仅编译 |
--no-optimize |
-o |
禁用优化器 |
--help |
-h |
显示帮助信息 |
--version |
-v |
显示版本信息 |
--wait-before-exit |
-w |
等待进程退出 |
--dump-ast |
-d |
导出高级语法树 |
--log-path <PATH> |
-l <PATH> |
设置日志和语法树导出路径 |
--import-path <PATH> |
-i <PATH> |
设置引入查找路径 |
注意,若不设置日志和导出AST路径,这两者将直接输出至标准输出流
cs_repl [选项...]
选项 | 助记符 | 功能 |
---|---|---|
--help |
-h |
显示帮助信息 |
--version |
-v |
显示版本信息 |
--silent |
-s |
关闭命令提示符 |
--wait-before-exit |
-w |
等待进程退出 |
--args <...> |
-a <...> |
设置程序参数 |
--log-path <PATH> |
-l <PATH> |
设置日志路径 |
--import-path <PATH> |
-i <PATH> |
设置引入查找路径 |
注意:
- 在选项
--args
或其助记符-a
之后设置的每一项都将被视为参数。 - 若不设置日志路径,将直接输出至标准输出流
examples
文件夹包含了数个使用CovScript编写的示例程序。
Covariant Script编程语言的作者是@mikecovlee.
版权所有 © 2019 李登淳
按贡献排名。
@ice1000的评论:
这是我的朋友李登淳创造的一门编程语言,用 C++ 实现,具体介绍在官网还是比较详细的,我在这里就只写点我自己的看法吧。
这门语言本身是类 C 的(至少表达式和函数调用是 C 风格),而函数、结构体、命名空间定义等是 Ruby 风格的 end 结尾,并有 package import using 的概念(也就是模块系统)。
老李的 Parser 是手写的(可以说复杂度很高了,虽然 Parser 是很 trivial 的),让我对他的耐力很佩服(同为高二学生, 我在写 Lice 的时候就没有这份心思,只是做了个很灵活的 AST evaluator 而已)。
这门语言支持调用 C++ 实现的函数,形式类似 JNI 。
CovScript 的类 C 语法让它能写起来很愉快,再加上对 lambda 的支持,可以说是一个 real-world 的编程语言了( 不像 Lice 这种,是以辅助另一门语言为目标的)。
最大的特色应该是它功能齐全的标准库,有数据库、 GUI (有个命令行的图形库,感觉碉堡)、网络编程、正则等库,感觉写程序很方便。