显示页面修订记录反向链接回到顶部 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== Covariant Script 核心概念 ====== ===== 2.1 语句(statement) ===== <code c> 语句1; 语句2 语句3 </code> **以换行符或分号结束的一行代码称为语句** <code c> 语句1 ; 语句2 ; 语句3 </code> **任意语句都可以将分号作为终结符** 单独一行语句也可以使用分号作为结尾 ----- \\ ===== 2.2 预处理(preprocessor) ===== <code python> 语句 # 注释 </code> **任意#之后至本行结尾的内容均视为注释** <code> @begin 代码 @end </code> **在 @begin 和 @end 之间的代码可以跨行编写** 虽然可以跨行编写,但不能破坏词元的完整性,如一个完整的字符串中间不能换行 <code> @charset: 字符集 </code> 指定程序的编码,可以是: ^ **编码** ^ **字符集** ^ | ASCII纯文本 | ascii | | UTF-8简体中文 | utf8 | | GBK简体中文 | gbk | Covariant Script 官方解释器默认使用的字符集是 UTF-8 当选择Unicode中文编码(UTF-8/GBK)时,**可以使用简体中文作为标识符** <code> @require: 标准号 </code> **指定程序需要的最低CovScript语言标准号** <code> @exit </code> **(仅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'' ^ | **含义** | 跳出循环 | 进入下一轮循环 | 声明函数 | 覆写函数 | 返回语句 | 异常处理 ||| <html> <div style=" border-style: solid; border-color: #d1f4ff; background-color: #ecfcff; border-width: medium; border-radius: 3px; padding: 12px;"> <b>注意</b>:在190501前的标准中,标识性关键字也属于强制型关键字的一部分 </div> </html> ----- \\ ===== 2.4 模块(module) ===== <code python> import Package名, Package名... </code> 引入一个或多个Package <code python> import Package名[(.名称空间名)...] as Package别名 </code> **引入一个package或package内的名称空间,并设置别名** 引入的**package**可以是 '' *.csp '' 文件(CovScript包)或者是 ''*.cse'' 文件(CovScript扩展) 当两者同时存在时会优先引入 ''*.csp'' 文件(CovScript包) <code java> package Package名 </code> **声明一个Package** 原则上包名应和文件名相同 登录