语句1; 语句2 语句3
以换行符或分号结束的一行代码称为语句
语句1 ; 语句2 ; 语句3
任意语句都可以将分号作为终结符
单独一行语句也可以使用分号作为结尾
语句 # 注释
任意#之后至本行结尾的内容均视为注释
@begin 代码 @end
在 @begin 和 @end 之间的代码可以跨行编写
虽然可以跨行编写,但不能破坏词元的完整性,如一个完整的字符串中间不能换行
@charset: 字符集
指定程序的编码,可以是:
编码 | 字符集 |
---|---|
ASCII纯文本 | ascii |
UTF-8简体中文 | utf8 |
GBK简体中文 | gbk |
Covariant Script 官方解释器默认使用的字符集是 UTF-8
当选择Unicode中文编码(UTF-8/GBK)时,可以使用简体中文作为标识符
@require: 标准号
指定程序需要的最低CovScript语言标准号
@exit
(仅REPL可用)退出解释环境
Covariant Script的关键字分为两种:
一种为强制型关键字,即编译器遇到这个词即视为使用这个语法标识符;
一种为标识型关键字,即仅在符合语法时编译器才会将其视为语法标识符
强制型关键字表
关键字 | and | or | not | typeid | new |
---|---|---|---|---|---|
含义 | 与运算符 | 或运算符 | 非运算符 | 类型信息 | 新建栈对象 |
null | local | global | true | false | gcnew |
空指针 | 本地作用域 | 全局作用域 | 逻辑真 | 逻辑假 | 新建堆对象 |
标识型关键字表(190501)
import | as | package | namespace | using | struct | class | extends |
---|---|---|---|---|---|---|---|
引入包 | 包定义 | 声明名称空间 | 引入名称空间 | 声明类 | 继承类 | ||
block | var | constant | if | else | switch | case | default |
声明语句块 | 声明变量 | 声明常量 | 分支语句 | ||||
end | while | loop | until | for | foreach | in | do |
结束语句块 | 循环语句 | ||||||
break | continue | function | override | return | try | catch | throw |
跳出循环 | 进入下一轮循环 | 声明函数 | 覆写函数 | 返回语句 | 异常处理 |
import Package名, Package名...
引入一个或多个Package
import Package名[(.名称空间名)...] as Package别名
引入一个package或package内的名称空间,并设置别名
引入的package可以是 *.csp
文件(CovScript包)或者是 *.cse
文件(CovScript扩展)
当两者同时存在时会优先引入 *.csp
文件(CovScript包)
package Package名
声明一个Package
原则上包名应和文件名相同