manamana 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -3,7 +3,6 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
- Gemfile.lock
7
6
  InstalledFiles
8
7
  _yardoc
9
8
  coverage
data/Gemfile CHANGED
@@ -2,3 +2,14 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in manamana.gemspec
4
4
  gemspec
5
+
6
+ group :development do
7
+ gem "minitest"
8
+ gem "minitest-colorize", :git => 'git://github.com/sobrinho/minitest-colorize.git', :branch => 'master'
9
+ gem 'rb-fsevent', '~> 0.9'
10
+ gem "guard"
11
+ gem "guard-rake"
12
+ gem "guard-minitest"
13
+ gem 'ruby_gntp'
14
+ gem "racc"
15
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,58 @@
1
+ GIT
2
+ remote: git://github.com/sobrinho/minitest-colorize.git
3
+ revision: c75efb2064453bab38329a3f89487c9dbeb2887d
4
+ branch: master
5
+ specs:
6
+ minitest-colorize (0.0.5)
7
+ minitest (>= 2.0)
8
+
9
+ PATH
10
+ remote: .
11
+ specs:
12
+ manamana (0.0.2)
13
+ racc (= 1.4.9)
14
+
15
+ GEM
16
+ remote: https://rubygems.org/
17
+ specs:
18
+ coderay (1.0.9)
19
+ guard (1.6.2)
20
+ listen (>= 0.6.0)
21
+ lumberjack (>= 1.0.2)
22
+ pry (>= 0.9.10)
23
+ terminal-table (>= 1.4.3)
24
+ thor (>= 0.14.6)
25
+ guard-minitest (0.5.0)
26
+ guard (>= 0.4)
27
+ guard-rake (0.0.7)
28
+ guard
29
+ rake
30
+ listen (0.7.3)
31
+ lumberjack (1.0.2)
32
+ method_source (0.8.1)
33
+ minitest (4.6.2)
34
+ pry (0.9.12)
35
+ coderay (~> 1.0.5)
36
+ method_source (~> 0.8)
37
+ slop (~> 3.4)
38
+ racc (1.4.9)
39
+ rake (10.0.3)
40
+ rb-fsevent (0.9.3)
41
+ ruby_gntp (0.3.4)
42
+ slop (3.4.3)
43
+ terminal-table (1.4.5)
44
+ thor (0.17.0)
45
+
46
+ PLATFORMS
47
+ ruby
48
+
49
+ DEPENDENCIES
50
+ guard
51
+ guard-minitest
52
+ guard-rake
53
+ manamana!
54
+ minitest
55
+ minitest-colorize!
56
+ racc
57
+ rb-fsevent (~> 0.9)
58
+ ruby_gntp
data/Guardfile ADDED
@@ -0,0 +1,27 @@
1
+ # More info at https://github.com/guard/guard#readme
2
+
3
+ guard 'minitest' do
4
+ watch(%r|^lib/manamana\.rb|) { "test" }
5
+ watch(%r|^lib/manamana/rdsl/nodes\.rb|) { "test/lib/manamana/rdsl/requirements_node_test.rb" }
6
+ watch(%r|^lib/manamana/tdsl/nodes\.rb|) { "test/lib/manamana/tdsl/test_case_node_test.rb" }
7
+ watch(%r|^lib/(.*)/(.*)\.rb|) { |m| "test/lib/#{m[1]}/#{m[2]}_test.rb" }
8
+
9
+ watch(%r|^test/test_helper\.rb|) { "test" }
10
+ watch(%r|^test/lib/.*/.*_test\.rb|)
11
+ end
12
+
13
+ guard 'rake', :task => 'rdsl:compile_lexer' do
14
+ watch %r{^src/rdsl/lexer\.rl$}
15
+ end
16
+
17
+ guard 'rake', :task => 'rdsl:compile_parser' do
18
+ watch %r{^src/rdsl/parser\.y$}
19
+ end
20
+
21
+ guard 'rake', :task => 'tdsl:compile_lexer' do
22
+ watch %r{^src/tdsl/lexer\.rl$}
23
+ end
24
+
25
+ guard 'rake', :task => 'tdsl:compile_parser' do
26
+ watch %r{^src/tdsl/parser\.y$}
27
+ end
data/Rakefile CHANGED
@@ -1,2 +1,44 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.libs << 'lib/manamana'
7
+ t.test_files = FileList[
8
+ 'test/lib/manamana/*_test.rb',
9
+ 'test/lib/rsyntax/*_test.rb'
10
+ ]
11
+ t.verbose = false
12
+ end
13
+
14
+ task :default => :test
15
+
16
+
17
+ namespace :rdsl do
18
+
19
+ desc "Compiles the Requirements DSL lexer"
20
+ task :compile_lexer do |t|
21
+ `ragel -R src/rdsl/lexer.rl -o lib/manamana/rdsl/lexer.rb`
22
+ end
23
+
24
+ desc "Compiles the Requirements DSL parser"
25
+ task :compile_parser do |t|
26
+ `racc src/rdsl/parser.y -o lib/manamana/rdsl/parser.rb`
27
+ end
28
+
29
+ end
30
+
31
+
32
+ namespace :tdsl do
33
+
34
+ desc "Compiles the Test Case DSL lexer"
35
+ task :compile_lexer do |t|
36
+ `ragel -R src/tdsl/lexer.rl -o lib/manamana/tdsl/lexer.rb`
37
+ end
38
+
39
+ desc "Compiles the Test Case DSL parser"
40
+ task :compile_parser do |t|
41
+ `racc src/tdsl/parser.y -o lib/manamana/tdsl/parser.rb`
42
+ end
43
+
44
+ end
data/bin/mana ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ require 'bundler/setup'
3
+ require 'manamana'
4
+
5
+ include ManaMana
6
+ Compiler.new.start
7
+ Runner.new.start
@@ -0,0 +1,63 @@
1
+ module ManaMana
2
+
3
+ class Compiler
4
+ def start(options = {})
5
+ options[:requirements_path] = File.join(Dir.pwd, 'requirements')
6
+ options[:test_cases_path] = File.join(Dir.pwd, 'test_cases')
7
+ options[:utilities_path] = File.join(Dir.pwd, 'utilities')
8
+ options[:output_path] = File.join(Dir.pwd, '__spec__.rb')
9
+ @options = options
10
+
11
+ req_groups = load_and_parse_requirements.groups
12
+ test_cases = load_and_parse_test_cases
13
+
14
+ output = ""
15
+
16
+ req_groups.each do |group|
17
+ output << "describe \"#{ group.name }\" do\n\n"
18
+
19
+ group.all_requirements.each do |r|
20
+ output << test_cases.find(r).translate(r) + "\n"
21
+ end
22
+
23
+ output << "end\n\n"
24
+ end
25
+
26
+ file = File.new(options[:output_path], 'w')
27
+ file.write(output)
28
+ file.close
29
+ end
30
+
31
+ private
32
+
33
+ def load_and_parse_requirements
34
+ requirements = load_files options[:requirements_path]
35
+ nodes = RDSL::Parser.new.parse(requirements)
36
+ end
37
+
38
+ def load_and_parse_test_cases
39
+ test_cases = load_files options[:test_cases_path]
40
+ nodes = TDSL::Parser.new.parse(test_cases)
41
+ end
42
+
43
+ def options
44
+ @options
45
+ end
46
+
47
+ def load_files(in_dir, lines = '')
48
+ Dir.entries(in_dir).each do |entry|
49
+ next if ['.', '..'].include? entry
50
+
51
+ path = File.join(in_dir, entry)
52
+
53
+ if File.directory?(path)
54
+ lines = load_files(path, lines)
55
+ else
56
+ lines = lines + "\n\n" + File.open(path, "rb").read
57
+ end
58
+ end
59
+ lines
60
+ end
61
+ end
62
+
63
+ end
@@ -0,0 +1,484 @@
1
+
2
+ # line 1 "src/rdsl/lexer.rl"
3
+ # lib/manamana/rdsl/lexer.rb is autogenerated by
4
+ # ragel from src/rdsl/lexer.rl. Please edit the
5
+ # .rl file and not the .rb file.
6
+
7
+
8
+ # line 31 "src/rdsl/lexer.rl"
9
+
10
+
11
+ module ManaMana
12
+
13
+ module RDSL
14
+
15
+ class Lexer
16
+
17
+ def initialize
18
+
19
+ # line 20 "lib/manamana/rdsl/lexer.rb"
20
+ class << self
21
+ attr_accessor :_lexer_actions
22
+ private :_lexer_actions, :_lexer_actions=
23
+ end
24
+ self._lexer_actions = [
25
+ 0, 1, 2, 1, 3, 1, 5, 1,
26
+ 6, 1, 7, 1, 8, 1, 9, 1,
27
+ 10, 1, 11, 1, 12, 2, 0, 1,
28
+ 2, 3, 4
29
+ ]
30
+
31
+ class << self
32
+ attr_accessor :_lexer_key_offsets
33
+ private :_lexer_key_offsets, :_lexer_key_offsets=
34
+ end
35
+ self._lexer_key_offsets = [
36
+ 0, 0, 15, 28, 42, 54, 56, 57,
37
+ 58, 59, 60, 61, 62, 63, 70, 81,
38
+ 90, 91, 93, 94, 95, 98, 112, 117,
39
+ 121, 125, 127, 128, 133, 137, 141, 143
40
+ ]
41
+
42
+ class << self
43
+ attr_accessor :_lexer_trans_keys
44
+ private :_lexer_trans_keys, :_lexer_trans_keys=
45
+ end
46
+ self._lexer_trans_keys = [
47
+ 9, 10, 13, 32, 61, 93, 125, 40,
48
+ 41, 48, 57, 65, 91, 97, 123, 9,
49
+ 32, 61, 93, 125, 40, 41, 48, 57,
50
+ 65, 91, 97, 123, 9, 10, 13, 32,
51
+ 93, 125, 40, 41, 48, 57, 65, 91,
52
+ 97, 123, 9, 32, 93, 125, 40, 41,
53
+ 48, 57, 65, 91, 97, 123, 10, 13,
54
+ 10, 10, 10, 61, 61, 10, 32, 60,
55
+ 48, 57, 65, 90, 97, 122, 9, 10,
56
+ 13, 32, 60, 48, 57, 65, 90, 97,
57
+ 122, 9, 32, 60, 48, 57, 65, 90,
58
+ 97, 122, 10, 10, 13, 10, 10, 124,
59
+ 32, 126, 32, 42, 93, 124, 9, 13,
60
+ 40, 41, 48, 57, 65, 91, 97, 125,
61
+ 9, 10, 13, 32, 126, 9, 10, 13,
62
+ 32, 10, 13, 32, 126, 10, 13, 61,
63
+ 9, 10, 13, 32, 126, 9, 10, 13,
64
+ 32, 10, 13, 32, 126, 10, 13, 124,
65
+ 32, 126, 0
66
+ ]
67
+
68
+ class << self
69
+ attr_accessor :_lexer_single_lengths
70
+ private :_lexer_single_lengths, :_lexer_single_lengths=
71
+ end
72
+ self._lexer_single_lengths = [
73
+ 0, 7, 5, 6, 4, 2, 1, 1,
74
+ 1, 1, 1, 1, 1, 1, 5, 3,
75
+ 1, 2, 1, 1, 1, 4, 3, 4,
76
+ 2, 2, 1, 3, 4, 2, 2, 1
77
+ ]
78
+
79
+ class << self
80
+ attr_accessor :_lexer_range_lengths
81
+ private :_lexer_range_lengths, :_lexer_range_lengths=
82
+ end
83
+ self._lexer_range_lengths = [
84
+ 0, 4, 4, 4, 4, 0, 0, 0,
85
+ 0, 0, 0, 0, 0, 3, 3, 3,
86
+ 0, 0, 0, 0, 1, 5, 1, 0,
87
+ 1, 0, 0, 1, 0, 1, 0, 1
88
+ ]
89
+
90
+ class << self
91
+ attr_accessor :_lexer_index_offsets
92
+ private :_lexer_index_offsets, :_lexer_index_offsets=
93
+ end
94
+ self._lexer_index_offsets = [
95
+ 0, 0, 12, 22, 33, 42, 45, 47,
96
+ 49, 51, 53, 55, 57, 59, 64, 73,
97
+ 80, 82, 85, 87, 89, 92, 102, 107,
98
+ 112, 116, 119, 121, 126, 131, 135, 138
99
+ ]
100
+
101
+ class << self
102
+ attr_accessor :_lexer_indicies
103
+ private :_lexer_indicies, :_lexer_indicies=
104
+ end
105
+ self._lexer_indicies = [
106
+ 1, 2, 3, 1, 5, 4, 4, 4,
107
+ 4, 4, 4, 0, 1, 1, 5, 4,
108
+ 4, 4, 4, 4, 4, 0, 6, 2,
109
+ 3, 6, 4, 4, 4, 4, 4, 4,
110
+ 0, 6, 6, 4, 4, 4, 4, 4,
111
+ 4, 0, 2, 3, 0, 2, 0, 7,
112
+ 0, 8, 0, 9, 0, 10, 0, 11,
113
+ 0, 12, 13, 14, 14, 14, 14, 13,
114
+ 16, 17, 18, 16, 19, 19, 19, 19,
115
+ 15, 16, 16, 19, 19, 19, 19, 15,
116
+ 20, 15, 17, 18, 15, 17, 15, 21,
117
+ 15, 24, 23, 22, 25, 27, 26, 23,
118
+ 25, 26, 26, 26, 26, 13, 29, 11,
119
+ 30, 26, 28, 29, 11, 30, 29, 28,
120
+ 8, 31, 4, 28, 7, 32, 28, 10,
121
+ 33, 35, 20, 36, 14, 34, 35, 20,
122
+ 36, 35, 34, 20, 36, 19, 34, 21,
123
+ 37, 34, 24, 23, 38, 0
124
+ ]
125
+
126
+ class << self
127
+ attr_accessor :_lexer_trans_targs
128
+ private :_lexer_trans_targs, :_lexer_trans_targs=
129
+ end
130
+ self._lexer_trans_targs = [
131
+ 21, 2, 25, 6, 24, 9, 4, 5,
132
+ 3, 10, 26, 1, 13, 0, 27, 21,
133
+ 15, 30, 18, 29, 14, 17, 21, 20,
134
+ 31, 21, 22, 12, 21, 23, 11, 8,
135
+ 7, 21, 21, 28, 16, 19, 21
136
+ ]
137
+
138
+ class << self
139
+ attr_accessor :_lexer_trans_actions
140
+ private :_lexer_trans_actions, :_lexer_trans_actions=
141
+ end
142
+ self._lexer_trans_actions = [
143
+ 17, 0, 3, 0, 3, 0, 0, 0,
144
+ 0, 0, 0, 0, 0, 0, 3, 15,
145
+ 0, 3, 0, 3, 0, 0, 19, 0,
146
+ 24, 5, 3, 0, 13, 3, 0, 0,
147
+ 0, 7, 9, 3, 0, 0, 11
148
+ ]
149
+
150
+ class << self
151
+ attr_accessor :_lexer_to_state_actions
152
+ private :_lexer_to_state_actions, :_lexer_to_state_actions=
153
+ end
154
+ self._lexer_to_state_actions = [
155
+ 0, 0, 0, 0, 0, 0, 0, 0,
156
+ 0, 0, 0, 0, 0, 0, 0, 0,
157
+ 0, 0, 0, 0, 0, 21, 0, 0,
158
+ 0, 0, 0, 0, 0, 0, 0, 0
159
+ ]
160
+
161
+ class << self
162
+ attr_accessor :_lexer_from_state_actions
163
+ private :_lexer_from_state_actions, :_lexer_from_state_actions=
164
+ end
165
+ self._lexer_from_state_actions = [
166
+ 0, 0, 0, 0, 0, 0, 0, 0,
167
+ 0, 0, 0, 0, 0, 0, 0, 0,
168
+ 0, 0, 0, 0, 0, 1, 0, 0,
169
+ 0, 0, 0, 0, 0, 0, 0, 0
170
+ ]
171
+
172
+ class << self
173
+ attr_accessor :_lexer_eof_trans
174
+ private :_lexer_eof_trans, :_lexer_eof_trans=
175
+ end
176
+ self._lexer_eof_trans = [
177
+ 0, 1, 1, 1, 1, 1, 1, 1,
178
+ 1, 1, 1, 1, 0, 0, 16, 16,
179
+ 16, 16, 16, 16, 23, 0, 29, 29,
180
+ 29, 29, 34, 35, 35, 35, 35, 39
181
+ ]
182
+
183
+ class << self
184
+ attr_accessor :lexer_start
185
+ end
186
+ self.lexer_start = 21;
187
+ class << self
188
+ attr_accessor :lexer_first_final
189
+ end
190
+ self.lexer_first_final = 21;
191
+ class << self
192
+ attr_accessor :lexer_error
193
+ end
194
+ self.lexer_error = 0;
195
+
196
+ class << self
197
+ attr_accessor :lexer_en_main
198
+ end
199
+ self.lexer_en_main = 21;
200
+
201
+
202
+ # line 41 "src/rdsl/lexer.rl"
203
+ # %% this just fixes syntax highlighting in TextMate et al.
204
+ end
205
+
206
+ def emit_group_name(token_array, data, ts, te)
207
+ value = data[ts...te].pack("c*").split(/=+/)[0].strip
208
+ token_array << [:GROUP, value]
209
+ end
210
+
211
+ def emit_row(data, target_array, ts, te)
212
+ cells = data[(ts + 1)...( te - 1)].pack("c*")
213
+
214
+ # ignore borders
215
+ return if /^\-+/ =~ cells
216
+
217
+ target_array << [:ROW, 'Row']
218
+ cells.split('|').each do |cell|
219
+ target_array << [:CELL, cell.strip]
220
+ end
221
+ end
222
+
223
+ def emit_requirement(token_array, data, ts, te)
224
+ value = data[ts...te].pack("c*").gsub(/^\* /, '').split.join(' ')
225
+ token_array << [:REQUIREMENT, value]
226
+ end
227
+
228
+ def emit_text(token_array, data, ts, te)
229
+ value = data[ts...te].pack("c*").strip.split.join(' ')
230
+ token_array << [:TEXT, value]
231
+ end
232
+
233
+ def tokenize(data)
234
+ data = data.unpack("c*") if(data.is_a?(String))
235
+ eof = data.length
236
+ token_array = []
237
+
238
+
239
+ # line 240 "lib/manamana/rdsl/lexer.rb"
240
+ begin
241
+ p ||= 0
242
+ pe ||= data.length
243
+ cs = lexer_start
244
+ ts = nil
245
+ te = nil
246
+ act = 0
247
+ end
248
+
249
+ # line 77 "src/rdsl/lexer.rl"
250
+
251
+ # line 252 "lib/manamana/rdsl/lexer.rb"
252
+ begin
253
+ _klen, _trans, _keys, _acts, _nacts = nil
254
+ _goto_level = 0
255
+ _resume = 10
256
+ _eof_trans = 15
257
+ _again = 20
258
+ _test_eof = 30
259
+ _out = 40
260
+ while true
261
+ _trigger_goto = false
262
+ if _goto_level <= 0
263
+ if p == pe
264
+ _goto_level = _test_eof
265
+ next
266
+ end
267
+ if cs == 0
268
+ _goto_level = _out
269
+ next
270
+ end
271
+ end
272
+ if _goto_level <= _resume
273
+ _acts = _lexer_from_state_actions[cs]
274
+ _nacts = _lexer_actions[_acts]
275
+ _acts += 1
276
+ while _nacts > 0
277
+ _nacts -= 1
278
+ _acts += 1
279
+ case _lexer_actions[_acts - 1]
280
+ when 2 then
281
+ # line 1 "NONE"
282
+ begin
283
+ ts = p
284
+ end
285
+ # line 286 "lib/manamana/rdsl/lexer.rb"
286
+ end # from state action switch
287
+ end
288
+ if _trigger_goto
289
+ next
290
+ end
291
+ _keys = _lexer_key_offsets[cs]
292
+ _trans = _lexer_index_offsets[cs]
293
+ _klen = _lexer_single_lengths[cs]
294
+ _break_match = false
295
+
296
+ begin
297
+ if _klen > 0
298
+ _lower = _keys
299
+ _upper = _keys + _klen - 1
300
+
301
+ loop do
302
+ break if _upper < _lower
303
+ _mid = _lower + ( (_upper - _lower) >> 1 )
304
+
305
+ if data[p].ord < _lexer_trans_keys[_mid]
306
+ _upper = _mid - 1
307
+ elsif data[p].ord > _lexer_trans_keys[_mid]
308
+ _lower = _mid + 1
309
+ else
310
+ _trans += (_mid - _keys)
311
+ _break_match = true
312
+ break
313
+ end
314
+ end # loop
315
+ break if _break_match
316
+ _keys += _klen
317
+ _trans += _klen
318
+ end
319
+ _klen = _lexer_range_lengths[cs]
320
+ if _klen > 0
321
+ _lower = _keys
322
+ _upper = _keys + (_klen << 1) - 2
323
+ loop do
324
+ break if _upper < _lower
325
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1)
326
+ if data[p].ord < _lexer_trans_keys[_mid]
327
+ _upper = _mid - 2
328
+ elsif data[p].ord > _lexer_trans_keys[_mid+1]
329
+ _lower = _mid + 2
330
+ else
331
+ _trans += ((_mid - _keys) >> 1)
332
+ _break_match = true
333
+ break
334
+ end
335
+ end # loop
336
+ break if _break_match
337
+ _trans += _klen
338
+ end
339
+ end while false
340
+ _trans = _lexer_indicies[_trans]
341
+ end
342
+ if _goto_level <= _eof_trans
343
+ cs = _lexer_trans_targs[_trans]
344
+ if _lexer_trans_actions[_trans] != 0
345
+ _acts = _lexer_trans_actions[_trans]
346
+ _nacts = _lexer_actions[_acts]
347
+ _acts += 1
348
+ while _nacts > 0
349
+ _nacts -= 1
350
+ _acts += 1
351
+ case _lexer_actions[_acts - 1]
352
+ when 3 then
353
+ # line 1 "NONE"
354
+ begin
355
+ te = p+1
356
+ end
357
+ when 4 then
358
+ # line 25 "src/rdsl/lexer.rl"
359
+ begin
360
+ act = 3; end
361
+ when 5 then
362
+ # line 28 "src/rdsl/lexer.rl"
363
+ begin
364
+ te = p+1
365
+ end
366
+ when 6 then
367
+ # line 23 "src/rdsl/lexer.rl"
368
+ begin
369
+ te = p
370
+ p = p - 1; begin emit_group_name(token_array, data, ts, te) end
371
+ end
372
+ when 7 then
373
+ # line 24 "src/rdsl/lexer.rl"
374
+ begin
375
+ te = p
376
+ p = p - 1; begin emit_requirement(token_array, data, ts, te) end
377
+ end
378
+ when 8 then
379
+ # line 25 "src/rdsl/lexer.rl"
380
+ begin
381
+ te = p
382
+ p = p - 1; begin emit_row(data, token_array, ts, te) end
383
+ end
384
+ when 9 then
385
+ # line 26 "src/rdsl/lexer.rl"
386
+ begin
387
+ te = p
388
+ p = p - 1; begin emit_text(token_array, data, ts, te) end
389
+ end
390
+ when 10 then
391
+ # line 24 "src/rdsl/lexer.rl"
392
+ begin
393
+ begin p = ((te))-1; end
394
+ begin emit_requirement(token_array, data, ts, te) end
395
+ end
396
+ when 11 then
397
+ # line 26 "src/rdsl/lexer.rl"
398
+ begin
399
+ begin p = ((te))-1; end
400
+ begin emit_text(token_array, data, ts, te) end
401
+ end
402
+ when 12 then
403
+ # line 1 "NONE"
404
+ begin
405
+ case act
406
+ when 0 then
407
+ begin begin
408
+ cs = 0
409
+ _trigger_goto = true
410
+ _goto_level = _again
411
+ break
412
+ end
413
+ end
414
+ when 3 then
415
+ begin begin p = ((te))-1; end
416
+ emit_row(data, token_array, ts, te) end
417
+ end
418
+ end
419
+ # line 420 "lib/manamana/rdsl/lexer.rb"
420
+ end # action switch
421
+ end
422
+ end
423
+ if _trigger_goto
424
+ next
425
+ end
426
+ end
427
+ if _goto_level <= _again
428
+ _acts = _lexer_to_state_actions[cs]
429
+ _nacts = _lexer_actions[_acts]
430
+ _acts += 1
431
+ while _nacts > 0
432
+ _nacts -= 1
433
+ _acts += 1
434
+ case _lexer_actions[_acts - 1]
435
+ when 0 then
436
+ # line 1 "NONE"
437
+ begin
438
+ ts = nil; end
439
+ when 1 then
440
+ # line 1 "NONE"
441
+ begin
442
+ act = 0
443
+ end
444
+ # line 445 "lib/manamana/rdsl/lexer.rb"
445
+ end # to state action switch
446
+ end
447
+ if _trigger_goto
448
+ next
449
+ end
450
+ if cs == 0
451
+ _goto_level = _out
452
+ next
453
+ end
454
+ p += 1
455
+ if p != pe
456
+ _goto_level = _resume
457
+ next
458
+ end
459
+ end
460
+ if _goto_level <= _test_eof
461
+ if p == eof
462
+ if _lexer_eof_trans[cs] > 0
463
+ _trans = _lexer_eof_trans[cs] - 1;
464
+ _goto_level = _eof_trans
465
+ next;
466
+ end
467
+ end
468
+ end
469
+ if _goto_level <= _out
470
+ break
471
+ end
472
+ end
473
+ end
474
+
475
+ # line 78 "src/rdsl/lexer.rl"
476
+
477
+ token_array
478
+ end
479
+
480
+ end
481
+
482
+ end
483
+
484
+ end