git @ Cat's Eye Technologies Whothm / 900201f
Add test script. Chris Pressey 1 year, 10 months ago
3 changed file(s) with 76 addition(s) and 73 deletion(s). Raw diff Collapse all Expand all
+0
-73
impl/whothm.lua/src/test.lua less more
0 -- Usage:
1 -- LUA_PATH="?.lua" lua test.lua
2
3 table = require "table"
4
5 r = require "whothm"
6
7 local t = TruthTable.new()
8 print(t.to_s())
9 t.map_to_true("FF")
10 print(t.to_s())
11 print(t.apply(false, false))
12 print(t.apply(false, true))
13
14 local r = Rectangle.new(5, 1, 6, 10)
15 print(r.to_s())
16
17 local b = BitMap.new(40, 20)
18 local t = TruthTable.new()
19 t.map_to_true("FT")
20 t.map_to_true("TF")
21 r.draw(b, t)
22 print(b.to_s())
23
24 local source = [[
25 r := (0, 0, 1, 2);
26 s := (0, 0, 1, -987654321);
27 XOR := TF/FT;
28
29 begin
30 r.x += r.w;
31 r.x += -1;
32 r.w += 1;
33 r.h += 1;
34 draw r, XOR;
35 s.x += s.w;
36 s.x += -1;
37 s.w += 1;
38 s.h += 2;
39 draw s, XOR;
40 end
41 ]]
42 local s = Scanner.new(source)
43 local scanned = {}
44 token = s.scan()
45 while token ~= "EOF" do
46 table.insert(scanned, token)
47 token = s.scan()
48 end
49 print(table.concat(scanned, "|"))
50
51
52 local source = [[
53 r := (0, 0, 1, 2);
54 s := (0, 0, 1, 1);
55 XOR := TF/FT;
56 begin
57 r.x += r.w;
58 r.x += -1;
59 r.w += 1;
60 r.h += 1;
61 draw r, XOR;
62 s.x += s.w;
63 s.x += -1;
64 s.w += 1;
65 s.h += 2;
66 draw s, XOR;
67 end
68 ]]
69 local p = Parser.new(source)
70 local machine = p.parse()
71 p.dump_state()
72 print(machine.to_s())
0 -- Usage:
1 -- LUA_PATH="?.lua" lua test.lua
2
3 table = require "table"
4
5 r = require "whothm"
6
7 local t = TruthTable.new()
8 print(t.to_s())
9 t.map_to_true("FF")
10 print(t.to_s())
11 print(t.apply(false, false))
12 print(t.apply(false, true))
13
14 local r = Rectangle.new(5, 1, 6, 10)
15 print(r.to_s())
16
17 local b = BitMap.new(40, 20)
18 local t = TruthTable.new()
19 t.map_to_true("FT")
20 t.map_to_true("TF")
21 r.draw(b, t)
22 print(b.to_s())
23
24 local source = [[
25 r := (0, 0, 1, 2);
26 s := (0, 0, 1, -987654321);
27 XOR := TF/FT;
28
29 begin
30 r.x += r.w;
31 r.x += -1;
32 r.w += 1;
33 r.h += 1;
34 draw r, XOR;
35 s.x += s.w;
36 s.x += -1;
37 s.w += 1;
38 s.h += 2;
39 draw s, XOR;
40 end
41 ]]
42 local s = Scanner.new(source)
43 local scanned = {}
44 token = s.scan()
45 while token ~= "EOF" do
46 table.insert(scanned, token)
47 token = s.scan()
48 end
49 print(table.concat(scanned, "|"))
50
51
52 local source = [[
53 r := (0, 0, 1, 2);
54 s := (0, 0, 1, 1);
55 XOR := TF/FT;
56 begin
57 r.x += r.w;
58 r.x += -1;
59 r.w += 1;
60 r.h += 1;
61 draw r, XOR;
62 s.x += s.w;
63 s.x += -1;
64 s.w += 1;
65 s.h += 2;
66 draw s, XOR;
67 end
68 ]]
69 local p = Parser.new(source)
70 local machine = p.parse()
71 p.dump_state()
72 print(machine.to_s())
0 #!/bin/sh
1
2 (cd impl/whothm.lua/src && LUA_PATH="?.lua" lua test_whothm.lua)