====== 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 | | 跳出循环 | 进入下一轮循环 | 声明函数 | 覆写函数 | 返回语句 | 异常处理 |||
注意:在190501前的标准中,标识性关键字也属于强制型关键字的一部分
----- \\ ===== 2.4 模块(module) ===== import Package名, Package名... 引入一个或多个Package import Package名[(.名称空间名)...] as Package别名 **引入一个package或package内的名称空间,并设置别名** 引入的**package**可以是 '' *.csp '' 文件(CovScript包)或者是 ''*.cse'' 文件(CovScript扩展) 当两者同时存在时会优先引入 ''*.csp'' 文件(CovScript包) package Package名 **声明一个Package** 原则上包名应和文件名相同