ceml 0.3.0 → 0.3.1

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.
@@ -1,409 +0,0 @@
1
- # Autogenerated from a Treetop grammar. Edits may be lost.
2
-
3
-
4
- module CEML
5
- module Instructions
6
- include Treetop::Runtime
7
-
8
- def root
9
- @root || :instructions
10
- end
11
-
12
- include Lexer
13
-
14
- def _nt_instructions
15
- start_index = index
16
- if node_cache[:instructions].has_key?(index)
17
- cached = node_cache[:instructions][index]
18
- @index = cached.interval.end if cached
19
- return cached
20
- end
21
-
22
- s0, i0 = [], index
23
- loop do
24
- r1 = _nt_instruction
25
- if r1
26
- s0 << r1
27
- else
28
- break
29
- end
30
- end
31
- if s0.empty?
32
- @index = i0
33
- r0 = nil
34
- else
35
- r0 = instantiate_node(Instructions,input, i0...index, s0)
36
- end
37
-
38
- node_cache[:instructions][start_index] = r0
39
-
40
- r0
41
- end
42
-
43
- module Instruction0
44
-
45
- INTERPOLATE_REGEX = /\|(\w+)\.?(\w+)?\|/
46
-
47
- def interpolate(env)
48
- text =~ INTERPOLATE_REGEX or return text
49
- text.gsub(INTERPOLATE_REGEX) do |m|
50
- var, role = *[$2, $1].compact
51
- env.expand(role, var) or return false
52
- end
53
- end
54
-
55
- def role; id.text_value.to_sym; end
56
- def text; super.text_value; end
57
- def var; (!defined?(:about) || about.empty?) ? nil : about.varname.text_value; end
58
- def key; var || text; end
59
- def cmd;
60
- text_value =~ /^ask/ and return :ask
61
- text_value =~ /^(tell|assign)/ and return :tell
62
- end
63
- end
64
-
65
- def _nt_instruction
66
- start_index = index
67
- if node_cache[:instruction].has_key?(index)
68
- cached = node_cache[:instruction][index]
69
- @index = cached.interval.end if cached
70
- return cached
71
- end
72
-
73
- i0 = index
74
- r1 = _nt_ask_stmt
75
- if r1
76
- r0 = r1
77
- r0.extend(Instruction0)
78
- else
79
- r2 = _nt_tell_stmt
80
- if r2
81
- r0 = r2
82
- r0.extend(Instruction0)
83
- else
84
- r3 = _nt_assign_stmt
85
- if r3
86
- r0 = r3
87
- r0.extend(Instruction0)
88
- else
89
- @index = i0
90
- r0 = nil
91
- end
92
- end
93
- end
94
-
95
- node_cache[:instruction][start_index] = r0
96
-
97
- r0
98
- end
99
-
100
- module TellStmt0
101
- def ws
102
- elements[1]
103
- end
104
-
105
- def id
106
- elements[2]
107
- end
108
-
109
- def text
110
- elements[5]
111
- end
112
-
113
- def nl
114
- elements[6]
115
- end
116
- end
117
-
118
- def _nt_tell_stmt
119
- start_index = index
120
- if node_cache[:tell_stmt].has_key?(index)
121
- cached = node_cache[:tell_stmt][index]
122
- @index = cached.interval.end if cached
123
- return cached
124
- end
125
-
126
- i0, s0 = index, []
127
- if has_terminal?('tell', false, index)
128
- r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
129
- @index += 4
130
- else
131
- terminal_parse_failure('tell')
132
- r1 = nil
133
- end
134
- s0 << r1
135
- if r1
136
- r2 = _nt_ws
137
- s0 << r2
138
- if r2
139
- r3 = _nt_id
140
- s0 << r3
141
- if r3
142
- if has_terminal?(':', false, index)
143
- r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
144
- @index += 1
145
- else
146
- terminal_parse_failure(':')
147
- r4 = nil
148
- end
149
- s0 << r4
150
- if r4
151
- r6 = _nt_ws
152
- if r6
153
- r5 = r6
154
- else
155
- r5 = instantiate_node(SyntaxNode,input, index...index)
156
- end
157
- s0 << r5
158
- if r5
159
- r7 = _nt_text
160
- s0 << r7
161
- if r7
162
- r8 = _nt_nl
163
- s0 << r8
164
- end
165
- end
166
- end
167
- end
168
- end
169
- end
170
- if s0.last
171
- r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
172
- r0.extend(TellStmt0)
173
- else
174
- @index = i0
175
- r0 = nil
176
- end
177
-
178
- node_cache[:tell_stmt][start_index] = r0
179
-
180
- r0
181
- end
182
-
183
- module AssignStmt0
184
- def ws
185
- elements[1]
186
- end
187
-
188
- def id
189
- elements[2]
190
- end
191
-
192
- def text
193
- elements[5]
194
- end
195
-
196
- def nl
197
- elements[6]
198
- end
199
- end
200
-
201
- def _nt_assign_stmt
202
- start_index = index
203
- if node_cache[:assign_stmt].has_key?(index)
204
- cached = node_cache[:assign_stmt][index]
205
- @index = cached.interval.end if cached
206
- return cached
207
- end
208
-
209
- i0, s0 = index, []
210
- if has_terminal?('assign', false, index)
211
- r1 = instantiate_node(SyntaxNode,input, index...(index + 6))
212
- @index += 6
213
- else
214
- terminal_parse_failure('assign')
215
- r1 = nil
216
- end
217
- s0 << r1
218
- if r1
219
- r2 = _nt_ws
220
- s0 << r2
221
- if r2
222
- r3 = _nt_id
223
- s0 << r3
224
- if r3
225
- if has_terminal?(':', false, index)
226
- r4 = instantiate_node(SyntaxNode,input, index...(index + 1))
227
- @index += 1
228
- else
229
- terminal_parse_failure(':')
230
- r4 = nil
231
- end
232
- s0 << r4
233
- if r4
234
- r6 = _nt_ws
235
- if r6
236
- r5 = r6
237
- else
238
- r5 = instantiate_node(SyntaxNode,input, index...index)
239
- end
240
- s0 << r5
241
- if r5
242
- r7 = _nt_text
243
- s0 << r7
244
- if r7
245
- r8 = _nt_nl
246
- s0 << r8
247
- end
248
- end
249
- end
250
- end
251
- end
252
- end
253
- if s0.last
254
- r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
255
- r0.extend(AssignStmt0)
256
- else
257
- @index = i0
258
- r0 = nil
259
- end
260
-
261
- node_cache[:assign_stmt][start_index] = r0
262
-
263
- r0
264
- end
265
-
266
- module AskStmt0
267
- def ws1
268
- elements[0]
269
- end
270
-
271
- def ws2
272
- elements[2]
273
- end
274
-
275
- def varname
276
- elements[3]
277
- end
278
- end
279
-
280
- module AskStmt1
281
- def ws
282
- elements[1]
283
- end
284
-
285
- def id
286
- elements[2]
287
- end
288
-
289
- def about
290
- elements[3]
291
- end
292
-
293
- def text
294
- elements[6]
295
- end
296
-
297
- def nl
298
- elements[7]
299
- end
300
- end
301
-
302
- def _nt_ask_stmt
303
- start_index = index
304
- if node_cache[:ask_stmt].has_key?(index)
305
- cached = node_cache[:ask_stmt][index]
306
- @index = cached.interval.end if cached
307
- return cached
308
- end
309
-
310
- i0, s0 = index, []
311
- if has_terminal?('ask', false, index)
312
- r1 = instantiate_node(SyntaxNode,input, index...(index + 3))
313
- @index += 3
314
- else
315
- terminal_parse_failure('ask')
316
- r1 = nil
317
- end
318
- s0 << r1
319
- if r1
320
- r2 = _nt_ws
321
- s0 << r2
322
- if r2
323
- r3 = _nt_id
324
- s0 << r3
325
- if r3
326
- i5, s5 = index, []
327
- r6 = _nt_ws
328
- s5 << r6
329
- if r6
330
- if has_terminal?('re', false, index)
331
- r7 = instantiate_node(SyntaxNode,input, index...(index + 2))
332
- @index += 2
333
- else
334
- terminal_parse_failure('re')
335
- r7 = nil
336
- end
337
- s5 << r7
338
- if r7
339
- r8 = _nt_ws
340
- s5 << r8
341
- if r8
342
- r9 = _nt_id
343
- s5 << r9
344
- end
345
- end
346
- end
347
- if s5.last
348
- r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
349
- r5.extend(AskStmt0)
350
- else
351
- @index = i5
352
- r5 = nil
353
- end
354
- if r5
355
- r4 = r5
356
- else
357
- r4 = instantiate_node(SyntaxNode,input, index...index)
358
- end
359
- s0 << r4
360
- if r4
361
- if has_terminal?(':', false, index)
362
- r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
363
- @index += 1
364
- else
365
- terminal_parse_failure(':')
366
- r10 = nil
367
- end
368
- s0 << r10
369
- if r10
370
- r12 = _nt_ws
371
- if r12
372
- r11 = r12
373
- else
374
- r11 = instantiate_node(SyntaxNode,input, index...index)
375
- end
376
- s0 << r11
377
- if r11
378
- r13 = _nt_text
379
- s0 << r13
380
- if r13
381
- r14 = _nt_nl
382
- s0 << r14
383
- end
384
- end
385
- end
386
- end
387
- end
388
- end
389
- end
390
- if s0.last
391
- r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
392
- r0.extend(AskStmt1)
393
- else
394
- @index = i0
395
- r0 = nil
396
- end
397
-
398
- node_cache[:ask_stmt][start_index] = r0
399
-
400
- r0
401
- end
402
-
403
- end
404
-
405
- class InstructionsParser < Treetop::Runtime::CompiledParser
406
- include Instructions
407
- end
408
-
409
- end