Note
由AI学习源码后生成(未检查)
语法速查表
本文提供文言编程语言完整语法速查表,方便快速查阅。
词法单元
关键字
声明与赋值
吾有/有/夫- 变量声明名之曰- 命名昔之...者 今...是矣- 赋值予之以- 赋值(简化)不复存矣- 设为空值
类型
數- 数字类型言- 字符串类型爻- 布尔类型列- 数组类型物- 对象类型術- 函数类型
控制流
若...者- if 条件或若...者- else if若非- else恆為是- while true 循环為是...遍- for 循环(指定次数)凡...中之...- for 循环(遍历数组)乃止- break乃止是遍- continue
函数
欲行是術必先得- 函数参数声明是術曰/乃行是術曰- 函数体开始是謂...之術也- 函数定义结束施/造- 调用函数取...以- 从堆栈获取参数乃得- 返回值乃得矣- 返回最后结果乃歸/乃歸空無- 无返回值
对象
其物如是- 对象体开始物之...者- 静态成员己- 当前实例父- 父类繼- 继承是謂...之物也- 对象定义结束
导入
吾嘗觀...之書- 导入包方悟...之義- 导入特定成员
运算符
算术运算
加...以/於...- 加法減...以/於...- 减法乘...以/於...- 乘法除...以/於...- 除法所餘幾何- 取模
逻辑运算
且- 逻辑与或- 逻辑或變- 逻辑非中無陰乎- 逻辑与(布尔代数)中有陽乎- 逻辑或(布尔代数)
比较运算
等於- 等于不等於- 不等于大於- 大于小於- 小于不大於- 不大于(<=)不小於- 不小于(>=)
数组运算
充...以...- 添加元素到数组銜...以...- 合并数组...之長- 获取数组长度
特殊运算
書- 输出待- 等待异步噫- 刷新输出
代词
其- 引用并弹出上一个结果之- 引用但不弹出上一个结果己- 当前对象实例父- 父类对象
标点与助词
曰- 冒号(用于赋值、命名等)者- 条件标记也/是也/云云- 语句结束矣- 完成标记以/於- 介词(改变参数顺序)
数据字面量
数字
整数
零 0
一 1
九 9
十 10
百 100
千 1000
万 10000
亿 100000000
负数
負一 -1
負一百二十三 -123
小数
一又二分之一 1.5
負三又四分五釐六毫 -3.456
小数单位:分、釐、毫、絲、忽、微、纖、沙、塵、埃、渺、漠
字符串
「「你好」」 "你好"
「「問天地好在。」」 "问天地好在。"
布尔值
陰 false
陽 true
数组
吾有一列。名之曰「甲」。 // 空数组
充其以一以二以三。 // [1, 2, 3]
基本语法模式
变量声明
标准声明
吾有一數 曰三。名之曰「甲」。
吾有一言 曰「「你好」」。名之曰「乙」。
吾有一爻 曰陽。名之曰「丙」。
吾有一列。名之曰「丁」。
简洁声明
有數十三。名之曰「甲」。
夫十五。名之曰「乙」。
多变量声明
吾有二數 曰十三 曰十五。名之曰「甲」曰「乙」。
有數十三。夫十五。名之曰「甲」曰「乙」。
初始化声明
有數十三。名之曰「甲」。
赋值
标准赋值
昔之「甲」者 今三是矣。
昔之「乙」者 今「甲」是矣。
简化赋值
夫三。予之以「甲」。
链式赋值
夫三。予之以「甲」。予之以「乙」。
设为空值
昔之「甲」者 今不复存矣。
昔之「甲」者 不复存矣。
算术表达式
基本运算
加一以二。 // 1 + 2 = 3
減二以一。 // 2 - 1 = 1
乘二以三。 // 2 * 3 = 6
除八以四。 // 8 / 4 = 2
使用介词改变顺序
加一以二。 // 1 + 2
加一於二。 // 2 + 1
減二以一。 // 2 - 1
減二於一。 // 1 - 2
链式运算
加一以二。乘其以三。 // (1 + 2) * 3 = 9
取模运算
除五以三。所餘幾何。 // 5 % 3 = 2
布尔运算
且陰以陽。 // false && true = false
或陽以陰。 // true || false = true
變陰。 // !false = true
条件判断
基本 if
若「甲」大於五十者。
書「「大於五十」」。
云云。
if-else
若「甲」大於五十者。
書「「大於五十」」。
若非。
書「「不大於五十」」。
也。
if-elif-else
若「甲」等於一者。
書「「一」」。
或若「甲」等於二者。
書「「二」」。
若非。
書「「其他」」。
云云。
布尔值判断
若「甲」者。
書「「真」」。
若非。
書「「假」」。
也。
循环
无限循环
恆為是。
書「「无限循环」」。
云云。
定次循环
為是百遍。
書「「执行一百次」」。
云云。
遍历循环
凡「列」中之「元」。
書「元」。
云云。
循环控制
為是十遍。
若「甲」大於五者。
乃止。 // break
云云。
若「甲」等於三者。
乃止是遍。 // continue
云云。
云云。
函数
无参函数
吾有一術。名之曰「問好」。
是術曰。
書「「你好」」。
乃得矣。
是謂「問好」之術也。
带参函数
吾有一術。名之曰「加法」。
欲行是術必先得二數曰「甲」曰「乙」。
是術曰。
加「甲」以「乙」。
乃得矣。
是謂「加法」之術也。
函数调用
施「加法」於一於二。 // 1 + 2
夫一。夫二。取二以施「加法」。 // 等价写法
嵌套函数
吾有一術。名之曰「外函」。
欲行是術必先得一數曰「甲」。
是術曰。
吾有一術。名之曰「內函」。
欲行是術必先得一數曰「乙」。
是術曰。
加「甲」以「乙」。
乃得矣。
是謂「內函」之術也。
施「內函」於五。
是謂「外函」之術也。
闭包
吾有一術。名之曰「計數器」。
是術曰。
吾有一數。曰零。名之曰「計數」。
吾有一術。名之曰「增加」。
是術曰。
加「計數」以一。昔之「計數」者 今其是矣。
乃得「計數」。
是謂「增加」之術也。
乃得「增加」。
是謂「計數器」之術也。
对象
对象定义
吾有一物。名之曰「人」。其物如是。
物之「總數」者數 曰零。 // 静态属性
物之造者術。
是術曰。
夫一名之曰己之「姓名」。 // 实例属性
夫二。名之曰己之「年齡」。
是謂造之術也。
物之「問好」者術。
是術曰。
書「「你好,我是」」。
書己之「姓名」。
是謂「問好」之術也。
是謂「人」之物也。
对象实例化
造「人」。名之曰「張三」。
施「人」。名之曰「李四」。
访问属性
夫「人」之「總數」。 // 静态属性
夫「張三」之「姓名」。 // 实例属性
继承
吾有一物繼「人」。名之曰「學生」。其物如是。
物之造者術。
是術曰。
施父之造。 // 调用父类构造函数
夫三名之曰己之「學校」。
是謂造之術也。
是謂「學生」之物也。
数组操作
创建与填充
吾有一列。名之曰「甲」。
充其以一以二以三。 // [1, 2, 3]
合并
吾有一列。充其以四以五。名之曰「乙」。
銜其以「甲」。 // [4, 5, 1, 2, 3]
访问与修改
夫「甲」之一。 // 访问第一个元素(索引从 1 开始)
昔之「甲」之一者。今十是矣。 // 修改第一个元素为 10
长度
夫「甲」之長。 // 获取数组长度
导入
导入整个包
吾嘗觀「數學」之書。
导入特定成员
吾嘗觀「數學」之書。方悟「加法」「減法」之義。
导入并命名
吾嘗觀「數學」之書。名之曰「算術」。
注释
注曰「「这是单行注释」」
疏曰「「这也是注释」」
書一 批曰「「行内注释」」
类型转换
自动转换
数值转字符串
加三以「「歲」」。 // 「「三歲」」
字符串转数值
加「「三」」以一。 // 4(如果可能)
数值转布尔
或零以陽。 // true(0 转为 false,非 0 转为 true)
布尔转数值
加陽以一。 // 1 + 1 = 2
特殊语法
结果堆栈操作
夫一。夫二。夫三。
取三以施「函」。 // 使用堆栈中的三个值作为参数
多变量命名
有數十三。夫十五。名之曰「甲」曰「乙」。
声明并立即使用
吾有一數 曰三。書之。
连续赋值
夫三。予之以「甲」。予之以「乙」。予之以「丙」。
// 甲 = 乙 = 丙 = 3
常见习语
交换变量
有數十三。名之曰「甲」。
有數七。名之曰「乙」。
夫「甲」。名之曰「暫」。
夫「乙」。昔之「甲」者 今其是矣。
夫「暫」。昔之「乙」者 今其是矣。
累加器
吾有一數。曰零。名之曰「和」。
為是十遍。
加「和」以其。昔之「和」者 今其是矣。
云云。
计数器
吾有一數。曰零。名之曰「計數」。
凡「列」中之「元」。
加「計數」以一。昔之「計數」者 今其是矣。
云云。
查找最大值
凡「列」中之「元」。
若「元」大於「最大」者。
昔之「最大」者 今「元」是矣。
云云。
云云。