@@ -33,151 +33,6 @@ final Map<Language,Map<String,String>> libs = [
33
33
7 . 关于项目开启的原因可以参见 [ #411 ] ( https://github.com/LingDong-/wenyan-lang/issues/411 )
34
34
8 . 本项目的目标语言是groovy,以实现动态语言,主要是为了实现` wenyan ` 可以调用java相关类库(并尽量确保js版本的wy文件),以实现在虚拟机运行。
35
35
9 . 对于文渊阁的支持,只需要在项目的src执行wyg i 名称即可。编译器提供了相关参数实现文渊阁的编译
36
- 10 .
37
-
38
- > 对于部分不兼容的特性
39
-
40
- PS: 由于一些代码按照js特性去实现的,很多特性我都是通过语法糖暴力实现。但这些我确实无力去实现了
41
-
42
- 1 . 对于函数调用,如果是闭包函数,请先` 吾有一術。名之曰「xx」。 ` 定义,这样才能确保前面的函数调用后面实现的函数
43
-
44
- ``` wenyan
45
- 今有一術。名之曰「包渾沌」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
46
- 吾有一言。曰「「 」」名之曰「挪符」。
47
- 吾有一言。曰「「\n」」名之曰「抬符」。
48
- 吾有一術。名之曰「包數」。
49
- 吾有一術。名之曰「暗包渾沌」。
50
- 吾有一術。名之曰「包列」。
51
- 吾有一術。名之曰「包物」。
52
- 吾有一術。名之曰「包數」。欲行是術。必先得一數曰「甲」。乃行是術曰。
53
- 吾有一言。名之曰「正負」。
54
- 若「甲」小於零者。
55
- 乘「甲」以負一。昔之「甲」者。今其是矣。
56
- 昔之「正負」者。今「「負」」是矣。
57
- 云云。
58
- 除「甲」以一。所餘幾何。名之曰「小數」
59
- 減「小數」於「甲」。名之曰「整數」。
60
- 吾有二言。名之曰「小」曰「整」。
61
- 恆為是。若「整數」不大於零者乃止也。
62
- 除「整數」以十。所餘幾何。名之曰「位」。
63
- 加「位」以一。夫「位名」之其。加其以「整」。昔之「整」者。今其是矣。
64
- 減「整數」以「位」。除其以十。昔之「整數」者。今其是矣。
65
- 云云。
66
- 恆為是。若「小數」不大於零者乃止也。
67
- 乘「小數」以十。昔之「小數」者。今其是矣。
68
- 除「小數」以一。所餘幾何。名之曰「位」。
69
- 加「位」以一。夫「位名」之其。加其於「小」。昔之「小」者。今其是矣。
70
- 減「小數」以「位」。昔之「小數」者。今其是矣。
71
- 云云。
72
- 加「正負」以「整」。昔之「整」者。今其是矣。
73
- 夫「小」之長。若其然者。
74
- 加「整」以「「·」」。加其以「小」。乃得矣。
75
- 云云。
76
- 乃得「整」。
77
- 是謂「包數」之術也。
78
-
79
- 吾有一術。名之曰「暗包渾沌」。欲行是術。必先得一言曰「類」。一元曰「實」。一數曰「挪抬」。乃行是術曰。
80
- 吾有一言。名之曰「渾沌語」。
81
- 若「類」等於「「物」」者。
82
- 加「渾沌語」以「抬符」昔之「渾沌語」者。今其是矣。
83
- 夫「實」。加「挪抬」以一。取二以施「包物」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
84
- 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
85
- 加「渾沌語」以「「也」」加其以「抬符」。昔之「渾沌語」者。今其是矣。
86
-
87
- 或若「類」等於「「列」」者。
88
- 加「渾沌語」以「抬符」昔之「渾沌語」者。今其是矣。
89
- 夫「實」。加「挪抬」以一。取二以施「包列」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
90
- 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
91
- 加「渾沌語」以「「也」」加其以「抬符」。昔之「渾沌語」者。今其是矣。
92
-
93
- 或若「類」等於「「言」」者。
94
- 加「渾沌語」以「引起」加其以「實」加其以「引迄」。加其以「抬符」昔之「渾沌語」者。今其是矣。
95
- 或若「類」等於「「爻」」者。
96
- 吾有一言。曰「「陽」」。名之曰「爻名」
97
- 夫「實」。若其不然者。昔之「爻名」者。今「「陰」」是矣也。
98
- 加「渾沌語」以「引起」加其以「爻名」加其以「引迄」。加其以「抬符」昔之「渾沌語」者。今其是矣。
99
- 或若「類」等於「「數」」者。
100
- 施「包數」於「實」。名之曰「數名」。
101
- 加「渾沌語」以「引起」加其以「數名」加其以「引迄」。加其以「抬符」昔之「渾沌語」者。今其是矣。
102
- 云云。
103
- 乃得「渾沌語」
104
- 是謂「暗包渾沌」之術也。
105
-
106
- 吾有一術。名之曰「包列」。欲行是術。必先得一物曰「渾沌列」。一數曰「挪抬」。乃行是術曰。
107
- 吾有一言。名之曰「渾沌語」。
108
- 凡「渾沌列」中之「實」
109
- 施「識類」於「實」。名之曰「類」。
110
-
111
- 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
112
- 加「渾沌語」以「類」。
113
- 昔之「渾沌語」者。今其是矣。
114
-
115
- 施「暗包渾沌」於「類」於「實」於「挪抬」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
116
- 云云。
117
- 乃得「渾沌語」
118
- 是謂「包列」之術也。
119
-
120
- 吾有一術。名之曰「包物」。欲行是術。必先得一物曰「渾沌物」。一數曰「挪抬」。乃行是術曰。
121
-
122
- 吾有一言。名之曰「渾沌語」。
123
-
124
- 施「列物之端」於「渾沌物」。名之曰「諸端」。
125
-
126
- 凡「諸端」中之「端」
127
- 施「取物」於「渾沌物」於「端」。名之曰「實」。
128
- 施「識類」於「實」。名之曰「類」。
129
-
130
- 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
131
- 加「渾沌語」以「「之」」。加其以「引起」。加其以「端」。加其以「引迄」。加其以「類」。
132
- 昔之「渾沌語」者。今其是矣。
133
-
134
- 施「暗包渾沌」於「類」於「實」於「挪抬」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
135
- 云云。
136
- 乃得「渾沌語」
137
- 是謂「包物」之術也。
138
-
139
- 施「包物」於「渾沌物」於一。名之曰「餛飩語」。
140
- 加「抬符」以「餛飩語」。加其於「「物」」。加其以「「也」」。乃得矣。
141
- 是謂「包渾沌」之術也。
142
-
143
- ```
144
-
145
- 2 . 下一级定义域重新定义上一级已经定义的变量
146
-
147
- ``` javascript
148
- var 甲 = 1 ;
149
- var 乙 = 1 ;
150
- for (var _rand1 = 0 ; _rand1 < 試; _rand1++ ) {
151
- var _ans1 = 甲 * 甲;
152
- var 乙 = _ans1;
153
- var _ans2 = 乙 - 2 ;
154
- var 乙 = _ans2;
155
- var _ans3 = 甲 * 2 ;
156
- var 丙 = _ans3;
157
- var _ans4 = 乙 / 丙;
158
- var 茂 = _ans4;
159
- var _ans5 = 甲 - 茂;
160
- var 甲 = _ans5;
161
- };
162
-
163
- ```
164
-
165
- 3 . 对于第一级的函数是无法引用的,如果要引用,也是有办法
166
-
167
- ``` wenyan
168
- 今有一術。名之曰「包渾沌1」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
169
- ....
170
- 是謂「包渾沌1」之術也。
171
-
172
- 今有一術。名之曰「包渾沌」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
173
- 今有一術。名之曰「包渾沌3」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
174
- 施「包渾沌1」於「渾沌物」
175
- 是謂「包渾沌」之術也。
176
- 是謂「包渾沌」之術也。
177
-
178
- ```
179
-
180
- 这样通过引用包混沌3即可,由于语言特性的限制,对于第一级函数的引用我正在研究
181
36
182
37
183
38
> 相关链接
@@ -379,6 +234,8 @@ var 甲 = 1;
379
234
380
235
-lv: 分詞可視化
381
236
237
+ -st: 开启强类型编译
238
+
382
239
> 直接加载文言文脚本
383
240
384
241
``` groovy
@@ -403,4 +260,149 @@ javaClass.getDeclaredMethod("run").invoke(javaClass.newInstance())
403
260
404
261
1 . 编译器将wy文件编译为class字节码文件
405
262
2 . 将class字节码文件打包为jar包
406
- 3 . 通过编译器-l导入进去即可
263
+ 3 . 通过编译器-l导入进去即可
264
+
265
+ > 对于部分不兼容的特性
266
+
267
+ PS: 由于一些代码按照js特性去实现的,很多特性我都是通过语法糖暴力实现。但这些我确实无力去实现了
268
+
269
+ 1 . 对于函数调用,如果是闭包函数,请先` 吾有一術。名之曰「xx」。 ` 定义,这样才能确保前面的函数调用后面实现的函数
270
+
271
+ ``` wenyan
272
+ 今有一術。名之曰「包渾沌」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
273
+ 吾有一言。曰「「 」」名之曰「挪符」。
274
+ 吾有一言。曰「「\n」」名之曰「抬符」。
275
+ 吾有一術。名之曰「包數」。
276
+ 吾有一術。名之曰「暗包渾沌」。
277
+ 吾有一術。名之曰「包列」。
278
+ 吾有一術。名之曰「包物」。
279
+ 吾有一術。名之曰「包數」。欲行是術。必先得一數曰「甲」。乃行是術曰。
280
+ 吾有一言。名之曰「正負」。
281
+ 若「甲」小於零者。
282
+ 乘「甲」以負一。昔之「甲」者。今其是矣。
283
+ 昔之「正負」者。今「「負」」是矣。
284
+ 云云。
285
+ 除「甲」以一。所餘幾何。名之曰「小數」
286
+ 減「小數」於「甲」。名之曰「整數」。
287
+ 吾有二言。名之曰「小」曰「整」。
288
+ 恆為是。若「整數」不大於零者乃止也。
289
+ 除「整數」以十。所餘幾何。名之曰「位」。
290
+ 加「位」以一。夫「位名」之其。加其以「整」。昔之「整」者。今其是矣。
291
+ 減「整數」以「位」。除其以十。昔之「整數」者。今其是矣。
292
+ 云云。
293
+ 恆為是。若「小數」不大於零者乃止也。
294
+ 乘「小數」以十。昔之「小數」者。今其是矣。
295
+ 除「小數」以一。所餘幾何。名之曰「位」。
296
+ 加「位」以一。夫「位名」之其。加其於「小」。昔之「小」者。今其是矣。
297
+ 減「小數」以「位」。昔之「小數」者。今其是矣。
298
+ 云云。
299
+ 加「正負」以「整」。昔之「整」者。今其是矣。
300
+ 夫「小」之長。若其然者。
301
+ 加「整」以「「·」」。加其以「小」。乃得矣。
302
+ 云云。
303
+ 乃得「整」。
304
+ 是謂「包數」之術也。
305
+
306
+ 吾有一術。名之曰「暗包渾沌」。欲行是術。必先得一言曰「類」。一元曰「實」。一數曰「挪抬」。乃行是術曰。
307
+ 吾有一言。名之曰「渾沌語」。
308
+ 若「類」等於「「物」」者。
309
+ 加「渾沌語」以「抬符」昔之「渾沌語」者。今其是矣。
310
+ 夫「實」。加「挪抬」以一。取二以施「包物」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
311
+ 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
312
+ 加「渾沌語」以「「也」」加其以「抬符」。昔之「渾沌語」者。今其是矣。
313
+
314
+ 或若「類」等於「「列」」者。
315
+ 加「渾沌語」以「抬符」昔之「渾沌語」者。今其是矣。
316
+ 夫「實」。加「挪抬」以一。取二以施「包列」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
317
+ 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
318
+ 加「渾沌語」以「「也」」加其以「抬符」。昔之「渾沌語」者。今其是矣。
319
+
320
+ 或若「類」等於「「言」」者。
321
+ 加「渾沌語」以「引起」加其以「實」加其以「引迄」。加其以「抬符」昔之「渾沌語」者。今其是矣。
322
+ 或若「類」等於「「爻」」者。
323
+ 吾有一言。曰「「陽」」。名之曰「爻名」
324
+ 夫「實」。若其不然者。昔之「爻名」者。今「「陰」」是矣也。
325
+ 加「渾沌語」以「引起」加其以「爻名」加其以「引迄」。加其以「抬符」昔之「渾沌語」者。今其是矣。
326
+ 或若「類」等於「「數」」者。
327
+ 施「包數」於「實」。名之曰「數名」。
328
+ 加「渾沌語」以「引起」加其以「數名」加其以「引迄」。加其以「抬符」昔之「渾沌語」者。今其是矣。
329
+ 云云。
330
+ 乃得「渾沌語」
331
+ 是謂「暗包渾沌」之術也。
332
+
333
+ 吾有一術。名之曰「包列」。欲行是術。必先得一物曰「渾沌列」。一數曰「挪抬」。乃行是術曰。
334
+ 吾有一言。名之曰「渾沌語」。
335
+ 凡「渾沌列」中之「實」
336
+ 施「識類」於「實」。名之曰「類」。
337
+
338
+ 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
339
+ 加「渾沌語」以「類」。
340
+ 昔之「渾沌語」者。今其是矣。
341
+
342
+ 施「暗包渾沌」於「類」於「實」於「挪抬」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
343
+ 云云。
344
+ 乃得「渾沌語」
345
+ 是謂「包列」之術也。
346
+
347
+ 吾有一術。名之曰「包物」。欲行是術。必先得一物曰「渾沌物」。一數曰「挪抬」。乃行是術曰。
348
+
349
+ 吾有一言。名之曰「渾沌語」。
350
+
351
+ 施「列物之端」於「渾沌物」。名之曰「諸端」。
352
+
353
+ 凡「諸端」中之「端」
354
+ 施「取物」於「渾沌物」於「端」。名之曰「實」。
355
+ 施「識類」於「實」。名之曰「類」。
356
+
357
+ 為是「挪抬」遍。加「渾沌語」以「挪符」。昔之「渾沌語」者。今其是矣也。
358
+ 加「渾沌語」以「「之」」。加其以「引起」。加其以「端」。加其以「引迄」。加其以「類」。
359
+ 昔之「渾沌語」者。今其是矣。
360
+
361
+ 施「暗包渾沌」於「類」於「實」於「挪抬」。加其於「渾沌語」。昔之「渾沌語」者。今其是矣。
362
+ 云云。
363
+ 乃得「渾沌語」
364
+ 是謂「包物」之術也。
365
+
366
+ 施「包物」於「渾沌物」於一。名之曰「餛飩語」。
367
+ 加「抬符」以「餛飩語」。加其於「「物」」。加其以「「也」」。乃得矣。
368
+ 是謂「包渾沌」之術也。
369
+
370
+ ```
371
+
372
+ 2 . 下一级定义域重新定义上一级已经定义的变量
373
+
374
+ ``` javascript
375
+ var 甲 = 1 ;
376
+ var 乙 = 1 ;
377
+ for (var _rand1 = 0 ; _rand1 < 試; _rand1++ ) {
378
+ var _ans1 = 甲 * 甲;
379
+ var 乙 = _ans1;
380
+ var _ans2 = 乙 - 2 ;
381
+ var 乙 = _ans2;
382
+ var _ans3 = 甲 * 2 ;
383
+ var 丙 = _ans3;
384
+ var _ans4 = 乙 / 丙;
385
+ var 茂 = _ans4;
386
+ var _ans5 = 甲 - 茂;
387
+ var 甲 = _ans5;
388
+ };
389
+
390
+ ```
391
+
392
+ 3 . 对于第一级的函数是无法引用的,如果要引用,也是有办法
393
+
394
+ ``` wenyan
395
+ 今有一術。名之曰「包渾沌1」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
396
+ ....
397
+ 是謂「包渾沌1」之術也。
398
+
399
+ 今有一術。名之曰「包渾沌」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
400
+ 今有一術。名之曰「包渾沌3」。欲行是術。必先得一物。曰「渾沌物」。乃行是術曰。
401
+ 施「包渾沌1」於「渾沌物」
402
+ 是謂「包渾沌」之術也。
403
+ 是謂「包渾沌」之術也。
404
+
405
+ ```
406
+
407
+ 这样通过引用包混沌3即可,由于语言特性的限制,对于第一级函数的引用我正在研究
408
+
0 commit comments