@@ -4,77 +4,79 @@ const coreWords = require('../dist/index').coreWordDictionary;
4
4
5
5
6
6
let tests = [
7
- [ '2' , [ "number_t" ] ] ,
8
- [ 'true' , [ "boolean_t" ] ] ,
9
- [ 'false' , [ "boolean_t" ] ] ,
10
- [ '"abc"' , [ "string_t" ] ] ,
11
- [ '2 3 +' , [ "number_t" ] ] ,
12
- [ '2 3 + -4 +' , [ "number_t" ] ] ,
13
- // // ['2 abc +', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
14
- // // ['twelve 12 +', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
15
- [ 'hello world' , [ "string_t" , "string_t" ] ] ,
16
- [ '"hello world"' , [ "string_t" ] ] ,
17
- [ '2 3 -' , [ "number_t" ] ] ,
18
- // // ['2 abc -', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
19
- // // ['twelve 12 -', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
20
- [ '2 3 *' , [ "number_t" ] ] ,
21
- [ '2 3 * 6 -' , [ "number_t" ] ] ,
22
- // // ['2 abc *', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
23
- // // ['twelve 12 *', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
24
- [ '2 3 /' , [ "number_t" ] ] ,
25
- // // ['2 abc /', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
26
- // // ['twelve 12 /', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
27
- // // ['2 0 /', [{"error":"Guard found that the static value 0 failed to pass its requirement [0 !=]"}]],
28
- [ '[]' , [ [ ] ] ] ,
29
- [ '[][]' , [ [ ] , [ ] ] ] ,
30
- [ '[2 4 7]' , [ [ "number_t" , "number_t" , "number_t" ] ] ] ,
31
- [ '[[]]' , [ [ [ ] ] ] ] ,
32
- [ '[[[]]]' , [ [ [ [ ] ] ] ] ] ,
33
- [ '[a[b b2]]' , [ [ "string_t" , [ "string_t" , "string_t" ] ] ] ] ,
34
- [ '[a[b b2]] 7' , [ [ "string_t" , [ "string_t" , "string_t" ] ] , "number_t" ] ] ,
35
- [ '[a[b b2[c c2]d]e]' , [ [ "string_t" , [ "string_t" , "string_t" , [ "string_t" , "string_t" ] , "string_t" ] , "string_t" ] ] ] ,
36
- [ '[a[b b2]c c2[d]e]' , [ [ "string_t" , [ "string_t" , "string_t" ] , "string_t" , "string_t" , [ "string_t" ] , "string_t" ] ] ] ,
37
- [ 'a 2 swap' , [ "number_t" , "string_t" ] ] ,
38
- [ 'a 2 swap dup' , [ "number_t" , "string_t" , "string_t" ] ] ,
39
- [ '[a] 2 swap dup' , [ "number_t" , [ "string_t" ] , [ "string_t" ] ] ] ,
40
- [ '3 2 a [+] dip' , [ "number_t" , "string_t" ] ] ,
41
- [ '3 a [2 +] dip' , [ "number_t" , "string_t" ] ] ,
42
- [ 'd 2 a [swap] dip' , [ "number_t" , "string_t" , "string_t" ] ] ,
7
+ // ['2', ["number_t"]],
8
+ // ['true', ["boolean_t"]],
9
+ // ['false', ["boolean_t"]],
10
+ // ['"abc"', ["string_t"]],
11
+ // ['2 3 +', ["number_t"]],
12
+ // ['2 3 + -4 +', ["number_t"]],
13
+ // // // ['2 abc +', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
14
+ // // // ['twelve 12 +', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
15
+ // ['hello world', ["string_t","string_t"]],
16
+ // ['"hello world"', ["string_t"]],
17
+ // ['2 3 -', ["number_t"]],
18
+ // // // ['2 abc -', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
19
+ // // // ['twelve 12 -', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
20
+ // ['2 3 *', ["number_t"]],
21
+ // ['2 3 * 6 -', ["number_t"]],
22
+ // // // ['2 abc *', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
23
+ // // // ['twelve 12 *', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
24
+ // ['2 3 /', ["number_t"]],
25
+ // // // ['2 abc /', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
26
+ // // // ['twelve 12 /', [{"error":"An unexpected stack type of 'string' was encountered!","expectedType":"number","encounteredType":"string"}]],
27
+ // // // ['2 0 /', [{"error":"Guard found that the static value 0 failed to pass its requirement [0 !=]"}]],
28
+ // ['[]', [[]]],
29
+ // ['[][]', [[],[]]],
30
+ // ['[2 4 7]', [["number_t","number_t","number_t"]]],
31
+ // ['[[]]', [[[]]]],
32
+ // ['[[[]]]', [[[[]]]]],
33
+ // ['[a[b b2]]', [["string_t", ["string_t", "string_t"]]]],
34
+ // ['[a[b b2]] 7', [["string_t", ["string_t", "string_t"]],"number_t"]],
35
+ // ['[a[b b2[c c2]d]e]', [["string_t", ["string_t", "string_t", ["string_t", "string_t"], "string_t"], "string_t"]]],
36
+ // ['[a[b b2]c c2[d]e]', [["string_t", ["string_t", "string_t"], "string_t", "string_t", ["string_t"], "string_t"]]],
37
+ // ['a 2 swap', ["number_t","string_t"]],
38
+ // ['a 2 swap dup', ["number_t","string_t","string_t"]],
39
+ // ['[a] 2 swap dup', ["number_t",["string_t"],["string_t"]]],
40
+ // ['3 2 a [+] dip', ["number_t","string_t"]],
41
+ // ['3 a [2 +] dip', ["number_t","string_t"]],
42
+ // ['d 2 a [swap] dip', ["number_t","string_t","string_t"]],
43
43
44
- [ '3 2 5 rotate' , [ "number_t" , "number_t" , "number_t" ] ] ,
45
- [ 'aa cc 3 rotate' , [ "number_t" , "string_t" , "string_t" ] ] ,
46
- [ '3 2 "3" rollup' , [ "string_t" , "number_t" , "number_t" ] ] ,
47
- [ 'a 3.14 "c3p0" rolldown' , [ "number_t" , "string_t" , "string_t" ] ] ,
48
- [ '2 a [dup] dip' , [ "number_t" , "number_t" , "string_t" ] ] ,
49
- [ '[a] 3 dup2' , [ [ "string_t" ] , "number_t" , [ "string_t" ] , "number_t" ] ] ,
50
- [ 'a 3 dup2' , [ "string_t" , "number_t" , "string_t" , "number_t" ] ] ,
51
- [ 'a 3 drop' , [ "string_t" ] ] ,
52
- [ 'a 3 [drop] dip' , [ "number_t" ] ] ,
53
- [ '3 3 =' , [ "number_t" , "boolean_t" ] ] ,
54
-
55
- [ '3 a [3 =] dip' , [ "number_t" , "boolean_t" , "string_t" ] ] ,
56
- [ 'a [3 3 =] dip' , [ "number_t" , "boolean_t" , "string_t" ] ] ,
57
- [ 'a [3 3 =] dip drop' , [ "number_t" , "boolean_t" ] ] ,
58
- [ '5 5 ==' , [ "boolean_t" ] ] ,
59
- // // // ['5 a ==', ["type error in '==' must have matching types: number_t and string_t do not match"]],
60
- [ '5 a [6 ==] dip' , [ "boolean_t" , "string_t" ] ] ,
61
- [ 'a [5 5 ==] dip' , [ "boolean_t" , "string_t" ] ] ,
62
- [ '2 3 [+] play' , [ "number_t" ] ] ,
63
- [ '2 3 [[+] play] play' , [ "number_t" ] ] ,
64
- [ '2 3 [[[+] play] play] play' , [ "number_t" ] ] ,
65
- [ '2 [3 [[+] play] play] play' , [ "number_t" ] ] ,
66
- [ '2 [3 [+] play] play' , [ "number_t" ] ] ,
67
- [ 'true [a] [b] if-else' , [ "string_t" ] ] ,
68
- [ '3 true [1 +] [2 +] if-else' , [ "number_t" ] ] ,
69
- [ '3 true [2 1 +] [3 2 +] if-else' , [ "number_t" , "number_t" ] ] ,
70
- [ '3 true [4 1 +] [2 +] if-else' , [ "'if-else' type check error: then and else clauses types do not match" , [ "number_t" ] , [ "-number_t" , "number_t" ] ] ] ,
71
- [ 'true [a] [b] if-else' , [ "string_t" ] ] ,
72
- [ '[true] [a] [a] ifte' , [ "string_t" ] ] ,
73
- // // ['3 [a b c] [<] split', ["string_t"]],
74
- [ '2 +' , [ "-number_t" , "number_t" ] ] ,
75
- [ '4 3 true [1 +] [[8 +] dip 5 -] if-else' , [ "number_t" , "number_t" ] ] ,
76
- [ '3 a ==' , [ "'==' type check error: stack elements types do not match" , [ "string_t" ] , [ "number_t" ] ] ] ,
77
- [ '3 a =' , [ "'=' type check error: stack elements types do not match" , [ "string_t" ] , [ "number_t" ] ] ] ,
44
+ // ['3 2 5 rotate', ["number_t", "number_t", "number_t"]],
45
+ // ['aa cc 3 rotate', ["number_t", "string_t", "string_t"]],
46
+ // ['3 2 "3" rollup', ["string_t", "number_t", "number_t"]],
47
+ // ['a 3.14 "c3p0" rolldown', ["number_t", "string_t", "string_t"]],
48
+ // ['2 a [dup] dip', ["number_t","number_t","string_t"]],
49
+ // ['[a] 3 dup2', [["string_t"],"number_t",["string_t"],"number_t"]],
50
+ // ['a 3 dup2', ["string_t", "number_t","string_t", "number_t"]],
51
+ // ['a 3 drop', ["string_t"]],
52
+ // ['a 3 [drop] dip', ["number_t"]],
53
+ // ['3 3 =', ["number_t","boolean_t"]],
54
+
55
+ // ['3 a [3 =] dip', ["number_t","boolean_t","string_t"]],
56
+ // ['a [3 3 =] dip', ["number_t","boolean_t","string_t"]],
57
+ // ['a [3 3 =] dip drop', ["number_t","boolean_t"]],
58
+ // ['5 5 ==', ["boolean_t"]],
59
+ // // // // ['5 a ==', ["type error in '==' must have matching types: number_t and string_t do not match"]],
60
+ // ['5 a [6 ==] dip', ["boolean_t","string_t"]],
61
+ // ['a [5 5 ==] dip', ["boolean_t","string_t"]],
62
+ // ['2 3 [+] play', ["number_t"]],
63
+ // ['2 3 [[+] play] play', ["number_t"]],
64
+ // ['2 3 [[[+] play] play] play', ["number_t"]],
65
+ // ['2 [3 [[+] play] play] play', ["number_t"]],
66
+ // ['2 [3 [+] play] play', ["number_t"]],
67
+ // ['true [a] [b] if-else', ["string_t"]],
68
+ // ['3 true [1 +] [2 +] if-else', ["number_t"]],
69
+ // ['3 true [2 1 +] [3 2 +] if-else', ["number_t","number_t"]],
70
+ // ['3 true [4 1 +] [2 +] if-else', ["'if-else' type check error: then and else clauses types do not match",["number_t"],["-number_t","number_t"]]],
71
+ // ['true [a] [b] if-else', ["string_t"]],
72
+ // ['[true] [a] [a] ifte', ["string_t"]],
73
+ // ['2 +', ["-number_t", "number_t"]],
74
+ // ['4 3 true [1 +] [[8 +] dip 5 -] if-else', ["number_t","number_t"]],
75
+ // ['3 a ==', ["'==' type check error: stack elements types do not match",["string_t"],["number_t"]]],
76
+ // ['3 a =', ["'=' type check error: stack elements types do not match",["string_t"],["number_t"]]],
77
+ // ['true a 3 [drop] dip2', ["string_t", "number_t"]],
78
+ [ '0 1 [dup2 +] 5 times' , [ [ "*number_t" ] ] ] ,
79
+ // ['6 [3 8 5 7 10 2 9 1] [>] split', [["*number_t"],["*number_t"]]],
78
80
79
81
] ;
80
82
0 commit comments