nabaztag_hack_kit 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. data/.gitignore +7 -0
  2. data/.travis.yml +3 -0
  3. data/CHANGELOG.md +11 -0
  4. data/Gemfile +4 -0
  5. data/README.md +119 -0
  6. data/Rakefile +21 -0
  7. data/bin/mtl_comp +41 -0
  8. data/bin/mtl_merge +22 -0
  9. data/bin/mtl_simu +40 -0
  10. data/bytecode/lib/buffer.mtl +109 -0
  11. data/bytecode/lib/button.mtl +27 -0
  12. data/bytecode/lib/data_helper.mtl +88 -0
  13. data/bytecode/lib/ear.mtl +90 -0
  14. data/bytecode/lib/led.mtl +33 -0
  15. data/bytecode/lib/rfid.mtl +50 -0
  16. data/bytecode/main.mtl +129 -0
  17. data/config.ru +6 -0
  18. data/ext/bytecode/Commands.md +172 -0
  19. data/ext/bytecode/Docs.md +488 -0
  20. data/ext/bytecode/README.md +5 -0
  21. data/ext/bytecode/lib/arp.mtl +159 -0
  22. data/ext/bytecode/lib/cfg.mtl +74 -0
  23. data/ext/bytecode/lib/choreos.mtl +1487 -0
  24. data/ext/bytecode/lib/dhcp.mtl +152 -0
  25. data/ext/bytecode/lib/dns.mtl +89 -0
  26. data/ext/bytecode/lib/http.mtl +84 -0
  27. data/ext/bytecode/lib/tcp.mtl +340 -0
  28. data/ext/bytecode/lib/udp.mtl +49 -0
  29. data/ext/bytecode/lib/util.mtl +74 -0
  30. data/ext/bytecode/lib/var.mtl +15 -0
  31. data/ext/bytecode/lib/wifi.mtl +243 -0
  32. data/ext/bytecode/nominal-ping.mtl +5828 -0
  33. data/ext/mtl/Makefile +42 -0
  34. data/ext/mtl/README.md +13 -0
  35. data/ext/mtl/bc.cpp +1891 -0
  36. data/ext/mtl/conf.bin.sans_password +0 -0
  37. data/ext/mtl/config.txt +5 -0
  38. data/ext/mtl/dumpbc.c +2566 -0
  39. data/ext/mtl/extconf.rb +1 -0
  40. data/ext/mtl/linux_simu.c +271 -0
  41. data/ext/mtl/linux_simuaudio.c +16 -0
  42. data/ext/mtl/linux_simuaudio.h +18 -0
  43. data/ext/mtl/linux_simunet.c +620 -0
  44. data/ext/mtl/linux_simunet.h +7 -0
  45. data/ext/mtl/log.c +297 -0
  46. data/ext/mtl/log.h +20 -0
  47. data/ext/mtl/main_compiler.cpp +104 -0
  48. data/ext/mtl/main_simu.cpp +221 -0
  49. data/ext/mtl/mp3/GTKANAL.H +97 -0
  50. data/ext/mtl/mp3/LAYER3.C +2090 -0
  51. data/ext/mtl/mp3/TABINIT.C +82 -0
  52. data/ext/mtl/mp3/common.c +265 -0
  53. data/ext/mtl/mp3/dct64_i386.c +316 -0
  54. data/ext/mtl/mp3/decode_i386.c +155 -0
  55. data/ext/mtl/mp3/huffman.h +332 -0
  56. data/ext/mtl/mp3/interface.c +258 -0
  57. data/ext/mtl/mp3/mpg123.h +182 -0
  58. data/ext/mtl/mp3/mpglib.h +44 -0
  59. data/ext/mtl/properties.c +293 -0
  60. data/ext/mtl/properties.h +10 -0
  61. data/ext/mtl/simu.c +750 -0
  62. data/ext/mtl/simuaudio.c +662 -0
  63. data/ext/mtl/simuaudio.h +74 -0
  64. data/ext/mtl/simunet.c +400 -0
  65. data/ext/mtl/simunet.h +30 -0
  66. data/ext/mtl/utils/correct_const.sh +34 -0
  67. data/ext/mtl/vaudio.c +677 -0
  68. data/ext/mtl/vaudio.h +46 -0
  69. data/ext/mtl/vbc.h +160 -0
  70. data/ext/mtl/vbc_str.h +166 -0
  71. data/ext/mtl/vcomp/Makefile +29 -0
  72. data/ext/mtl/vcomp/bootstrap.cpp +89 -0
  73. data/ext/mtl/vcomp/compiler.cpp +470 -0
  74. data/ext/mtl/vcomp/compiler.h +200 -0
  75. data/ext/mtl/vcomp/compiler_file.cpp +929 -0
  76. data/ext/mtl/vcomp/compiler_prog.cpp +250 -0
  77. data/ext/mtl/vcomp/compiler_term.cpp +1053 -0
  78. data/ext/mtl/vcomp/compiler_type.cpp +872 -0
  79. data/ext/mtl/vcomp/compiler_var.cpp +289 -0
  80. data/ext/mtl/vcomp/file.cpp +79 -0
  81. data/ext/mtl/vcomp/file.h +39 -0
  82. data/ext/mtl/vcomp/filesystem.h +14 -0
  83. data/ext/mtl/vcomp/interpreter.cpp +85 -0
  84. data/ext/mtl/vcomp/interpreter.h +121 -0
  85. data/ext/mtl/vcomp/memory.cpp +241 -0
  86. data/ext/mtl/vcomp/memory.h +326 -0
  87. data/ext/mtl/vcomp/param.h +95 -0
  88. data/ext/mtl/vcomp/parser.cpp +427 -0
  89. data/ext/mtl/vcomp/parser.h +97 -0
  90. data/ext/mtl/vcomp/parser_xml.cpp +124 -0
  91. data/ext/mtl/vcomp/prodbuffer.cpp +125 -0
  92. data/ext/mtl/vcomp/prodbuffer.h +42 -0
  93. data/ext/mtl/vcomp/resource.h +17 -0
  94. data/ext/mtl/vcomp/stdlib_core.cpp +122 -0
  95. data/ext/mtl/vcomp/terminal.cpp +73 -0
  96. data/ext/mtl/vcomp/terminal.h +30 -0
  97. data/ext/mtl/vcomp/util.cpp +48 -0
  98. data/ext/mtl/vcomp/util.h +31 -0
  99. data/ext/mtl/vinterp.c +1349 -0
  100. data/ext/mtl/vinterp.h +11 -0
  101. data/ext/mtl/vloader.c +127 -0
  102. data/ext/mtl/vloader.h +31 -0
  103. data/ext/mtl/vlog.c +589 -0
  104. data/ext/mtl/vlog.h +69 -0
  105. data/ext/mtl/vmem.c +424 -0
  106. data/ext/mtl/vmem.h +107 -0
  107. data/ext/mtl/vnet.c +255 -0
  108. data/ext/mtl/vnet.h +19 -0
  109. data/lib/nabaztag_hack_kit/message/api.rb +39 -0
  110. data/lib/nabaztag_hack_kit/message/helper.rb +39 -0
  111. data/lib/nabaztag_hack_kit/message.rb +36 -0
  112. data/lib/nabaztag_hack_kit/server.rb +50 -0
  113. data/lib/nabaztag_hack_kit/version.rb +3 -0
  114. data/lib/nabaztag_hack_kit.rb +4 -0
  115. data/nabaztag_hack_kit.gemspec +29 -0
  116. data/public/bytecode.bin +0 -0
  117. data/test/bytecode/helper.mtl +60 -0
  118. data/test/bytecode/native.mtl +28 -0
  119. data/test/bytecode/test.mtl +221 -0
  120. data/test/spec_helper.rb +5 -0
  121. data/test/unit/message_spec.rb +56 -0
  122. metadata +209 -0
@@ -0,0 +1,221 @@
1
+ proto main 0;;
2
+
3
+ #include "../../ext/bytecode/lib/util"
4
+ #include "../../bytecode/lib/data_helper"
5
+ #include "../../bytecode/lib/buffer"
6
+
7
+ #include "./helper"
8
+
9
+ //-------------------- MAIN
10
+ fun main=
11
+
12
+ let test "strcmp" -> t in
13
+ (
14
+ assert_equalI 0 strcmp "" "";
15
+ assert_equalI 0 strcmp "T" "T";
16
+ assert_equalI -1 strcmp "T" "To";
17
+ assert_equalI -1 strcmp "T" "t";
18
+ assert_equalI 1 strcmp "t" "T";
19
+ assert_equalI 1 strcmp "To" "Tb";
20
+ 0);
21
+
22
+ let test "itoa" -> t in
23
+ (
24
+ assert_equalS "0" itoa 0;
25
+ assert_equalS "51" itoa 51;
26
+ assert_equalS "255" itoa 255;
27
+ assert_equalS "25500" itoa 25500;
28
+ 0);
29
+
30
+ let test "itoh" -> t in
31
+ (
32
+ assert_equalS "0" itoh 0;
33
+ assert_equalS "33" itoh 51; // 51 -> hex == 33
34
+ assert_equalS "ff" itoh 255; // 255 -> hex == ff
35
+ assert_equalS "3e517" itoh 255255; // 255255 -> hex == 3e517
36
+ 0);
37
+
38
+ let test "ctoa" -> t in
39
+ (
40
+ assert_equalS "\0" ctoa 0;
41
+ assert_equalS "\51" ctoa 51;
42
+ assert_equalS "\255" ctoa 255;
43
+ 0);
44
+
45
+ let test "webmac" -> t in
46
+ (
47
+ assert_equalS "0100" webmac "\1\0";
48
+ assert_equalS "0a00" webmac "\10\0";
49
+ assert_equalS "00ff" webmac "\0\255";
50
+ assert_equalS "ff00" webmac "\255\0";
51
+ 0);
52
+
53
+ let test "StoI3" -> t in
54
+ (
55
+ assert_equalI 0 StoI3 "\0\0\0dummy" ;
56
+ assert_equalI 0 StoI3 "\0\0\0" ;
57
+ assert_equalI 255 StoI3 "\0\0\255";
58
+ assert_equalI 65280 StoI3 "\0\255\0";
59
+ assert_equalI 6579300 StoI3 "\100\100\100";
60
+ assert_equalI 16711680 StoI3 "\255\0\0";
61
+ assert_equalI 16777215 StoI3 "\255\255\255";
62
+ 0);
63
+
64
+ let test "StoI2" -> t in
65
+ (
66
+ assert_equalI 0 StoI2 "\0\0\0" ;
67
+ assert_equalI 0 StoI2 "\0\0\255";
68
+ assert_equalI 255 StoI2 "\0\255\0";
69
+ 0);
70
+
71
+ let test "StoI" -> t in
72
+ (
73
+ assert_equalI 0 StoI "\0\0\0" ;
74
+ assert_equalI 255 StoI "\0\0\255";
75
+ assert_equalI 65280 StoI "\0\255\0";
76
+ 0);
77
+
78
+ let test "str_find_end" -> t in
79
+ (
80
+ assert_equalI nil str_find_end "" ;
81
+ assert_equalI 0 str_find_end "\255\0\0" ;
82
+ assert_equalI 2 str_find_end "AB\255";
83
+ assert_equalI 10 str_find_end "0123456789\255";
84
+ 0);
85
+
86
+ let test "find RIFID id" -> t in
87
+ (
88
+ assert_equalI 0 strstr "\208\2\26\1\1\1\1\1" "\208\2\26" 0;
89
+ assert_equalI 1 strstr "\1\208\2\26\1\1\1\1" "\208\2\26" 0;
90
+ assert_equalI nil strstr "\1\208\1\26\1\1\1\1" "\208\2\26" 0;
91
+ 0);
92
+
93
+ let test "COtoI" -> t in
94
+ (
95
+ assert_equalI 0 COtoI 0 0 0;
96
+ assert_equalI 51 COtoI 1 2 3;
97
+ assert_equalI 121 COtoI 3 2 1;
98
+ assert_equalI 215 COtoI 5 5 5;
99
+ 0);
100
+
101
+ let test "ItoCO" -> t in
102
+ (
103
+ assert_equalI 0x000000 ItoCO nil;
104
+ assert_equalI 0x000000 ItoCO 0;
105
+ assert_equalI 0x5a82aa ItoCO 51;
106
+ assert_equalI 0xaa825a ItoCO 121;
107
+ assert_equalI 0xFFFFFF ItoCO 215;
108
+ assert_equalI 0xFFFFFF ItoCO 255;
109
+ 0);
110
+
111
+ let test "CtoI3" -> t in
112
+ (
113
+ assert_equalI 0 CtoI3 "\0\0\0" 0;
114
+ assert_equalI 255 CtoI3 "\0\0\255" 0;
115
+ assert_equalI 65535 CtoI3 "\0\255\255" 0;
116
+ assert_equalI 16776959 CtoI3 "\0\255\255" 1;
117
+ 0);
118
+
119
+ let test "parseResponse" -> t in
120
+ (
121
+ assert_nil parseResponse "\127";
122
+ assert_nil parseResponse "\122";
123
+ assert_equalTL [11 "1"]::[10 "123"]::nil parseResponse "\127\10\0\0\3\49\50\51\11\0\0\1\49";
124
+ assert_equalTL [11 "1"]::[10 "123"]::nil parseResponse "\127\10\0\0\3\49\50\51\11\0\0\2\49";
125
+ assert_equalTL [51 "\2\49"]::[10 "12"]::nil parseResponse "\127\10\0\0\2\49\50\51\11\0\0\2\49";
126
+ //TODO check last ending byte
127
+ 0);
128
+
129
+ buffersInit 1;
130
+ let test "bufferFill" -> t in
131
+ (
132
+ bufferFill 0 "\0\255";
133
+
134
+ let buffers.0 -> buffer in
135
+ (
136
+ assert_equalS "\0\255" buffer.valB;
137
+ assert_equalI 2 buffer.lenB;
138
+ assert_equalI 1 buffer.stepB;
139
+ assert_equalI 0 buffer.posB;
140
+ assert_equalI 0 buffer.loopB;
141
+ 0);
142
+ 0);
143
+
144
+ let test "bufferRead" -> t in
145
+ (
146
+ assert_equalI 0 bufferRead 0;
147
+ assert_equalI 0xFF bufferRead 0;
148
+ assert_nil bufferRead 0;
149
+ 0);
150
+
151
+ let test "bufferFill3" -> t in
152
+ (
153
+ bufferFill3 0 "\0\0\0\255\255\255";
154
+
155
+ let buffers.0 -> buffer in
156
+ (
157
+ assert_equalS "\0\0\0\255\255\255" buffer.valB;
158
+ assert_equalI 6 buffer.lenB;
159
+ assert_equalI 3 buffer.stepB;
160
+ assert_equalI 0 buffer.posB;
161
+ assert_equalI 0 buffer.loopB;
162
+ 0);
163
+ 0);
164
+
165
+ let test "bufferRead3" -> t in
166
+ (
167
+ assert_equalI 0 bufferRead 0;
168
+ assert_equalI 0xFFFFFF bufferRead 0;
169
+ assert_nil bufferRead 0;
170
+ 0);
171
+
172
+ //-------- Loop
173
+ let test "loopBufferFill" -> t in
174
+ (
175
+ loopBufferFill 0 "\0\255\32";
176
+
177
+ let buffers.0 -> buffer in
178
+ (
179
+ assert_equalI 0 buffer.posB;
180
+ assert_equalI 1 buffer.loopB;
181
+ 0);
182
+ 0);
183
+
184
+ let test "loopBufferRead" -> t in
185
+ (
186
+ assert_equalI 0 bufferRead 0;
187
+ assert_equalI 0xFF bufferRead 0;
188
+ assert_equalI 0x20 bufferRead 0;
189
+ assert_equalI 0 bufferRead 0;
190
+ assert_equalI 0xFF bufferRead 0;
191
+ 0);
192
+
193
+ let test "bufferFill3" -> t in
194
+ (
195
+ loopBufferFill3 0 "\0\0\0\255\255\255";
196
+
197
+ let buffers.0 -> buffer in
198
+ (
199
+ assert_equalI 0 buffer.posB;
200
+ assert_equalI 1 buffer.loopB;
201
+ 0);
202
+ 0);
203
+
204
+ let test "bufferRead3" -> t in
205
+ (
206
+ assert_equalI 0 bufferRead 0;
207
+ assert_equalI 0xFFFFFF bufferRead 0;
208
+ assert_equalI 0 bufferRead 0;
209
+ assert_equalI 0xFFFFFF bufferRead 0;
210
+ 0);
211
+
212
+ let test "log" -> t in
213
+ (
214
+ log "test" {1};
215
+ assert_equalS "test,0,1,|" logs;
216
+ log "test" {56 67 90};
217
+ assert_equalS "test,0,1,|test,0,56,67,90,|" logs;
218
+ 0);
219
+
220
+ exit;
221
+ 0;;
@@ -0,0 +1,5 @@
1
+ require 'rspec'
2
+
3
+ $: << File.expand_path("../../lib", __FILE__)
4
+
5
+ require "nabaztag_hack_kit"
@@ -0,0 +1,56 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+
3
+ require "nabaztag_hack_kit/message"
4
+
5
+ describe NabaztagHackKit::Message do
6
+ CMD = 30
7
+ CMD1 = 31
8
+ let(:data) { [1,2,3,4,5] }
9
+ let(:size) { NabaztagHackKit::Message.to_3b(data.size) }
10
+
11
+ before do
12
+ NabaztagHackKit::Message.stub!(:full_message).and_return do |data|
13
+ data
14
+ end
15
+
16
+ NabaztagHackKit::Message.stub!(:pack).and_return do |data|
17
+ data
18
+ end
19
+ end
20
+
21
+ describe ".build" do
22
+ it "accepts single input" do
23
+ NabaztagHackKit::Message.build(CMD).should == [[CMD, 0, 0, 0]]
24
+ end
25
+
26
+ it "accepts flat input" do
27
+ NabaztagHackKit::Message.build(CMD, *data).should == [[CMD, *size, *data]]
28
+ end
29
+
30
+ it "accepts array input" do
31
+ NabaztagHackKit::Message.build([CMD, *data]).should == [[CMD, *size, *data]]
32
+ end
33
+
34
+ it "accepts multiple array input" do
35
+ NabaztagHackKit::Message.build([CMD, *data], [CMD1, *data]).should == [[CMD, *size, *data], [CMD1, *size, *data]]
36
+ end
37
+
38
+ it "accepts hash input" do
39
+ NabaztagHackKit::Message.build(CMD => data, CMD1 => data).should == [[CMD, *size, *data], [CMD1, *size, *data]]
40
+ end
41
+ end
42
+
43
+ describe ".to_3b" do
44
+ it "accepts zero" do
45
+ NabaztagHackKit::Message.to_3b(0).should == [0, 0, 0]
46
+ end
47
+
48
+ it "accepts 2 byte input" do
49
+ NabaztagHackKit::Message.to_3b(511).should == [0, 1, 255]
50
+ end
51
+
52
+ it "accepts 3 byte input" do
53
+ NabaztagHackKit::Message.to_3b(6334239).should == [96, 167, 31]
54
+ end
55
+ end
56
+ end
metadata ADDED
@@ -0,0 +1,209 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nabaztag_hack_kit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - RngTng - Tobias Bielohlawek
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-30 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sinatra
16
+ requirement: &70107235050200 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70107235050200
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &70107235049680 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70107235049680
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &70107235049220 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70107235049220
47
+ description: Sinatra server api framework to run custom bytecode on Nabaztag v1/v2.
48
+ Sources + Compiler included (linux only)
49
+ email:
50
+ - tobi@soundcloud.com
51
+ executables:
52
+ - mtl_comp
53
+ - mtl_simu
54
+ - mtl_merge
55
+ extensions:
56
+ - ext/mtl/extconf.rb
57
+ extra_rdoc_files: []
58
+ files:
59
+ - .gitignore
60
+ - .travis.yml
61
+ - CHANGELOG.md
62
+ - Gemfile
63
+ - README.md
64
+ - Rakefile
65
+ - bin/mtl_comp
66
+ - bin/mtl_merge
67
+ - bin/mtl_simu
68
+ - bytecode/lib/buffer.mtl
69
+ - bytecode/lib/button.mtl
70
+ - bytecode/lib/data_helper.mtl
71
+ - bytecode/lib/ear.mtl
72
+ - bytecode/lib/led.mtl
73
+ - bytecode/lib/rfid.mtl
74
+ - bytecode/main.mtl
75
+ - config.ru
76
+ - ext/bytecode/Commands.md
77
+ - ext/bytecode/Docs.md
78
+ - ext/bytecode/README.md
79
+ - ext/bytecode/lib/arp.mtl
80
+ - ext/bytecode/lib/cfg.mtl
81
+ - ext/bytecode/lib/choreos.mtl
82
+ - ext/bytecode/lib/dhcp.mtl
83
+ - ext/bytecode/lib/dns.mtl
84
+ - ext/bytecode/lib/http.mtl
85
+ - ext/bytecode/lib/tcp.mtl
86
+ - ext/bytecode/lib/udp.mtl
87
+ - ext/bytecode/lib/util.mtl
88
+ - ext/bytecode/lib/var.mtl
89
+ - ext/bytecode/lib/wifi.mtl
90
+ - ext/bytecode/nominal-ping.mtl
91
+ - ext/mtl/Makefile
92
+ - ext/mtl/README.md
93
+ - ext/mtl/bc.cpp
94
+ - ext/mtl/conf.bin.sans_password
95
+ - ext/mtl/config.txt
96
+ - ext/mtl/dumpbc.c
97
+ - ext/mtl/extconf.rb
98
+ - ext/mtl/linux_simu.c
99
+ - ext/mtl/linux_simuaudio.c
100
+ - ext/mtl/linux_simuaudio.h
101
+ - ext/mtl/linux_simunet.c
102
+ - ext/mtl/linux_simunet.h
103
+ - ext/mtl/log.c
104
+ - ext/mtl/log.h
105
+ - ext/mtl/main_compiler.cpp
106
+ - ext/mtl/main_simu.cpp
107
+ - ext/mtl/mp3/GTKANAL.H
108
+ - ext/mtl/mp3/LAYER3.C
109
+ - ext/mtl/mp3/TABINIT.C
110
+ - ext/mtl/mp3/common.c
111
+ - ext/mtl/mp3/dct64_i386.c
112
+ - ext/mtl/mp3/decode_i386.c
113
+ - ext/mtl/mp3/huffman.h
114
+ - ext/mtl/mp3/interface.c
115
+ - ext/mtl/mp3/mpg123.h
116
+ - ext/mtl/mp3/mpglib.h
117
+ - ext/mtl/properties.c
118
+ - ext/mtl/properties.h
119
+ - ext/mtl/simu.c
120
+ - ext/mtl/simuaudio.c
121
+ - ext/mtl/simuaudio.h
122
+ - ext/mtl/simunet.c
123
+ - ext/mtl/simunet.h
124
+ - ext/mtl/utils/correct_const.sh
125
+ - ext/mtl/vaudio.c
126
+ - ext/mtl/vaudio.h
127
+ - ext/mtl/vbc.h
128
+ - ext/mtl/vbc_str.h
129
+ - ext/mtl/vcomp/Makefile
130
+ - ext/mtl/vcomp/bootstrap.cpp
131
+ - ext/mtl/vcomp/compiler.cpp
132
+ - ext/mtl/vcomp/compiler.h
133
+ - ext/mtl/vcomp/compiler_file.cpp
134
+ - ext/mtl/vcomp/compiler_prog.cpp
135
+ - ext/mtl/vcomp/compiler_term.cpp
136
+ - ext/mtl/vcomp/compiler_type.cpp
137
+ - ext/mtl/vcomp/compiler_var.cpp
138
+ - ext/mtl/vcomp/file.cpp
139
+ - ext/mtl/vcomp/file.h
140
+ - ext/mtl/vcomp/filesystem.h
141
+ - ext/mtl/vcomp/interpreter.cpp
142
+ - ext/mtl/vcomp/interpreter.h
143
+ - ext/mtl/vcomp/memory.cpp
144
+ - ext/mtl/vcomp/memory.h
145
+ - ext/mtl/vcomp/param.h
146
+ - ext/mtl/vcomp/parser.cpp
147
+ - ext/mtl/vcomp/parser.h
148
+ - ext/mtl/vcomp/parser_xml.cpp
149
+ - ext/mtl/vcomp/prodbuffer.cpp
150
+ - ext/mtl/vcomp/prodbuffer.h
151
+ - ext/mtl/vcomp/resource.h
152
+ - ext/mtl/vcomp/stdlib_core.cpp
153
+ - ext/mtl/vcomp/terminal.cpp
154
+ - ext/mtl/vcomp/terminal.h
155
+ - ext/mtl/vcomp/util.cpp
156
+ - ext/mtl/vcomp/util.h
157
+ - ext/mtl/vinterp.c
158
+ - ext/mtl/vinterp.h
159
+ - ext/mtl/vloader.c
160
+ - ext/mtl/vloader.h
161
+ - ext/mtl/vlog.c
162
+ - ext/mtl/vlog.h
163
+ - ext/mtl/vmem.c
164
+ - ext/mtl/vmem.h
165
+ - ext/mtl/vnet.c
166
+ - ext/mtl/vnet.h
167
+ - lib/nabaztag_hack_kit.rb
168
+ - lib/nabaztag_hack_kit/message.rb
169
+ - lib/nabaztag_hack_kit/message/api.rb
170
+ - lib/nabaztag_hack_kit/message/helper.rb
171
+ - lib/nabaztag_hack_kit/server.rb
172
+ - lib/nabaztag_hack_kit/version.rb
173
+ - nabaztag_hack_kit.gemspec
174
+ - public/bytecode.bin
175
+ - test/bytecode/helper.mtl
176
+ - test/bytecode/native.mtl
177
+ - test/bytecode/test.mtl
178
+ - test/spec_helper.rb
179
+ - test/unit/message_spec.rb
180
+ homepage: https://github.com/rngtng/nabaztag_hack_kit
181
+ licenses: []
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ requirements: []
199
+ rubyforge_project:
200
+ rubygems_version: 1.8.15
201
+ signing_key:
202
+ specification_version: 3
203
+ summary: Sinatra server to run custom Nabaztag bytecode
204
+ test_files:
205
+ - test/bytecode/helper.mtl
206
+ - test/bytecode/native.mtl
207
+ - test/bytecode/test.mtl
208
+ - test/spec_helper.rb
209
+ - test/unit/message_spec.rb