bit2 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/src/common/Exp.d.ts +3 -3
- package/dist/src/core/AST.d.ts +1 -1
- package/dist/src/fuse/Update.d.ts +1 -1
- package/dist/src/lambda/AST.d.ts +2 -2
- package/dist/src/partial/AST.d.ts +5 -4
- package/dist/src/surface/AST.d.ts +4 -4
- package/package.json +8 -4
- package/dist/bit2.js +0 -1
- package/dist/src/bx/biEval.js +0 -59
- package/dist/src/bx/biEval.js.map +0 -1
- package/dist/src/common/Exp.js +0 -44
- package/dist/src/common/Exp.js.map +0 -1
- package/dist/src/common/PrettyPrint.js +0 -32
- package/dist/src/common/PrettyPrint.js.map +0 -1
- package/dist/src/common/Print.js +0 -73
- package/dist/src/common/Print.js.map +0 -1
- package/dist/src/core/AST.js +0 -47
- package/dist/src/core/AST.js.map +0 -1
- package/dist/src/core/PrettyPrint.js +0 -64
- package/dist/src/core/PrettyPrint.js.map +0 -1
- package/dist/src/core/Print.js +0 -77
- package/dist/src/core/Print.js.map +0 -1
- package/dist/src/fuse/Fuse.js +0 -1436
- package/dist/src/fuse/Fuse.js.map +0 -1
- package/dist/src/fuse/Print.js +0 -22
- package/dist/src/fuse/Print.js.map +0 -1
- package/dist/src/fuse/Update.js +0 -3
- package/dist/src/fuse/Update.js.map +0 -1
- package/dist/src/lambda/AST.js +0 -3
- package/dist/src/lambda/AST.js.map +0 -1
- package/dist/src/lambda/Evaluation.js +0 -98
- package/dist/src/lambda/Evaluation.js.map +0 -1
- package/dist/src/lambda/Print.js +0 -31
- package/dist/src/lambda/Print.js.map +0 -1
- package/dist/src/lambdalize/lambdalize.js +0 -94
- package/dist/src/lambdalize/lambdalize.js.map +0 -1
- package/dist/src/lambdalize/unLambdalize.js +0 -59
- package/dist/src/lambdalize/unLambdalize.js.map +0 -1
- package/dist/src/partial/AST.js +0 -3
- package/dist/src/partial/AST.js.map +0 -1
- package/dist/src/partial/Print.js +0 -93
- package/dist/src/partial/Print.js.map +0 -1
- package/dist/src/partialEval/peval.js +0 -322
- package/dist/src/partialEval/peval.js.map +0 -1
- package/dist/src/partialEval/unpeval.js +0 -360
- package/dist/src/partialEval/unpeval.js.map +0 -1
- package/dist/src/surface/AST.js +0 -3
- package/dist/src/surface/AST.js.map +0 -1
- package/dist/src/surface/Parser.js +0 -314
- package/dist/src/surface/Parser.js.map +0 -1
- package/dist/src/translate/Translate.js +0 -91
- package/dist/src/translate/Translate.js.map +0 -1
- package/dist/src/utils/Utils.js +0 -7
- package/dist/src/utils/Utils.js.map +0 -1
- package/dist/test/bx/biEval.test.d.ts +0 -1
- package/dist/test/bx/biEval.test.js +0 -41
- package/dist/test/bx/biEval.test.js.map +0 -1
- package/dist/test/bx/test.d.ts +0 -1
- package/dist/test/bx/test.js +0 -29
- package/dist/test/bx/test.js.map +0 -1
- package/dist/test/core/0.simple.test.d.ts +0 -4
- package/dist/test/core/0.simple.test.js +0 -68
- package/dist/test/core/0.simple.test.js.map +0 -1
- package/dist/test/core/1.core.test.d.ts +0 -2
- package/dist/test/core/1.core.test.js +0 -30
- package/dist/test/core/1.core.test.js.map +0 -1
- package/dist/test/core/core.test.d.ts +0 -1
- package/dist/test/core/core.test.js +0 -28
- package/dist/test/core/core.test.js.map +0 -1
- package/dist/test/fuse/branchnop.test.d.ts +0 -1
- package/dist/test/fuse/branchnop.test.js +0 -47
- package/dist/test/fuse/branchnop.test.js.map +0 -1
- package/dist/test/fuse/bulk.test.d.ts +0 -1
- package/dist/test/fuse/bulk.test.js +0 -111
- package/dist/test/fuse/bulk.test.js.map +0 -1
- package/dist/test/fuse/const.test.d.ts +0 -1
- package/dist/test/fuse/const.test.js +0 -118
- package/dist/test/fuse/const.test.js.map +0 -1
- package/dist/test/fuse/exp.test.d.ts +0 -1
- package/dist/test/fuse/exp.test.js +0 -225
- package/dist/test/fuse/exp.test.js.map +0 -1
- package/dist/test/fuse/lambda.test.d.ts +0 -1
- package/dist/test/fuse/lambda.test.js +0 -139
- package/dist/test/fuse/lambda.test.js.map +0 -1
- package/dist/test/fuse/loop.test.d.ts +0 -1
- package/dist/test/fuse/loop.test.js +0 -39
- package/dist/test/fuse/loop.test.js.map +0 -1
- package/dist/test/fuse/seq.test.d.ts +0 -1
- package/dist/test/fuse/seq.test.js +0 -64
- package/dist/test/fuse/seq.test.js.map +0 -1
- package/dist/test/fuse/space.test.d.ts +0 -1
- package/dist/test/fuse/space.test.js +0 -136
- package/dist/test/fuse/space.test.js.map +0 -1
- package/dist/test/lambda/evaluation.test.d.ts +0 -1
- package/dist/test/lambda/evaluation.test.js +0 -24
- package/dist/test/lambda/evaluation.test.js.map +0 -1
- package/dist/test/lambda/lambda.test.d.ts +0 -1
- package/dist/test/lambda/lambda.test.js +0 -45
- package/dist/test/lambda/lambda.test.js.map +0 -1
- package/dist/test/lambdalize/lambdalize.test.d.ts +0 -1
- package/dist/test/lambdalize/lambdalize.test.js +0 -23
- package/dist/test/lambdalize/lambdalize.test.js.map +0 -1
- package/dist/test/lambdalize/unLambdalize.test.d.ts +0 -1
- package/dist/test/lambdalize/unLambdalize.test.js +0 -35
- package/dist/test/lambdalize/unLambdalize.test.js.map +0 -1
- package/dist/test/partial/partial.test.d.ts +0 -1
- package/dist/test/partial/partial.test.js +0 -35
- package/dist/test/partial/partial.test.js.map +0 -1
- package/dist/test/partialEval/peval.test.d.ts +0 -1
- package/dist/test/partialEval/peval.test.js +0 -29
- package/dist/test/partialEval/peval.test.js.map +0 -1
- package/dist/test/partialEval/unPeval.test.d.ts +0 -1
- package/dist/test/partialEval/unPeval.test.js +0 -40
- package/dist/test/partialEval/unPeval.test.js.map +0 -1
- package/dist/test/surface/AST.test.d.ts +0 -1
- package/dist/test/surface/AST.test.js +0 -41
- package/dist/test/surface/AST.test.js.map +0 -1
- package/dist/test/translate/translate.test.d.ts +0 -1
- package/dist/test/translate/translate.test.js +0 -45
- package/dist/test/translate/translate.test.js.map +0 -1
@@ -1,225 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const Print_1 = require("../../src/fuse/Print");
|
4
|
-
const Fuse_1 = require("../../src/fuse/Fuse");
|
5
|
-
const Print_2 = require("../../src/lambda/Print");
|
6
|
-
let env = {};
|
7
|
-
/**
|
8
|
-
* insert
|
9
|
-
*/
|
10
|
-
console.log('=============Insertion======================');
|
11
|
-
console.log('1. insert "Hello " at 0 |> exp(const("world!"))');
|
12
|
-
Fuse_1.fuse(env, { type: 'insert', str: "Hello ", position: 0 }, { type: 'exp', binding: [{ type: 'constant', value: "world!" }, "world!"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
13
|
-
console.log('------');
|
14
|
-
Print_2.printNode(newTerm);
|
15
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
16
|
-
});
|
17
|
-
console.log('===================================');
|
18
|
-
console.log('2. insert "Hello " at 0 |> exp(const(17))');
|
19
|
-
Fuse_1.fuse(env, { type: 'insert', str: "Hello ", position: 0 }, { type: 'exp', binding: [{ type: 'constant', value: 17 }, 17] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
20
|
-
console.log('------');
|
21
|
-
Print_2.printNode(newTerm);
|
22
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
23
|
-
});
|
24
|
-
console.log('===================================');
|
25
|
-
console.log('3. insert "Hello " at 0 |> exp(const(true))');
|
26
|
-
Fuse_1.fuse(env, { type: 'insert', str: "Hello ", position: 0 }, { type: 'exp', binding: [{ type: 'constant', value: true }, true] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
27
|
-
console.log('------');
|
28
|
-
Print_2.printNode(newTerm);
|
29
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
30
|
-
});
|
31
|
-
console.log('===================================');
|
32
|
-
console.log('4. insert " " at 5 |> exp(const("Helloworld!"))');
|
33
|
-
Fuse_1.fuse(env, { type: 'insert', str: " ", position: 5 }, { type: 'exp', binding: [{ type: 'constant', value: "Helloworld" }, "Helloworld"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
34
|
-
console.log('------');
|
35
|
-
Print_2.printNode(newTerm);
|
36
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
37
|
-
});
|
38
|
-
console.log('===================================');
|
39
|
-
console.log('4. insert "0" at 1 |> exp(const(15))');
|
40
|
-
Fuse_1.fuse(env, { type: 'insert', str: "0", position: 1 }, { type: 'exp', binding: [{ type: 'constant', value: 15 }, 15] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
41
|
-
console.log('------');
|
42
|
-
Print_2.printNode(newTerm);
|
43
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
44
|
-
});
|
45
|
-
console.log('===================================');
|
46
|
-
console.log('4. insert "0" at 2 |> exp(const(15))');
|
47
|
-
Fuse_1.fuse(env, { type: 'insert', str: "0", position: 2 }, { type: 'exp', binding: [{ type: 'constant', value: 15 }, 15] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
48
|
-
console.log('------');
|
49
|
-
Print_2.printNode(newTerm);
|
50
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
51
|
-
});
|
52
|
-
console.log('===================================');
|
53
|
-
console.log('4. insert "!" at 2 |> exp(const("Hi"))');
|
54
|
-
Fuse_1.fuse(env, { type: 'insert', str: "!", position: 2 }, { type: 'exp', binding: [{ type: 'constant', value: "Hi" }, "Hi"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
55
|
-
console.log('------');
|
56
|
-
Print_2.printNode(newTerm);
|
57
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
58
|
-
});
|
59
|
-
console.log('===================================');
|
60
|
-
console.log('4. insert "Mr.You" at 2 |> exp(const("Hi!"))');
|
61
|
-
Fuse_1.fuse(env, { type: 'insert', str: "Mr.You", position: 4 }, { type: 'exp', binding: [{ type: 'constant', value: "Hi!" }, "Hi!"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
62
|
-
console.log('------');
|
63
|
-
Print_2.printNode(newTerm);
|
64
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
65
|
-
});
|
66
|
-
/**
|
67
|
-
* replace
|
68
|
-
*/
|
69
|
-
console.log('=============Replacement======================');
|
70
|
-
console.log('1. replace "Hello" with "Hi" at 0 |> exp(const("Hello"))');
|
71
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "Hello", str2: "Hi", position: 0 }, { type: 'exp', binding: [{ type: 'constant', value: "Hello" }, "Hello"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
72
|
-
console.log('------');
|
73
|
-
Print_2.printNode(newTerm);
|
74
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
75
|
-
});
|
76
|
-
console.log('2. replace "Hello" with "Hi" at 0 |> exp(const("Hello, Mr.Bin")');
|
77
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "Hello", str2: "Hi", position: 0 }, { type: 'exp', binding: [{ type: 'constant', value: "Hello, Mr.Bin" }, "Hello, Mr.Bin"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
78
|
-
console.log('------');
|
79
|
-
Print_2.printNode(newTerm);
|
80
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
81
|
-
});
|
82
|
-
console.log('3. replace "you" with "they" at 0 |> exp(const("how are")');
|
83
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "you", str2: "they", position: 8 }, { type: 'exp', binding: [{ type: 'constant', value: "how are" }, "how are"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
84
|
-
console.log('------');
|
85
|
-
Print_2.printNode(newTerm);
|
86
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
87
|
-
});
|
88
|
-
console.log('4. replace "fine" with "nice" at 0 |> exp(x)');
|
89
|
-
env['x'] = [17, []];
|
90
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "fine", str2: "nice", position: 3 }, { type: 'exp', binding: [{ type: 'variable', name: "x" }, 17] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
91
|
-
console.log('------');
|
92
|
-
console.log(newEnv);
|
93
|
-
Print_2.printNode(newTerm);
|
94
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
95
|
-
});
|
96
|
-
// reset env
|
97
|
-
env = {};
|
98
|
-
/**
|
99
|
-
* Delete
|
100
|
-
*/
|
101
|
-
console.log('=============Deletion======================');
|
102
|
-
console.log('1. delete "Hello " at 0 |> exp(const("Hello Mr.Bin"))');
|
103
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Hello ", position: 0 }, { type: 'exp', binding: [{ type: 'constant', value: "Hello Mr.Bin" }, "Hello Mr.Bin"] }).forEach(({ newTermNode: newTerm, remainingOperation: newOp }) => {
|
104
|
-
console.log('------');
|
105
|
-
Print_2.printNode(newTerm);
|
106
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
107
|
-
});
|
108
|
-
console.log('2. delete "Hello " at 0 |> exp(x)');
|
109
|
-
env['x'] = ["Hello Mr.Bin", []];
|
110
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Hello ", position: 0 }, { type: 'exp', binding: [{ type: 'variable', name: "x" }, "Hello Mr.Bin"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
111
|
-
console.log('------');
|
112
|
-
console.log(newEnv);
|
113
|
-
Print_2.printNode(newTerm);
|
114
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
115
|
-
});
|
116
|
-
env = {};
|
117
|
-
console.log('3. delete "Hello " at 0 |> exp(x.greeting)');
|
118
|
-
env['x'] = [{ type: 'object', fields: { greeting: "Hello Mr.Bin", age: 18 } }, [{ type: 'object', fields: { greeting: [], age: [] } }]];
|
119
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Hello ", position: 0 }, { type: 'exp', binding: [{ type: 'field', field: 'greeting', object: { type: "variable", name: "x" } }, "Hello Mr.Bin"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
120
|
-
console.log('------');
|
121
|
-
Fuse_1.printEnvironment(newEnv);
|
122
|
-
Print_2.printNode(newTerm);
|
123
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
124
|
-
});
|
125
|
-
env = {};
|
126
|
-
console.log('4. delete "Hello" at 0 |> exp(x.greeting)');
|
127
|
-
env['x'] = [{ type: 'object', fields: { greeting: "Hello", age: 18 } }, [{ type: 'object', fields: { greeting: [], age: [] } }]];
|
128
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Hello", position: 0 }, { type: 'exp', binding: [{ type: 'field', field: 'greeting', object: { type: "variable", name: "x" } }, "Hello"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
129
|
-
console.log('------');
|
130
|
-
Fuse_1.printEnvironment(newEnv);
|
131
|
-
Print_2.printNode(newTerm);
|
132
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
133
|
-
});
|
134
|
-
env = {};
|
135
|
-
console.log('5. delete "Hello" at 0 |> exp(greeting)');
|
136
|
-
env['greeting'] = ["Hello", []];
|
137
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Hello", position: 0 }, { type: 'exp', binding: [{ type: 'variable', name: 'greeting' }, "Hello"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
138
|
-
console.log('------');
|
139
|
-
Fuse_1.printEnvironment(newEnv);
|
140
|
-
Print_2.printNode(newTerm);
|
141
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
142
|
-
});
|
143
|
-
env = {};
|
144
|
-
console.log('6. delete "15" at 0 |> exp(age)');
|
145
|
-
env['age'] = [15, []];
|
146
|
-
Fuse_1.fuse(env, { type: 'delete', str: "15", position: 0 }, { type: 'exp', binding: [{ type: 'variable', name: 'age' }, 15] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
147
|
-
console.log('------');
|
148
|
-
Fuse_1.printEnvironment(newEnv);
|
149
|
-
Print_2.printNode(newTerm);
|
150
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
151
|
-
});
|
152
|
-
env = {};
|
153
|
-
console.log('7. delete "Hello Mr.Bin" at 0 |> exp(x.greeting)');
|
154
|
-
env['x'] = [{ type: 'object', fields: { greeting: "Hello", age: 18 } }, [{ type: 'object', fields: { greeting: [], age: [] } }]];
|
155
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Hello Mr.Bin", position: 0 }, { type: 'exp', binding: [{ type: 'field', field: 'greeting', object: { type: "variable", name: "x" } }, "Hello"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
156
|
-
console.log('------');
|
157
|
-
Fuse_1.printEnvironment(newEnv);
|
158
|
-
Print_2.printNode(newTerm);
|
159
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
160
|
-
});
|
161
|
-
env = {};
|
162
|
-
console.log('8. delete "Mr." at 6 |> exp(x.greeting)');
|
163
|
-
env['x'] = [{ type: 'object', fields: { greeting: "Hello Mr.Bin", age: 18 } }, [{ type: 'object', fields: { greeting: [], age: [] } }]];
|
164
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Mr.", position: 6 }, { type: 'exp', binding: [{ type: 'field', field: 'greeting', object: { type: "variable", name: "x" } }, "Hello Mr.Bin"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
165
|
-
console.log('------');
|
166
|
-
Fuse_1.printEnvironment(newEnv);
|
167
|
-
Print_2.printNode(newTerm);
|
168
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
169
|
-
});
|
170
|
-
env = {};
|
171
|
-
console.log('9. delete "1" at 1 |> exp(age)');
|
172
|
-
env['age'] = [115, []];
|
173
|
-
Fuse_1.fuse(env, { type: 'delete', str: "1", position: 1 }, { type: 'exp', binding: [{ type: 'variable', name: 'age' }, 115] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
174
|
-
console.log('------');
|
175
|
-
Fuse_1.printEnvironment(newEnv);
|
176
|
-
Print_2.printNode(newTerm);
|
177
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
178
|
-
});
|
179
|
-
env = {};
|
180
|
-
console.log('10. delete "Mr.Bin" at 6 |> exp(x.greeting)');
|
181
|
-
env['x'] = [{ type: 'object', fields: { greeting: "Hello Mr.", age: 18 } }, [{ type: 'object', fields: { greeting: [], age: [] } }]];
|
182
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Mr.Bin", position: 6 }, { type: 'exp', binding: [{ type: 'field', field: 'greeting', object: { type: "variable", name: "x" } }, "Hello Mr."] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
183
|
-
console.log('------');
|
184
|
-
Fuse_1.printEnvironment(newEnv);
|
185
|
-
Print_2.printNode(newTerm);
|
186
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
187
|
-
});
|
188
|
-
env = {};
|
189
|
-
console.log('11. delete "15 Hello" at 1 |> exp(age)');
|
190
|
-
env['age'] = [115, []];
|
191
|
-
Fuse_1.fuse(env, { type: 'delete', str: "15 Hello", position: 1 }, { type: 'exp', binding: [{ type: 'variable', name: 'age' }, 115] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
192
|
-
console.log('------');
|
193
|
-
Fuse_1.printEnvironment(newEnv);
|
194
|
-
Print_2.printNode(newTerm);
|
195
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
196
|
-
});
|
197
|
-
env = {};
|
198
|
-
console.log('12. delete "Hello" at 5 |> exp(age)');
|
199
|
-
env['age'] = [115, []];
|
200
|
-
Fuse_1.fuse(env, { type: 'delete', str: "Hello", position: 5 }, { type: 'exp', binding: [{ type: 'variable', name: 'age' }, 115] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
201
|
-
console.log('------');
|
202
|
-
Fuse_1.printEnvironment(newEnv);
|
203
|
-
Print_2.printNode(newTerm);
|
204
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
205
|
-
});
|
206
|
-
env = {};
|
207
|
-
console.log('13. id |> exp(x.greeting)');
|
208
|
-
env['x'] = [{ type: 'object', fields: { greeting: "Hello Mr.Bin", age: 18 } }, [{ type: 'object', fields: { greeting: [], age: [] } }]];
|
209
|
-
Fuse_1.fuse(env, { type: 'id' }, { type: 'exp', binding: [{ type: 'field', field: 'greeting', object: { type: "variable", name: "x" } }, "Hello Mr.Bin"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
210
|
-
console.log('------');
|
211
|
-
Fuse_1.printEnvironment(newEnv);
|
212
|
-
Print_2.printNode(newTerm);
|
213
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
214
|
-
});
|
215
|
-
env = {};
|
216
|
-
console.log('14. id |> exp(greeting)');
|
217
|
-
env['greeting'] = ["Hello", []];
|
218
|
-
Fuse_1.fuse(env, { type: 'id' }, { type: 'exp', binding: [{ type: 'variable', name: 'greeting' }, "Hello"] }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
219
|
-
console.log('------');
|
220
|
-
Fuse_1.printEnvironment(newEnv);
|
221
|
-
Print_2.printNode(newTerm);
|
222
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
223
|
-
});
|
224
|
-
env = {};
|
225
|
-
//# sourceMappingURL=exp.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"exp.test.js","sourceRoot":"","sources":["../../../test/fuse/exp.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,139 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const Print_1 = require("../../src/fuse/Print");
|
4
|
-
const Fuse_1 = require("../../src/fuse/Fuse");
|
5
|
-
const Print_2 = require("../../src/lambda/Print");
|
6
|
-
let env = {};
|
7
|
-
/**
|
8
|
-
* Declare/Assign
|
9
|
-
*/
|
10
|
-
console.log('===================================');
|
11
|
-
// let x = 1; <x>
|
12
|
-
console.log('1. replace "1" with "2" at 0 |> \ x.x 1');
|
13
|
-
let lambdaAppDeclare = {
|
14
|
-
type: 'lambda',
|
15
|
-
variable: { type: 'variable', name: 'x' },
|
16
|
-
body: { type: 'exp', binding: [{ type: 'variable', name: 'x' }, 1] },
|
17
|
-
binding: [{ type: 'constant', value: 1 }, 1],
|
18
|
-
marker: { type: 'declare' }
|
19
|
-
};
|
20
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "1", str2: "2", position: 0 }, lambdaAppDeclare).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
21
|
-
console.log('------');
|
22
|
-
Fuse_1.printEnvironment(newEnv);
|
23
|
-
Print_2.printNode(newTerm);
|
24
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
25
|
-
});
|
26
|
-
env = {};
|
27
|
-
console.log('===================================');
|
28
|
-
// x = y+10; <x>
|
29
|
-
env['y'] = [1, [1]];
|
30
|
-
console.log('2. replace "11" with "12" at 0 |> \ x.x (y+10)');
|
31
|
-
let lambdaAppAssign = {
|
32
|
-
type: 'lambda',
|
33
|
-
variable: { type: 'variable', name: 'x' },
|
34
|
-
body: { type: 'exp', binding: [{ type: 'variable', name: 'x' }, 11] },
|
35
|
-
binding: [{ type: 'binary', operator: "+", left: { type: 'variable', name: 'y' }, right: { type: 'constant', value: 10 } }, 11],
|
36
|
-
marker: { type: 'assign' }
|
37
|
-
};
|
38
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "11", str2: "12", position: 0 }, lambdaAppAssign).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
39
|
-
console.log('------');
|
40
|
-
Fuse_1.printEnvironment(newEnv);
|
41
|
-
Print_2.printNode(newTerm);
|
42
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
43
|
-
});
|
44
|
-
env = {};
|
45
|
-
console.log('===================================');
|
46
|
-
// x = 10+y; <x>
|
47
|
-
env['y'] = [1, []];
|
48
|
-
console.log('3. replace "11" with "12" at 0 |> \ x.x (10+y)');
|
49
|
-
let lambdaAppAssign2 = {
|
50
|
-
type: 'lambda',
|
51
|
-
variable: { type: 'variable', name: 'x' },
|
52
|
-
body: { type: 'exp', binding: [{ type: 'variable', name: 'x' }, 11] },
|
53
|
-
binding: [{ type: 'binary', operator: "+", right: { type: 'variable', name: 'y' }, left: { type: 'constant', value: 10 } }, 11],
|
54
|
-
marker: { type: 'assign' }
|
55
|
-
};
|
56
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "11", str2: "12", position: 0 }, lambdaAppAssign2).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
57
|
-
console.log('------');
|
58
|
-
Fuse_1.printEnvironment(newEnv);
|
59
|
-
Print_2.printNode(newTerm);
|
60
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
61
|
-
});
|
62
|
-
env = {};
|
63
|
-
console.log('===================================');
|
64
|
-
// let x = 1; <x>
|
65
|
-
console.log('4. replace "2" with "1" at 2 |> (\\x.x (\\x.x (1+x))) 1');
|
66
|
-
let lambdaAppDeclareAssign = {
|
67
|
-
type: 'lambda',
|
68
|
-
variable: { type: 'variable', name: 'x' },
|
69
|
-
body: { type: 'seq', nodes: [
|
70
|
-
{ type: 'exp', binding: [{ type: 'variable', name: 'x' }, 1] },
|
71
|
-
{ type: 'space', width: 1 },
|
72
|
-
{ type: 'lambda',
|
73
|
-
variable: { type: 'variable', name: 'x' },
|
74
|
-
body: { type: 'exp', binding: [{ type: 'variable', name: 'x' }, 2] },
|
75
|
-
binding: [{ type: 'binary', operator: "+", left: { type: 'variable', name: 'x' }, right: { type: 'constant', value: 1 } }, 2],
|
76
|
-
marker: { type: 'assign' }
|
77
|
-
}
|
78
|
-
] },
|
79
|
-
binding: [{ type: 'constant', value: 1 }, 1],
|
80
|
-
marker: { type: 'declare' }
|
81
|
-
};
|
82
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "2", str2: "1", position: 2 }, lambdaAppDeclareAssign).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
83
|
-
console.log('------');
|
84
|
-
Fuse_1.printEnvironment(newEnv);
|
85
|
-
Print_2.printNode(newTerm);
|
86
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
87
|
-
});
|
88
|
-
env = {};
|
89
|
-
console.log('===================================');
|
90
|
-
// let x = 1; <x>; x = x+1; x
|
91
|
-
console.log('5. replace "1" with "2" at 0 |> (\\x.x (\\x.x (1+x))) 1');
|
92
|
-
let lambdaAppDeclareAssign2 = {
|
93
|
-
type: 'lambda',
|
94
|
-
variable: { type: 'variable', name: 'x' },
|
95
|
-
body: { type: 'seq', nodes: [
|
96
|
-
{ type: 'exp', binding: [{ type: 'variable', name: 'x' }, 1] },
|
97
|
-
{ type: 'space', width: 1 },
|
98
|
-
{ type: 'lambda',
|
99
|
-
variable: { type: 'variable', name: 'x' },
|
100
|
-
body: { type: 'exp', binding: [{ type: 'variable', name: 'x' }, 2] },
|
101
|
-
binding: [{ type: 'binary', operator: "+", left: { type: 'variable', name: 'x' }, right: { type: 'constant', value: 1 } }, 2],
|
102
|
-
marker: { type: 'assign' }
|
103
|
-
}
|
104
|
-
] },
|
105
|
-
binding: [{ type: 'constant', value: 1 }, 1],
|
106
|
-
marker: { type: 'declare' }
|
107
|
-
};
|
108
|
-
Fuse_1.fuse(env, { type: 'replace', str1: "1", str2: "2", position: 0 }, lambdaAppDeclareAssign2).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
109
|
-
console.log('------');
|
110
|
-
Fuse_1.printEnvironment(newEnv);
|
111
|
-
Print_2.printNode(newTerm);
|
112
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
113
|
-
});
|
114
|
-
env = {};
|
115
|
-
// /**
|
116
|
-
// * Loopitem
|
117
|
-
// */
|
118
|
-
// console.log('==============Loopitem=====================')
|
119
|
-
// env['lst'] = [[1,2,3],[]];
|
120
|
-
// env['lst_new']=[[10],[]];
|
121
|
-
// console.log('1. replace "2" with "20" at 0 |> \ x.x 2');
|
122
|
-
// let lambdaAppLoopitem: LambdaAppNode = {
|
123
|
-
// type:'lambda',
|
124
|
-
// variable: {type:'variable', name:'x'},
|
125
|
-
// body:{type:'exp', binding:[{type:'variable',name:'x'}, 2]},
|
126
|
-
// binding:[{type:'constant', value:2},2],
|
127
|
-
// marker: {type:'loopitem', lst:{type:'variable', name:'lst'}} as LoopItemMarker
|
128
|
-
// }
|
129
|
-
// fuse(env
|
130
|
-
// , {type:'replace',str1: "2", str2:"20", position:0}
|
131
|
-
// , lambdaAppLoopitem
|
132
|
-
// ).forEach(({newEnv:newEnv, newTermNode: newTerm, remainingOperation: newOp}) => {
|
133
|
-
// console.log('------')
|
134
|
-
// printEnvironment(newEnv);
|
135
|
-
// printNode(newTerm);
|
136
|
-
// console.log('U: ' + operationToStr(newOp));
|
137
|
-
// });
|
138
|
-
// env={};
|
139
|
-
//# sourceMappingURL=lambda.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"lambda.test.js","sourceRoot":"","sources":["../../../test/fuse/lambda.test.ts"],"names":[],"mappings":";;AAEA,gDAAsD;AACtD,8CAA0E;AAE1E,kDAAmD;AAGnD,IAAI,GAAG,GAAgB,EAAE,CAAC;AAE1B;;GAEG;AAIH,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAClD,iBAAiB;AACjB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACvD,IAAI,gBAAgB,GAAkB;IACpC,IAAI,EAAC,QAAQ;IACb,QAAQ,EAAE,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC;IACrC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,EAAC;IAC1D,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAC,CAAC,CAAC;IACtC,MAAM,EAAE,EAAC,IAAI,EAAC,SAAS,EAAkB;CAC1C,CAAA;AACD,WAAI,CAAC,GAAG,EACJ,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,EAAC,EAChD,gBAAgB,CACnB,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAC,EAAE,EAAE;IAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,uBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,iBAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,GAAG,GAAC,EAAE,CAAC;AAGP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAClD,gBAAgB;AAChB,GAAG,CAAC,GAAG,CAAC,GAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAC9D,IAAI,eAAe,GAAkB;IACnC,IAAI,EAAC,QAAQ;IACb,QAAQ,EAAE,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC;IACrC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,EAAC;IAC3D,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,EAAE,IAAI,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC,EAAE,KAAK,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAE,CAAC;IAC/G,MAAM,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAiB;CACxC,CAAA;AACD,WAAI,CAAC,GAAG,EACJ,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,EAAC,EAClD,eAAe,CAClB,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAC,EAAE,EAAE;IAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,uBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,iBAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,GAAG,GAAC,EAAE,CAAC;AAGP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAClD,gBAAgB;AAChB,GAAG,CAAC,GAAG,CAAC,GAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAC9D,IAAI,gBAAgB,GAAkB;IACpC,IAAI,EAAC,QAAQ;IACb,QAAQ,EAAE,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC;IACrC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,EAAC;IAC3D,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,EAAE,KAAK,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC,EAAE,IAAI,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,EAAE,EAAC,EAAC,EAAE,EAAE,CAAC;IAChH,MAAM,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAiB;CACxC,CAAA;AACD,WAAI,CAAC,GAAG,EACJ,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,EAAC,EAClD,gBAAgB,CACnB,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAC,EAAE,EAAE;IAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,uBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,iBAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,GAAG,GAAC,EAAE,CAAC;AAGP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAClD,iBAAiB;AACjB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AACvE,IAAI,sBAAsB,GAAkB;IAC1C,IAAI,EAAC,QAAQ;IACb,QAAQ,EAAE,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC;IACrC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,EAAC;YACtB,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,EAAC;YACrD,EAAC,IAAI,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,EAAC;YACvB,EAAC,IAAI,EAAC,QAAQ;gBACZ,QAAQ,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC;gBACpC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,EAAC;gBAC1D,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,EAAE,IAAI,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC,EAAE,KAAK,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAC,EAAE,CAAC,CAAC;gBAC9G,MAAM,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAiB;aACxC;SACF,EAAC;IACF,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAC,CAAC,CAAC;IACtC,MAAM,EAAE,EAAC,IAAI,EAAC,SAAS,EAAkB;CAC1C,CAAA;AACD,WAAI,CAAC,GAAG,EACJ,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,EAAC,EAChD,sBAAsB,CACzB,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAC,EAAE,EAAE;IAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,uBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,iBAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,GAAG,GAAC,EAAE,CAAC;AAIP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAClD,6BAA6B;AAC7B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AACvE,IAAI,uBAAuB,GAAkB;IAC3C,IAAI,EAAC,QAAQ;IACb,QAAQ,EAAE,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC;IACrC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,EAAC;YACtB,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,EAAC;YACrD,EAAC,IAAI,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,EAAC;YACvB,EAAC,IAAI,EAAC,QAAQ;gBACZ,QAAQ,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC;gBACpC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,EAAC;gBAC1D,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,EAAE,IAAI,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,EAAC,EAAE,KAAK,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAC,EAAE,CAAC,CAAC;gBAC9G,MAAM,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAiB;aACxC;SACF,EAAC;IACF,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAC,CAAC,CAAC;IACtC,MAAM,EAAE,EAAC,IAAI,EAAC,SAAS,EAAkB;CAC1C,CAAA;AACD,WAAI,CAAC,GAAG,EACJ,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,EAAC,EAChD,uBAAuB,CAC1B,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAC,EAAE,EAAE;IAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,uBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,iBAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,GAAG,GAAC,EAAE,CAAC;AAEP,MAAM;AACN,cAAc;AACd,MAAM;AACN,6DAA6D;AAC7D,6BAA6B;AAC7B,4BAA4B;AAE5B,2DAA2D;AAC3D,2CAA2C;AAC3C,mBAAmB;AACnB,2CAA2C;AAC3C,gEAAgE;AAChE,4CAA4C;AAC5C,mFAAmF;AACnF,IAAI;AACJ,WAAW;AACX,wDAAwD;AACxD,wBAAwB;AACxB,oFAAoF;AACpF,0BAA0B;AAC1B,8BAA8B;AAC9B,wBAAwB;AACxB,gDAAgD;AAChD,MAAM;AACN,UAAU"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,39 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const Print_1 = require("../../src/fuse/Print");
|
4
|
-
const Fuse_1 = require("../../src/fuse/Fuse");
|
5
|
-
const Print_2 = require("../../src/lambda/Print");
|
6
|
-
let env = {};
|
7
|
-
/**
|
8
|
-
* insert
|
9
|
-
*/
|
10
|
-
console.log('=============Insertion======================');
|
11
|
-
console.log('1. insert "Hello " at 0 |> loopfront(lst,"[")');
|
12
|
-
env['lst'] = [[1, 2, 3], []];
|
13
|
-
Fuse_1.fuse(env, { type: 'insert', str: "Hello ", position: 0 }, { type: 'loopfront', value: '[', lst: { type: 'variable', name: 'lst' } }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
14
|
-
console.log('------');
|
15
|
-
Fuse_1.printEnvironment(newEnv);
|
16
|
-
Print_2.printNode(newTerm);
|
17
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
18
|
-
});
|
19
|
-
env = {};
|
20
|
-
console.log('===================================');
|
21
|
-
console.log('2. insert "Hello " at 10 |> loopfront(lst,"[")');
|
22
|
-
env['lst'] = [[1, 2, 3], []];
|
23
|
-
Fuse_1.fuse(env, { type: 'insert', str: "Hello ", position: 10 }, { type: 'loopfront', value: '[', lst: { type: 'variable', name: 'lst' } }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
24
|
-
console.log('------');
|
25
|
-
Fuse_1.printEnvironment(newEnv);
|
26
|
-
Print_2.printNode(newTerm);
|
27
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
28
|
-
});
|
29
|
-
env = {};
|
30
|
-
console.log('3. insert "Hello " at 10 |> looprear(lst,"]")');
|
31
|
-
env['lst'] = [[1, 2, 3], []];
|
32
|
-
env['lst_new'] = [[10, 20, 30], [10, 20, 30]];
|
33
|
-
Fuse_1.fuse(env, { type: 'insert', str: "Hello ", position: 10 }, { type: 'looprear', value: ']', lst: { type: 'variable', name: 'lst' } }).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
34
|
-
console.log('------');
|
35
|
-
Fuse_1.printEnvironment(newEnv);
|
36
|
-
Print_2.printNode(newTerm);
|
37
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
38
|
-
});
|
39
|
-
//# sourceMappingURL=loop.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"loop.test.js","sourceRoot":"","sources":["../../../test/fuse/loop.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,64 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const Print_1 = require("../../src/fuse/Print");
|
4
|
-
const Fuse_1 = require("../../src/fuse/Fuse");
|
5
|
-
const Print_2 = require("../../src/lambda/Print");
|
6
|
-
let env = {};
|
7
|
-
// console.log('===================================')
|
8
|
-
// // hello stefan!
|
9
|
-
// // seq(const("hello"), space(1), exp(name), const("!"))
|
10
|
-
// // replace "stefan" with "tao" at 6
|
11
|
-
// console.log('1. replace "stefan" with "tao" at 6 |> seq(const("hello"), space(1), exp(name), const("!"))');
|
12
|
-
// let seq: SeqNode = {
|
13
|
-
// type:'seq',
|
14
|
-
// nodes:[
|
15
|
-
// {type:'const', value:"hello"},
|
16
|
-
// {type:'space', width:1},
|
17
|
-
// {type:'exp', binding:[{type:'variable', name:'name'},"stefan"]},
|
18
|
-
// {type:'const', value:"!"}
|
19
|
-
// ]
|
20
|
-
// }
|
21
|
-
// env['name']=["stefan",[]];
|
22
|
-
// fuse(env
|
23
|
-
// , {type:'replace',str1: "stefan", str2:"tao", position:6}
|
24
|
-
// , seq
|
25
|
-
// ).forEach(({newEnv:newEnv, newTermNode: newTerm, remainingOperation: newOp}) => {
|
26
|
-
// console.log('------')
|
27
|
-
// printEnvironment(newEnv);
|
28
|
-
// printNode(newTerm);
|
29
|
-
// console.log('U: ' + operationToStr(newOp));
|
30
|
-
// });
|
31
|
-
// env={};
|
32
|
-
console.log('===================================');
|
33
|
-
console.log('2. insert " " at 1 |> seq(declare(no, 1), exp(no), assign(no, no+1), exp(no))');
|
34
|
-
let seq2 = {
|
35
|
-
type: 'seq',
|
36
|
-
nodes: [
|
37
|
-
{
|
38
|
-
type: 'lambda',
|
39
|
-
variable: { type: 'variable', name: 'no' },
|
40
|
-
body: { type: 'seq', nodes: [
|
41
|
-
{ type: 'exp', binding: [{ type: 'variable', name: 'no' }, 1] },
|
42
|
-
{
|
43
|
-
type: 'lambda',
|
44
|
-
variable: { type: 'variable', name: 'no' },
|
45
|
-
body: { type: 'seq', nodes: [
|
46
|
-
{ type: 'exp', binding: [{ type: 'variable', name: 'no' }, 2] },
|
47
|
-
] },
|
48
|
-
binding: [{ type: 'binary', operator: "+", left: { type: 'variable', name: 'no' }, right: { type: 'constant', value: 1 } }, 2],
|
49
|
-
marker: { type: 'assign' }
|
50
|
-
}
|
51
|
-
] },
|
52
|
-
binding: [{ type: 'constant', value: 1 }, 1],
|
53
|
-
marker: { type: 'declare' }
|
54
|
-
}
|
55
|
-
]
|
56
|
-
};
|
57
|
-
Fuse_1.fuse(env, { type: 'insert', str: " ", position: 1 }, seq2).forEach(({ newEnv: newEnv, newTermNode: newTerm, remainingOperation: newOp }) => {
|
58
|
-
console.log('------');
|
59
|
-
Fuse_1.printEnvironment(newEnv);
|
60
|
-
Print_2.printNode(newTerm);
|
61
|
-
console.log('U: ' + Print_1.operationToStr(newOp));
|
62
|
-
});
|
63
|
-
env = {};
|
64
|
-
//# sourceMappingURL=seq.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"seq.test.js","sourceRoot":"","sources":["../../../test/fuse/seq.test.ts"],"names":[],"mappings":";;AAEA,gDAAsD;AACtD,8CAA0E;AAE1E,kDAAmD;AAGnD,IAAI,GAAG,GAAgB,EAAE,CAAC;AAG1B,qDAAqD;AACrD,mBAAmB;AACnB,0DAA0D;AAC1D,sCAAsC;AACtC,8GAA8G;AAC9G,uBAAuB;AACvB,gBAAgB;AAChB,YAAY;AACZ,qCAAqC;AACrC,+BAA+B;AAC/B,uEAAuE;AACvE,gCAAgC;AAChC,MAAM;AACN,IAAI;AACJ,6BAA6B;AAE7B,WAAW;AACX,8DAA8D;AAC9D,UAAU;AACV,oFAAoF;AACpF,0BAA0B;AAC1B,8BAA8B;AAC9B,wBAAwB;AACxB,gDAAgD;AAChD,MAAM;AACN,UAAU;AAGV,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAClD,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;AAC7F,IAAI,IAAI,GAAY;IAClB,IAAI,EAAC,KAAK;IACV,KAAK,EAAC;QACJ;YACE,IAAI,EAAC,QAAQ;YACb,QAAQ,EAAE,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,IAAI,EAAC;YACtC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,EAAC;oBACtB,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,EAAC;oBACvD;wBACE,IAAI,EAAC,QAAQ;wBACb,QAAQ,EAAE,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,IAAI,EAAC;wBACtC,IAAI,EAAC,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,EAAC;gCACtB,EAAC,IAAI,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,EAAC;6BACxD,EAAC;wBACF,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,EAAE,IAAI,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,IAAI,EAAC,IAAI,EAAC,EAAE,KAAK,EAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAC,EAAE,CAAC,CAAC;wBAC/G,MAAM,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAiB;qBACxC;iBACF,EAAC;YACF,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACvC,MAAM,EAAE,EAAC,IAAI,EAAC,SAAS,EAAkB;SAC1C;KACF;CACF,CAAA;AAED,WAAI,CAAC,GAAG,EACJ,EAAC,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,EAAC,EACpC,IAAI,CACP,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAC,EAAE,EAAE;IAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,uBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,iBAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,GAAG,GAAC,EAAE,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|