# 逍遥言
## 中文编程语言,自然语言编程。
中华上下五千年,创建了不朽的物质文明和精神文明。无数的文人墨客给我们留下了无尽的精神财富。
从诗经到现代诗歌,从先秦散文到现代散文。我们每个人都深深浸润其中,被其感染,被其塑造。
文言文作为一种文体,创造了没有标点符号,也可以被人们识读的奇迹。我们通过研究总结它的句法和词汇,
发现了她在现代人工计算机语言领域里极大的用处。借助它可以形成近乎自然语言的计算机语言。
我们尤其注意到庄子的《逍遥游》。在《逍遥游》里,庄子已经给我们展示了面向对象的思想和语法形式。
我们做一些简单的对比和分析,阐明文言文和形式语言的区别和联系。
1.北冥有鱼,其名为鲲。
“北冥”是命名空间。“鱼”是基类。“鲲”是类。句法:……有……,其名为……。
简化为: ……有……曰…… 。这样的句法符合形式语言的识别要求。且具有可读性。
2.(怒而飞,)其翼若垂天之云。(有鱼焉,)其广数千里。
“翼”和“广”是属性,用“为”将其变为肯定描述。则形式语言为:其……为……。这就是属性的句法。
3.怒而飞(,其翼若垂天之云。)
“飞”是方法,“怒”是参数。则形式语言为:……而……,简化或调整为:以……而/来……
4.定乎内外之分,辩乎荣辱之境,斯已矣。
“辩乎”就是分辨和选择,相当于“Select”,则形式语言为:辩乎【变量】。其为[值]。…… 如斯。
#### 选字(语法)原则
既不一味拟古,也不怕返古。关键字既要有一定的使用频率,又不至于挤占标识符的可用空间。由于是无空格设计,语法格式不得不使用大量虚词,还得使用一部分标点符号。标点符号尽量按汉语的使用方法使用,且尽可能使用常用标点符号即:句号、逗号、顿号、冒号、引号、叹号、问号、括号、省略号、书名号。括号主要有方头括号【】、方括号[]、六角括号〔〕。
语法要尽量保证能形成通顺的句子,且形式简单。结合汉语特点,将会使用不少短句。
### 命名空间、类、属性、方法的定义
我们先说一下逍遥言的注释格式,在下面的叙述中也使用该方式来区分代码和注释。注释的一般格式为:
注:注释内容
。。。
注:命名空间的导入
[VB.Net] Imports P=Phoenix.Parser , D= Phoenix.Data
[逍遥言] 徕……曰……,……曰……。
。。。
徕【命名空间】曰【别名】,【命名空间2】曰【别名2】。
注:命名空间的定义。
[VB.Net] Namespace Phoenix
[逍遥言] 彼……
类的定义。
[VB.Net]Class …… ... End Class
[逍遥言]有类曰……。... 此……也。
类的分部定义。
[VB.Net]Partial Class …… ... End Class
[逍遥言]有类曰……。... 此……也,其一也。
[逍遥言]亦/又有类曰……。... 此……也。
基类继承的定义。
[VB.Net]Inherits BaseClass
[逍遥言]承……。
[逍遥言]有【基类名】曰【类名】。
接口实现的定义。
[VB.Net]Implements Interface
[逍遥言]合……。
。。。
彼【命名空间】有类曰【类名】,承【命名空间】之【基类】,合【命名空间】之【接口】。
注:特性的应用。
[VB.Net]<Atrribute(p1,p2)>
[逍遥言] 具/属……,以……、……为始。
[逍遥言] 属……、……之[属]。
。。。
具【特性】,以【实参】为始。
注:字段的声明。
[VB.Net]public field as string
[逍遥言] 其……为|若……,知|享于……。
。。。
其【字段】为【甲类】,知于世。
注:属性的声明。
[VB.Net]Public Property Prop As String
Get
Return _prop
End Get
Set(value As String)
_prop = value
End Set
End Property
[逍遥言]其……为……,知|享于……。
访焉。
……。
此访也。
志焉,……作|系……。
……。
此志也。
此……也。
。。。
其【属性】为【甲类】,知于世。
访焉。
……。
归兮以……。
此访也。
志焉,【甲】系【甲类】。
……。
此志也。
此【属性】也。
注:构造函数的声明。
[VB.Net]Public sub New(ByVal p As String) …… end sub
[逍遥言] 以……作|系(当|为|做)……而始,知于……。 (ByVal——作,ByRef——系)
……。
此始也。
。。。
以【形参乙】作【乙类】而始,知于世。
……。
此始也。
注:方法的声明。
[VB.Net]Public sub Method(ByVal p As String) …… end sub
[逍遥言] 以……作|系(当|为|做)……、……作|系(当|为|做)……而|来……,得|为……,知于……。 (ByVal——作,ByRef——系)
……。
此……也。
。。。
以【形参丙】作【丙类】、【形参丁】作【丁类】而【方法】,得【返回类】,知于世。
……。
归兮以【结果】。
此【方法】也。
注:含类型参数的方法的声明。
[VB.Net]Public sub Method(of T)(ByVal p As String) …… end sub
[逍遥言] 以……作|系(当|为|做)……、……作|系(当|为|做)……就……而|来……,得|为……,知于……。 (ByVal——作,ByRef——系)
……。
此……也。
。。。
以【形参丙】作【丙类】、【形参丁】作【丁类】就【戊类】而【方法】,得【返回类】,知于世。
……。
归兮以【结果】。
此【方法】也。
此【类名】也。
#### 类及其属性和方法的使用
1. 类的实例化
今【类】者【实例】,以【参数】为始。
令【实例】为【类】,以【参数】为始。
2. 方法的使用
【实例】以【实参】而【方法】。
【实例】之【方法】以【实参】。
【鲲鱼】以【正】而【化】,后【怒】而【飞】,后【图南】。
【鲲鱼】之【化】以【正】,后【飞】以【怒】,后【图南】。
3. 属性的使用
【实例】之【属性】为【值】。 (赋值)
【变量】为【实例 】之【属性】。(读取)
4. 内部使用
兹以【实参】而【方法】。
兹【方法】以【实参】。
【属性】为【值】。
【值】为【属性】。
#### 变量定义和赋值
1.以【值】为【变量】。
以【五百岁】为【春】。
以【五百岁】为【秋】。
2.置【变量】为【值】。
置【春】为【五百岁】。
置【秋】为【五百岁】。
3.令【值】入【变量】。
令【五百岁】入【春】。
#### 事件定义和使用。
注:事件的声明。
[VB.Net]Public Event SendMsg(ByVal Msg As String, ByVal State As String)
[逍遥言] 蕴……,……作|系(为|做)……。 (ByVal——作,ByRef——系)
。。。
蕴【事件】,【形参】作【类名】、【形参】作【类名】。
注:事件处理的加入。
[VB.Net] AddHandler EnventName, AddressOf SomeMethod
[逍遥言]遇……,则……。
。。。
遇【事件】,则【方法】。
注:事件处理的静态加入。
[VB.Net] SomeMethod() Handle EnventName
[逍遥言] 【方法】响应【事件】。
。。。
【方法】响应【事件】
注:事件处理的移除。
[VB.Net] RemoveHandler EnventName, AddressOf SomeMethod
[逍遥言] 逸……,则……。
[逍遥言] 释……于……。
。。。
注:事件的引发。
[VB.Net] RaiseEvent EnventName(sender,e)
[逍遥言] 引/发/出……以……。
。。。
引/发/出【事件】以【实参】。
注:自定义事件。
[VB.Net] Public Custom Event Click As EventHandler
AddHandler(ByVal value As EventHandler)
EventHandlerList.Add(value)
End AddHandler
RemoveHandler(ByVal value As EventHandler)
EventHandlerList.Remove(value)
End RemoveHandler
RaiseEvent(ByVal sender As Object, ByVal e As EventArgs)
handler.BeginInvoke(sender, e, Nothing, Nothing)
End RaiseEvent
End Event
[逍遥言] 蕴……,……作|系(为|做)……。 (ByVal——作,ByRef——系)
遇焉,……作|系……。
……。
此遇也。
释焉,……作|系……。
……。
此释也。
发焉,……作|系……。
……。
此发也。
此……也。
。。。
蕴【事件】,【形参】作【类名】、【形参】作【类名】。
遇焉,【形参】作【类名】。
……。
此遇也。
释焉,【形参】作【类名】。
……。
此释也。
发焉,【形参】作【类名】、【形参】作【类名】。
……。
此发也。
此【事件】也。
### 流程控制语句
```
1. 条件语句(IF)。
注:[VB.NET]
if …… then
elseif …… then
else …… then
end if
。。。
若[甲]大于[乙],则
……。
至若[春和景明],则
……。
否则,
……。
如斯。
2. 选择语句(辨别语句)(Select)。
注:[VB.NET]
Select Case i
Case 0
……
Case 1
……
Case Else
……
End Select
。。。
辨乎【变量】。
其为[1],
……。
其为[2],
……。
其为[混沌],
……。
如斯。
3. 要件(当)语句。
注:[VB.NET]
While i
……
End While
。。。
当【甲】大于【乙】,就
……。
如斯。
4. (循环)往复语句。
注:[VB.NET]
for i = 1 to 3 step 1
……
Next
。。。
复乎【变量】,以[一]为始,以[三]为止,以[一]为步。
……。
如斯。
复乎【变量】,始于[一],止于[三],步作[一]。
……。
如斯。
复乎【变量】,从[一]至[三],步作[一]。
……。
如斯。
注:[C]
for(i = 1,i<n ,i++){
……
}
。。。
复乎【变量】,若... ,则... 。
……。
如斯。
5. 枚举语句。
注:[VB.NET]
for each i in s
……
Next
。。。
各【集合】之【元素】。
……。
如斯。
各【元素】于【集合】。
……。
如斯。
凡【集合】中【元素】。
……。
如斯。
6. 查获语句。
注:[VB.NET]
try
Catch ex As Exception
Finally
End Try
。。。
候兮(候人兮猗)。
……。
至兮,【谬误】作【误】。
……。
终兮。
……。
如斯。
察兮(候人兮猗)。
……。
获兮,【谬误】作【误】。
……。
终兮。
……。
如斯。
7. 自然陈述。
夫主语:参数(参数名)【谓语】参数(参数名),为结果:……。
例如:[VB.Net]甲.移动(A,B)。
[逍遥言]甲以A、B而移动。等价于:夫甲,〔从〕A(起始点)【移动】〔到〕B(终止点)。
8. 返回(return)。
归来兮以……。
归兮以……。
9. 继续(continue)。
跃兮。
10.退出(exit)。
出兮。
11. 补充语句。
用六角括号〔〕,相当于句中注释。
12.结束语。
任何段结束语都可以用三个句号(。。。)。即三个句号等价于如斯、此也。
13.意群。
意群是可以被折叠的一个符号,语法为:意群:...。此意群也。(。。。)
14.别名。
云...。
15.成员访问。
之、兮。如:【实例】之【属性】、实例之方法、实例兮方法。
16.异步执行。
另、偕、异...。(等同于async)
候...。(等同于await)
偕同,偕行,并行
```
### 隐型类
隐者,其属性1(类型)为值1、属性2(类型2)为值2。
### 隐函数(λ表达式)
隐者甲、乙、丙、丁:...。。。
异步隐函数为异者甲、乙、丙、丁:...。。。
令【变量】为隐者甲、乙、丙、丁:归兮以“甲乙丙丁之和”。
### 盟(委托delegate)
盟曰【盟名】,以【参数列表】,知于世。
### 算术运算。
假设变量A为2,变量B为5,则:
| 符号 | 符号 |运算 | 结果名称 | 例子 |
|------|-------|-------------|------------|----------------|
| + | + | 加 | 和 | |
| - | - | 减 | 差 | |
| * | × | 乘 | 积 | |
| / | ÷ | 除 | 商 | 2除5,商为2.5 |
| // | ∥ | 整除(切) | 匝 | 2切5,匝为2 |
| % | % | 求余(析) | 余 | 2析5,余为1 |
| ** | ^ | 次方(晋) | 幂 | 2晋5,幂为25 |
| | ※ | 厽 | 垚 | |
| | ⊙ | 猋 | 射 | |
| | ◎ | 惢 | 垂 | |
### 复合算术运算。
自加:【变量】添[一]。
自减:【变量】去[一]。
计入:【甲】入【乙】。
### 移位运算。
| 符号 | 符号 |运算 | 结果名称 | 例子 |
|------|--------------|-------------|-------------|----------------|
| >> | 右移 | 右移位 | | |
| << | 左移 | 左移位 | | |
### 字符串运算。
| 符号 | 符号 |运算 | 结果名称 | 例子 |
|------|---------|-------------|------------|----------------|
| + | 连接 | 连接 | | |
| - | 移除 | 移除 | | |
| * | 乘积 | 乘积 | | |
| ** | 重复 | 重复 | | |
### 比较运算。
| 符号 | 符号 |运算 | 结果名称 | 例子 |
|------|--------------|-------------|-------------|----------------|
| > | 大于/逾 | 大于 | | |
| >= | 不小于/浮于 | 大于等于 | | |
| = | 等于 | 等于 | | |
| < | 小于/近 | 小于 | | |
| <= | 不大于/奀于 | 小于等于 | | |
| <> | 不等于 | 不等于 | | |
### 逻辑运算符。
| 符号 | 符号 |运算 | 结果名称 | 例子 |
|------|---------|-------------|------------|----------------|
| I | 或 | 或 | 或者 | |
| ~ | 非/弗 | 非 | 非者 | |
| & | 且 | 与 | 且者 | |
| /\ | 异于 | 异或 | 异者 | |
| == | 同于 | 同 | 同者 | |
### 集合元素访问。
按序号:【集合】之[序号]者。 【集合】[序号]
按名称:【集合】之[名称]者。 【集合】[名称]
例如:花之[一]者为花之[隐逸]者。
### 字典定义。
键名类型、键值类型之字典。
例如:令甲为文本、数字之字典。
### 字面量(定值)表示法。
所有字面量均置于中括号[]中。
数值类型:[1]、[2]、[135]、[一]、[二]、[一百三十五]、[壹]、[贰]、[壹佰叁拾伍]。
文本类型:['1]、['2]、['135] 、[文本]、[中文编程语言] 。
插值:将变量A插入文本中。[这是“A”]。
#### 字面量和变量的区别
可以理解为:变量就是一个盒子,可以装入不同的东西(字面量)。所以字量用中括号可以形象的表达这种含义。
### 公开性、共享性、继承性、可变性、虚拟性
公开性:世,族(继承关系的),邻(程序文件),本/斯/己/独(以类为基本参照),时/兹(本地)。
共享性:知于(不共享),享于(共享)。
类的继承性:需(可/勿)袭(遵、循)。
方法的继承性:需(可/勿/重/新)现。
可变性:从一而终。固定不变。不更。弌也。壹也。不二。不贰。恒、常、变、静。
虚拟性:传说
### 特定概念和指示代词
特定概念:类、约(接口)、枝/株(结构)、盟(委托)、举/例/凡(枚举)。
特定概念:道、法。
近指代词:此、是、斯、兹、之、尔、若、然。
### 方法续接
链式调用:后【方法】。
### 引用
引用在语言学上是一种递归。汉语言文字里用引号来表明引用的内容。
本语言用的引号是中文引号:“”。其作用在于表明是一个整体,也表明是一个表达式。引号必须成对出现。例如:以“甲加乙〔之和〕”、“丙加丁〔之和〕”而乘。
### 标识符化
将保留字或者关键字用作标识符时称之为标识符化,这时需要将保留字或者关键字用方头括号“【】”括起来。普通标识符也可以用方头括号“【】”括起来。方头括号不属于标识符。
### 彼有约兮。
### 彼有论兮。在群QQ:33088--7407