====== Covariant Script 核心概念 ======
-----
\\
===== 2.1 语句(statement) =====
语句1; 语句2
语句3
**以换行符或分号结束的一行代码称为语句**
语句1 ; 语句2 ; 语句3
**任意语句都可以将分号作为终结符**
单独一行语句也可以使用分号作为结尾
-----
\\
===== 2.2 预处理(preprocessor) =====
语句 # 注释
**任意#之后至本行结尾的内容均视为注释**
@begin
代码
@end
**在 @begin 和 @end 之间的代码可以跨行编写**
虽然可以跨行编写,但不能破坏词元的完整性,如一个完整的字符串中间不能换行
@charset: 字符集
指定程序的编码,可以是:
^ **编码** ^ **字符集** ^
| ASCII纯文本 | ascii |
| UTF-8简体中文 | utf8 |
| GBK简体中文 | gbk |
Covariant Script 官方解释器默认使用的字符集是 UTF-8
当选择Unicode中文编码(UTF-8/GBK)时,**可以使用简体中文作为标识符**
@require: 标准号
**指定程序需要的最低CovScript语言标准号**
@exit
**(仅REPL可用)退出解释环境**
-----
\\
===== 2.3 关键字(keyword) =====
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**
原则上包名应和文件名相同