Skip to content

Commit 984488d

Browse files
author
magiclu550
committed
位經
1 parent 82784e4 commit 984488d

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

start/compiler.groovy

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import cn.wenyan.compiler.WenYanTools
21

3-
def func = WenYanTools.makeCompiler
4-
def javaClass = compiler.compileToClass("HelloWorld","吾有一言,曰『问天地好在』,書之。")
5-
javaClass.getDeclaredMethod("run").invoke(javaClass.newInstance())
2+
3+
def x = {x-> x+1}(1)
4+
println(x)

stdlib/位經.wy

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
今有一術。名之曰「左移」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
2+
吾有一術。名之曰
3+
施「{x,y -> x<<y}」於「甲」。於「乙」。名之曰「丙」。乃得「丙」。
4+
是謂「左移」之術也。
5+
6+
今有一術。名之曰「右移」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
7+
施「{x,y -> x>>y}」於「甲」。於「乙」。名之曰「丙」。乃得「丙」。
8+
是謂「右移」之術也。
9+
10+
今有一術。名之曰「補零右移」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
11+
施「{x,y-> (x % 0x100000000) >> y}」於「甲」。於「乙」。名之曰「丙」。乃得「丙」。
12+
是謂「補零右移」之術也。
13+
14+
今有一術。名之曰「位与」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
15+
施「{x,y-> x&y}」於「甲」。於「乙」。名之曰「丙」。乃得「丙」。
16+
是謂「位与」之術也。
17+
18+
今有一術。名之曰「位或」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
19+
施「{x,y -> x|y}」於「甲」。於「乙」。名之曰「丙」。乃得「丙」。
20+
是謂「位或」之術也。
21+
22+
今有一術。名之曰「异或」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
23+
施「{x,y -> x^y}」於「甲」。於「乙」。名之曰「丙」。乃得「丙」。
24+
是謂「异或」之術也。
25+
26+
今有一術。名之曰「与非」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
27+
施「{x,y-> ~(x&y)}」於「甲」。於「乙」。名之曰「丙」。乃得「丙」。
28+
是謂「与非」之術也。
29+
30+
今有一術。名之曰「位變」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
31+
施「{x-> ~x}」於「甲」。名之曰「乙」。乃得「乙」。
32+
是謂「位變」之術也。

0 commit comments

Comments
 (0)