mucgly 0.0.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.
- data/CHANGELOG.rdoc +3 -0
- data/LICENSE +20 -0
- data/README.rdoc +292 -0
- data/Rakefile +29 -0
- data/bin/mucgly +220 -0
- data/doc/EasyFile/InOut.html +2097 -0
- data/doc/EasyFile/Read.html +1334 -0
- data/doc/EasyFile/ReadStack.html +461 -0
- data/doc/EasyFile/Stacked.html +411 -0
- data/doc/EasyFile/String.html +570 -0
- data/doc/EasyFile/Write.html +1084 -0
- data/doc/EasyFile/WriteStack.html +305 -0
- data/doc/EasyFile.html +155 -0
- data/doc/Mucgly/Env.html +1675 -0
- data/doc/Mucgly/MucglyFile/ParseState.html +1662 -0
- data/doc/Mucgly/MucglyFile/Token.html +529 -0
- data/doc/Mucgly/MucglyFile.html +545 -0
- data/doc/Mucgly/Separators.html +521 -0
- data/doc/Mucgly.html +244 -0
- data/doc/_index.html +261 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +338 -0
- data/doc/file.CHANGELOG.html +79 -0
- data/doc/file.README.html +390 -0
- data/doc/file_list.html +58 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +390 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +178 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +742 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/easyfile.rb +720 -0
- data/lib/mucgly.rb +627 -0
- data/test/test_basic.rx.txt +19 -0
- data/test/test_include.rb +6 -0
- data/test/test_include.txt +3 -0
- data/test/test_mucgly.rb +32 -0
- data/test/test_multi.rx.txt +4 -0
- data/test/test_specials_cli.rx.txt +11 -0
- data/test/test_specials_cmd.rx.txt +53 -0
- metadata +98 -0
@@ -0,0 +1,1662 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: Mucgly::MucglyFile::ParseState
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.6.1
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../../';
|
20
|
+
framesUrl = "../../frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../../_index.html">Index (P)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../../Mucgly.html" title="Mucgly (module)">Mucgly</a></span></span> » <span class='title'><span class='object_link'><a href="../MucglyFile.html" title="Mucgly::MucglyFile (class)">MucglyFile</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">ParseState</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Class: Mucgly::MucglyFile::ParseState
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Object</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">Mucgly::MucglyFile::ParseState</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
<dt class="r2 last">Defined in:</dt>
|
97
|
+
<dd class="r2 last">lib/mucgly.rb</dd>
|
98
|
+
|
99
|
+
</dl>
|
100
|
+
<div class="clear"></div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
|
105
|
+
<p>Parse state regarding buffered tokens.</p>
|
106
|
+
|
107
|
+
|
108
|
+
</div>
|
109
|
+
</div>
|
110
|
+
<div class="tags">
|
111
|
+
|
112
|
+
|
113
|
+
</div>
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
<h2>
|
122
|
+
Instance Method Summary
|
123
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
124
|
+
</h2>
|
125
|
+
|
126
|
+
<ul class="summary">
|
127
|
+
|
128
|
+
<li class="public ">
|
129
|
+
<span class="summary_signature">
|
130
|
+
|
131
|
+
<a href="#dec-instance_method" title="#dec (instance method)">- (Object) <strong>dec</strong> </a>
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
</span>
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
<span class="summary_desc"><div class='inline'>
|
146
|
+
<p>Dec macro level.</p>
|
147
|
+
</div></span>
|
148
|
+
|
149
|
+
</li>
|
150
|
+
|
151
|
+
|
152
|
+
<li class="public ">
|
153
|
+
<span class="summary_signature">
|
154
|
+
|
155
|
+
<a href="#eval-instance_method" title="#eval (instance method)">- (Object) <strong>eval</strong>(list) </a>
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
</span>
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
<span class="summary_desc"><div class='inline'>
|
170
|
+
<p>Evaluate shifted tokens.</p>
|
171
|
+
</div></span>
|
172
|
+
|
173
|
+
</li>
|
174
|
+
|
175
|
+
|
176
|
+
<li class="public ">
|
177
|
+
<span class="summary_signature">
|
178
|
+
|
179
|
+
<a href="#findInInput-instance_method" title="#findInInput (instance method)">- (Object) <strong>findInInput</strong>(this) </a>
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
</span>
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
<span class="summary_desc"><div class='inline'>
|
194
|
+
<p>Find a given string from input (true/false).</p>
|
195
|
+
</div></span>
|
196
|
+
|
197
|
+
</li>
|
198
|
+
|
199
|
+
|
200
|
+
<li class="public ">
|
201
|
+
<span class="summary_signature">
|
202
|
+
|
203
|
+
<a href="#flush-instance_method" title="#flush (instance method)">- (Object) <strong>flush</strong> </a>
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
</span>
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
<span class="summary_desc"><div class='inline'>
|
218
|
+
<p>Output shifted tokens.</p>
|
219
|
+
</div></span>
|
220
|
+
|
221
|
+
</li>
|
222
|
+
|
223
|
+
|
224
|
+
<li class="public ">
|
225
|
+
<span class="summary_signature">
|
226
|
+
|
227
|
+
<a href="#getChars-instance_method" title="#getChars (instance method)">- (Object) <strong>getChars</strong>(cnt = 1) </a>
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
</span>
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
<span class="summary_desc"><div class='inline'>
|
242
|
+
<p>Return char either from character buffer (String) or file stream.</p>
|
243
|
+
</div></span>
|
244
|
+
|
245
|
+
</li>
|
246
|
+
|
247
|
+
|
248
|
+
<li class="public ">
|
249
|
+
<span class="summary_signature">
|
250
|
+
|
251
|
+
<a href="#getToken-instance_method" title="#getToken (instance method)">- (Object) <strong>getToken</strong> </a>
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
</span>
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
266
|
+
|
267
|
+
</li>
|
268
|
+
|
269
|
+
|
270
|
+
<li class="public ">
|
271
|
+
<span class="summary_signature">
|
272
|
+
|
273
|
+
<a href="#getTokenRaw-instance_method" title="#getTokenRaw (instance method)">- (Object) <strong>getTokenRaw</strong> </a>
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
</span>
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
<span class="summary_desc"><div class='inline'>
|
288
|
+
<p>Create a token based on the current characters.</p>
|
289
|
+
</div></span>
|
290
|
+
|
291
|
+
</li>
|
292
|
+
|
293
|
+
|
294
|
+
<li class="public ">
|
295
|
+
<span class="summary_signature">
|
296
|
+
|
297
|
+
<a href="#inc-instance_method" title="#inc (instance method)">- (Object) <strong>inc</strong> </a>
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
</span>
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
<span class="summary_desc"><div class='inline'>
|
312
|
+
<p>Inc macro level.</p>
|
313
|
+
</div></span>
|
314
|
+
|
315
|
+
</li>
|
316
|
+
|
317
|
+
|
318
|
+
<li class="public ">
|
319
|
+
<span class="summary_signature">
|
320
|
+
|
321
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (ParseState) <strong>initialize</strong>(host) </a>
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
</span>
|
326
|
+
|
327
|
+
|
328
|
+
<span class="note title constructor">constructor</span>
|
329
|
+
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
<span class="summary_desc"><div class='inline'>
|
338
|
+
<p>A new instance of ParseState.</p>
|
339
|
+
</div></span>
|
340
|
+
|
341
|
+
</li>
|
342
|
+
|
343
|
+
|
344
|
+
<li class="public ">
|
345
|
+
<span class="summary_signature">
|
346
|
+
|
347
|
+
<a href="#inside%3F-instance_method" title="#inside? (instance method)">- (Boolean) <strong>inside?</strong> </a>
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
</span>
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
<span class="summary_desc"><div class='inline'>
|
362
|
+
<p>Inside macro def.</p>
|
363
|
+
</div></span>
|
364
|
+
|
365
|
+
</li>
|
366
|
+
|
367
|
+
|
368
|
+
<li class="public ">
|
369
|
+
<span class="summary_signature">
|
370
|
+
|
371
|
+
<a href="#output-instance_method" title="#output (instance method)">- (Object) <strong>output</strong>(list) </a>
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
</span>
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
<span class="summary_desc"><div class='inline'>
|
386
|
+
<p>Output list of tokens.</p>
|
387
|
+
</div></span>
|
388
|
+
|
389
|
+
</li>
|
390
|
+
|
391
|
+
|
392
|
+
<li class="public ">
|
393
|
+
<span class="summary_signature">
|
394
|
+
|
395
|
+
<a href="#pop-instance_method" title="#pop (instance method)">- (Object) <strong>pop</strong> </a>
|
396
|
+
|
397
|
+
|
398
|
+
|
399
|
+
</span>
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
|
409
|
+
<span class="summary_desc"><div class='inline'>
|
410
|
+
<p>Pop top parse context.</p>
|
411
|
+
</div></span>
|
412
|
+
|
413
|
+
</li>
|
414
|
+
|
415
|
+
|
416
|
+
<li class="public ">
|
417
|
+
<span class="summary_signature">
|
418
|
+
|
419
|
+
<a href="#push-instance_method" title="#push (instance method)">- (Object) <strong>push</strong> </a>
|
420
|
+
|
421
|
+
|
422
|
+
|
423
|
+
</span>
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
|
432
|
+
|
433
|
+
<span class="summary_desc"><div class='inline'>
|
434
|
+
<p>Push new parse context.</p>
|
435
|
+
</div></span>
|
436
|
+
|
437
|
+
</li>
|
438
|
+
|
439
|
+
|
440
|
+
<li class="public ">
|
441
|
+
<span class="summary_signature">
|
442
|
+
|
443
|
+
<a href="#putBack-instance_method" title="#putBack (instance method)">- (Object) <strong>putBack</strong>(c) </a>
|
444
|
+
|
445
|
+
|
446
|
+
|
447
|
+
</span>
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
|
454
|
+
|
455
|
+
|
456
|
+
|
457
|
+
<span class="summary_desc"><div class='inline'>
|
458
|
+
<p>Put character back.</p>
|
459
|
+
</div></span>
|
460
|
+
|
461
|
+
</li>
|
462
|
+
|
463
|
+
|
464
|
+
<li class="public ">
|
465
|
+
<span class="summary_signature">
|
466
|
+
|
467
|
+
<a href="#shift-instance_method" title="#shift (instance method)">- (Object) <strong>shift</strong>(token) </a>
|
468
|
+
|
469
|
+
|
470
|
+
|
471
|
+
</span>
|
472
|
+
|
473
|
+
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
<span class="summary_desc"><div class='inline'>
|
482
|
+
<p>Add token.</p>
|
483
|
+
</div></span>
|
484
|
+
|
485
|
+
</li>
|
486
|
+
|
487
|
+
|
488
|
+
</ul>
|
489
|
+
|
490
|
+
|
491
|
+
<div id="constructor_details" class="method_details_list">
|
492
|
+
<h2>Constructor Details</h2>
|
493
|
+
|
494
|
+
<div class="method_details first">
|
495
|
+
<h3 class="signature first" id="initialize-instance_method">
|
496
|
+
|
497
|
+
- (<tt><span class='object_link'><a href="" title="Mucgly::MucglyFile::ParseState (class)">ParseState</a></span></tt>) <strong>initialize</strong>(host)
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
|
502
|
+
|
503
|
+
</h3><div class="docstring">
|
504
|
+
<div class="discussion">
|
505
|
+
|
506
|
+
<p>A new instance of ParseState</p>
|
507
|
+
|
508
|
+
|
509
|
+
</div>
|
510
|
+
</div>
|
511
|
+
<div class="tags">
|
512
|
+
|
513
|
+
|
514
|
+
</div><table class="source_code">
|
515
|
+
<tr>
|
516
|
+
<td>
|
517
|
+
<pre class="lines">
|
518
|
+
|
519
|
+
|
520
|
+
189
|
521
|
+
190
|
522
|
+
191
|
523
|
+
192
|
524
|
+
193
|
525
|
+
194</pre>
|
526
|
+
</td>
|
527
|
+
<td>
|
528
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 189</span>
|
529
|
+
|
530
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span> <span class='id identifier rubyid_host'>host</span> <span class='rparen'>)</span>
|
531
|
+
<span class='ivar'>@host</span> <span class='op'>=</span> <span class='id identifier rubyid_host'>host</span>
|
532
|
+
<span class='ivar'>@stack</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rbracket'>]</span>
|
533
|
+
<span class='ivar'>@level</span> <span class='op'>=</span> <span class='int'>0</span>
|
534
|
+
<span class='ivar'>@active</span> <span class='op'>=</span> <span class='kw'>false</span>
|
535
|
+
<span class='kw'>end</span></pre>
|
536
|
+
</td>
|
537
|
+
</tr>
|
538
|
+
</table>
|
539
|
+
</div>
|
540
|
+
|
541
|
+
</div>
|
542
|
+
|
543
|
+
|
544
|
+
<div id="instance_method_details" class="method_details_list">
|
545
|
+
<h2>Instance Method Details</h2>
|
546
|
+
|
547
|
+
|
548
|
+
<div class="method_details first">
|
549
|
+
<h3 class="signature first" id="dec-instance_method">
|
550
|
+
|
551
|
+
- (<tt>Object</tt>) <strong>dec</strong>
|
552
|
+
|
553
|
+
|
554
|
+
|
555
|
+
|
556
|
+
|
557
|
+
</h3><div class="docstring">
|
558
|
+
<div class="discussion">
|
559
|
+
|
560
|
+
<p>Dec macro level.</p>
|
561
|
+
|
562
|
+
|
563
|
+
</div>
|
564
|
+
</div>
|
565
|
+
<div class="tags">
|
566
|
+
|
567
|
+
|
568
|
+
</div><table class="source_code">
|
569
|
+
<tr>
|
570
|
+
<td>
|
571
|
+
<pre class="lines">
|
572
|
+
|
573
|
+
|
574
|
+
254
|
575
|
+
255
|
576
|
+
256
|
577
|
+
257</pre>
|
578
|
+
</td>
|
579
|
+
<td>
|
580
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 254</span>
|
581
|
+
|
582
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_dec'>dec</span>
|
583
|
+
<span class='ivar'>@level</span> <span class='op'>-=</span> <span class='int'>1</span>
|
584
|
+
<span class='ivar'>@active</span> <span class='op'>=</span> <span class='kw'>false</span>
|
585
|
+
<span class='kw'>end</span></pre>
|
586
|
+
</td>
|
587
|
+
</tr>
|
588
|
+
</table>
|
589
|
+
</div>
|
590
|
+
|
591
|
+
<div class="method_details ">
|
592
|
+
<h3 class="signature " id="eval-instance_method">
|
593
|
+
|
594
|
+
- (<tt>Object</tt>) <strong>eval</strong>(list)
|
595
|
+
|
596
|
+
|
597
|
+
|
598
|
+
|
599
|
+
|
600
|
+
</h3><div class="docstring">
|
601
|
+
<div class="discussion">
|
602
|
+
|
603
|
+
<p>Evaluate shifted tokens.</p>
|
604
|
+
|
605
|
+
|
606
|
+
</div>
|
607
|
+
</div>
|
608
|
+
<div class="tags">
|
609
|
+
|
610
|
+
|
611
|
+
</div><table class="source_code">
|
612
|
+
<tr>
|
613
|
+
<td>
|
614
|
+
<pre class="lines">
|
615
|
+
|
616
|
+
|
617
|
+
260
|
618
|
+
261
|
619
|
+
262
|
620
|
+
263
|
621
|
+
264
|
622
|
+
265
|
623
|
+
266
|
624
|
+
267
|
625
|
+
268
|
626
|
+
269
|
627
|
+
270
|
628
|
+
271
|
629
|
+
272
|
630
|
+
273
|
631
|
+
274
|
632
|
+
275
|
633
|
+
276
|
634
|
+
277
|
635
|
+
278
|
636
|
+
279
|
637
|
+
280
|
638
|
+
281
|
639
|
+
282
|
640
|
+
283
|
641
|
+
284
|
642
|
+
285
|
643
|
+
286
|
644
|
+
287
|
645
|
+
288
|
646
|
+
289
|
647
|
+
290
|
648
|
+
291
|
649
|
+
292
|
650
|
+
293
|
651
|
+
294
|
652
|
+
295
|
653
|
+
296
|
654
|
+
297
|
655
|
+
298
|
656
|
+
299
|
657
|
+
300
|
658
|
+
301
|
659
|
+
302
|
660
|
+
303
|
661
|
+
304
|
662
|
+
305
|
663
|
+
306
|
664
|
+
307
|
665
|
+
308
|
666
|
+
309
|
667
|
+
310
|
668
|
+
311
|
669
|
+
312
|
670
|
+
313
|
671
|
+
314
|
672
|
+
315
|
673
|
+
316
|
674
|
+
317
|
675
|
+
318
|
676
|
+
319
|
677
|
+
320
|
678
|
+
321
|
679
|
+
322
|
680
|
+
323
|
681
|
+
324
|
682
|
+
325
|
683
|
+
326
|
684
|
+
327
|
685
|
+
328
|
686
|
+
329
|
687
|
+
330
|
688
|
+
331
|
689
|
+
332
|
690
|
+
333
|
691
|
+
334
|
692
|
+
335
|
693
|
+
336
|
694
|
+
337
|
695
|
+
338
|
696
|
+
339
|
697
|
+
340
|
698
|
+
341
|
699
|
+
342
|
700
|
+
343
|
701
|
+
344
|
702
|
+
345
|
703
|
+
346
|
704
|
+
347
|
705
|
+
348
|
706
|
+
349
|
707
|
+
350
|
708
|
+
351
|
709
|
+
352
|
710
|
+
353
|
711
|
+
354
|
712
|
+
355
|
713
|
+
356
|
714
|
+
357
|
715
|
+
358
|
716
|
+
359
|
717
|
+
360
|
718
|
+
361
|
719
|
+
362
|
720
|
+
363
|
721
|
+
364
|
722
|
+
365
|
723
|
+
366</pre>
|
724
|
+
</td>
|
725
|
+
<td>
|
726
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 260</span>
|
727
|
+
|
728
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_eval'>eval</span><span class='lparen'>(</span> <span class='id identifier rubyid_list'>list</span> <span class='rparen'>)</span>
|
729
|
+
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
730
|
+
|
731
|
+
<span class='comment'># Skip hookbeg.
|
732
|
+
</span> <span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
733
|
+
|
734
|
+
<span class='comment'># Check if macro is internal command.
|
735
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
736
|
+
|
737
|
+
<span class='comment'># Variable reference.
|
738
|
+
</span>
|
739
|
+
<span class='id identifier rubyid_varname'>varname</span> <span class='op'>=</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span>
|
740
|
+
|
741
|
+
<span class='comment'># Skip hookend.
|
742
|
+
</span> <span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>2</span>
|
743
|
+
|
744
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Garbage after hookend.</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span>
|
745
|
+
|
746
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__eval'>_eval</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>write @</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_varname'>varname</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='rparen'>)</span>
|
747
|
+
|
748
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>:</span><span class='tstring_end'>"</span></span>
|
749
|
+
|
750
|
+
<span class='comment'># Command.
|
751
|
+
</span>
|
752
|
+
<span class='id identifier rubyid_cmd'>cmd</span><span class='comma'>,</span> <span class='id identifier rubyid_rest'>rest</span> <span class='op'>=</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>([a-z]+) (.*)</span><span class='regexp_end'>/</span></span> <span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
753
|
+
|
754
|
+
<span class='comment'># Skip hookend.
|
755
|
+
</span> <span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>2</span>
|
756
|
+
|
757
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Garbage after hookend.</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span>
|
758
|
+
|
759
|
+
<span class='kw'>case</span> <span class='id identifier rubyid_cmd'>cmd</span>
|
760
|
+
|
761
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>include</span><span class='tstring_end'>'</span></span>
|
762
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__pushInput'>_pushInput</span><span class='lparen'>(</span> <span class='id identifier rubyid_rest'>rest</span> <span class='rparen'>)</span>
|
763
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__inIO'>_inIO</span><span class='period'>.</span><span class='id identifier rubyid_automode'>automode</span> <span class='op'>=</span> <span class='kw'>false</span>
|
764
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span>
|
765
|
+
|
766
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>output</span><span class='tstring_end'>'</span></span>
|
767
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__pushOutput'>_pushOutput</span><span class='lparen'>(</span> <span class='id identifier rubyid_rest'>rest</span> <span class='rparen'>)</span>
|
768
|
+
|
769
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>close</span><span class='tstring_end'>'</span></span>
|
770
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__closeOutput'>_closeOutput</span>
|
771
|
+
|
772
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>comment</span><span class='tstring_end'>'</span></span>
|
773
|
+
<span class='comment'># ' mode coloring fix comment.
|
774
|
+
</span> <span class='kw'>true</span>
|
775
|
+
|
776
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>source</span><span class='tstring_end'>'</span></span>
|
777
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='lparen'>(</span> <span class='id identifier rubyid_rest'>rest</span> <span class='rparen'>)</span>
|
778
|
+
|
779
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>hook</span><span class='tstring_end'>'</span></span>
|
780
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_rest'>rest</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span>
|
781
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookBegChars'>hookBegChars</span> <span class='op'>=</span> <span class='id identifier rubyid_rest'>rest</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
782
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookEndChars'>hookEndChars</span> <span class='op'>=</span> <span class='id identifier rubyid_rest'>rest</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
|
783
|
+
<span class='kw'>else</span>
|
784
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookBegChars'>hookBegChars</span> <span class='op'>=</span> <span class='id identifier rubyid_rest'>rest</span>
|
785
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookEndChars'>hookEndChars</span> <span class='op'>=</span> <span class='id identifier rubyid_rest'>rest</span>
|
786
|
+
<span class='kw'>end</span>
|
787
|
+
|
788
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>hookbeg</span><span class='tstring_end'>'</span></span>
|
789
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookBegChars'>hookBegChars</span> <span class='op'>=</span> <span class='id identifier rubyid_rest'>rest</span>
|
790
|
+
|
791
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>hookend</span><span class='tstring_end'>'</span></span>
|
792
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookEndChars'>hookEndChars</span> <span class='op'>=</span> <span class='id identifier rubyid_rest'>rest</span>
|
793
|
+
|
794
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>escape</span><span class='tstring_end'>'</span></span>
|
795
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='op'>=</span> <span class='id identifier rubyid_rest'>rest</span>
|
796
|
+
|
797
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>exit</span><span class='tstring_end'>'</span></span>
|
798
|
+
<span class='id identifier rubyid_exit'>exit</span>
|
799
|
+
|
800
|
+
<span class='kw'>else</span>
|
801
|
+
<span class='const'>Mucgly</span><span class='op'>::</span><span class='id identifier rubyid_error'>error</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>unkown internal command: \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_cmd'>cmd</span><span class='rbrace'>}</span><span class='tstring_content'>\"</span><span class='tstring_end'>"</span></span>
|
802
|
+
|
803
|
+
<span class='kw'>end</span>
|
804
|
+
|
805
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>#</span><span class='tstring_end'>"</span></span>
|
806
|
+
|
807
|
+
<span class='comment'># Remove macro cancel char from macro and output
|
808
|
+
</span> <span class='comment'># the macro again.
|
809
|
+
</span>
|
810
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='rparen'>)</span>
|
811
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
|
812
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='op'>+</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='rparen'>)</span>
|
813
|
+
|
814
|
+
<span class='comment'># Skip hookend.
|
815
|
+
</span> <span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>2</span>
|
816
|
+
|
817
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Garbage after hookend.</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span>
|
818
|
+
|
819
|
+
<span class='kw'>else</span>
|
820
|
+
|
821
|
+
<span class='comment'># Ruby code to evaluate.
|
822
|
+
</span>
|
823
|
+
<span class='id identifier rubyid_code'>code</span> <span class='op'>=</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span>
|
824
|
+
|
825
|
+
<span class='comment'># Skip hookend.
|
826
|
+
</span> <span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>2</span>
|
827
|
+
|
828
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Garbage after hookend.</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_list'>list</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span>
|
829
|
+
|
830
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__eval'>_eval</span> <span class='id identifier rubyid_code'>code</span>
|
831
|
+
|
832
|
+
<span class='kw'>end</span>
|
833
|
+
|
834
|
+
<span class='kw'>end</span></pre>
|
835
|
+
</td>
|
836
|
+
</tr>
|
837
|
+
</table>
|
838
|
+
</div>
|
839
|
+
|
840
|
+
<div class="method_details ">
|
841
|
+
<h3 class="signature " id="findInInput-instance_method">
|
842
|
+
|
843
|
+
- (<tt>Object</tt>) <strong>findInInput</strong>(this)
|
844
|
+
|
845
|
+
|
846
|
+
|
847
|
+
|
848
|
+
|
849
|
+
</h3><div class="docstring">
|
850
|
+
<div class="discussion">
|
851
|
+
|
852
|
+
<p>Find a given string from input (true/false).</p>
|
853
|
+
|
854
|
+
|
855
|
+
</div>
|
856
|
+
</div>
|
857
|
+
<div class="tags">
|
858
|
+
|
859
|
+
|
860
|
+
</div><table class="source_code">
|
861
|
+
<tr>
|
862
|
+
<td>
|
863
|
+
<pre class="lines">
|
864
|
+
|
865
|
+
|
866
|
+
383
|
867
|
+
384
|
868
|
+
385
|
869
|
+
386
|
870
|
+
387
|
871
|
+
388
|
872
|
+
389
|
873
|
+
390
|
874
|
+
391
|
875
|
+
392
|
876
|
+
393
|
877
|
+
394
|
878
|
+
395</pre>
|
879
|
+
</td>
|
880
|
+
<td>
|
881
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 383</span>
|
882
|
+
|
883
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_findInInput'>findInInput</span><span class='lparen'>(</span> <span class='id identifier rubyid_this'>this</span> <span class='rparen'>)</span>
|
884
|
+
|
885
|
+
<span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='id identifier rubyid_getChars'>getChars</span><span class='lparen'>(</span> <span class='id identifier rubyid_this'>this</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='rparen'>)</span>
|
886
|
+
|
887
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_str'>str</span> <span class='op'>==</span> <span class='id identifier rubyid_this'>this</span>
|
888
|
+
<span class='comment'># Found requested string from input.
|
889
|
+
</span> <span class='kw'>true</span>
|
890
|
+
<span class='kw'>else</span>
|
891
|
+
<span class='comment'># Mismatch to requested string, put back to input.
|
892
|
+
</span> <span class='id identifier rubyid_putBack'>putBack</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
|
893
|
+
<span class='kw'>false</span>
|
894
|
+
<span class='kw'>end</span>
|
895
|
+
<span class='kw'>end</span></pre>
|
896
|
+
</td>
|
897
|
+
</tr>
|
898
|
+
</table>
|
899
|
+
</div>
|
900
|
+
|
901
|
+
<div class="method_details ">
|
902
|
+
<h3 class="signature " id="flush-instance_method">
|
903
|
+
|
904
|
+
- (<tt>Object</tt>) <strong>flush</strong>
|
905
|
+
|
906
|
+
|
907
|
+
|
908
|
+
|
909
|
+
|
910
|
+
</h3><div class="docstring">
|
911
|
+
<div class="discussion">
|
912
|
+
|
913
|
+
<p>Output shifted tokens.</p>
|
914
|
+
|
915
|
+
|
916
|
+
</div>
|
917
|
+
</div>
|
918
|
+
<div class="tags">
|
919
|
+
|
920
|
+
|
921
|
+
</div><table class="source_code">
|
922
|
+
<tr>
|
923
|
+
<td>
|
924
|
+
<pre class="lines">
|
925
|
+
|
926
|
+
|
927
|
+
230
|
928
|
+
231
|
929
|
+
232
|
930
|
+
233</pre>
|
931
|
+
</td>
|
932
|
+
<td>
|
933
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 230</span>
|
934
|
+
|
935
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_flush'>flush</span>
|
936
|
+
<span class='id identifier rubyid_output'>output</span><span class='lparen'>(</span> <span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
|
937
|
+
<span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
938
|
+
<span class='kw'>end</span></pre>
|
939
|
+
</td>
|
940
|
+
</tr>
|
941
|
+
</table>
|
942
|
+
</div>
|
943
|
+
|
944
|
+
<div class="method_details ">
|
945
|
+
<h3 class="signature " id="getChars-instance_method">
|
946
|
+
|
947
|
+
- (<tt>Object</tt>) <strong>getChars</strong>(cnt = 1)
|
948
|
+
|
949
|
+
|
950
|
+
|
951
|
+
|
952
|
+
|
953
|
+
</h3><div class="docstring">
|
954
|
+
<div class="discussion">
|
955
|
+
|
956
|
+
<p>Return char either from character buffer (String) or file stream.</p>
|
957
|
+
|
958
|
+
|
959
|
+
</div>
|
960
|
+
</div>
|
961
|
+
<div class="tags">
|
962
|
+
|
963
|
+
|
964
|
+
</div><table class="source_code">
|
965
|
+
<tr>
|
966
|
+
<td>
|
967
|
+
<pre class="lines">
|
968
|
+
|
969
|
+
|
970
|
+
370
|
971
|
+
371
|
972
|
+
372
|
973
|
+
373
|
974
|
+
374</pre>
|
975
|
+
</td>
|
976
|
+
<td>
|
977
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 370</span>
|
978
|
+
|
979
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_getChars'>getChars</span><span class='lparen'>(</span> <span class='id identifier rubyid_cnt'>cnt</span> <span class='op'>=</span> <span class='int'>1</span> <span class='rparen'>)</span>
|
980
|
+
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__inIO'>_inIO</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span> <span class='id identifier rubyid_cnt'>cnt</span> <span class='rparen'>)</span>
|
981
|
+
<span class='const'>Mucgly</span><span class='op'>::</span><span class='id identifier rubyid_debug'>debug</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Read char: \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_c'>c</span><span class='rbrace'>}</span><span class='tstring_content'>\"</span><span class='tstring_end'>"</span></span> <span class='rparen'>)</span>
|
982
|
+
<span class='id identifier rubyid_c'>c</span>
|
983
|
+
<span class='kw'>end</span></pre>
|
984
|
+
</td>
|
985
|
+
</tr>
|
986
|
+
</table>
|
987
|
+
</div>
|
988
|
+
|
989
|
+
<div class="method_details ">
|
990
|
+
<h3 class="signature " id="getToken-instance_method">
|
991
|
+
|
992
|
+
- (<tt>Object</tt>) <strong>getToken</strong>
|
993
|
+
|
994
|
+
|
995
|
+
|
996
|
+
|
997
|
+
|
998
|
+
</h3><table class="source_code">
|
999
|
+
<tr>
|
1000
|
+
<td>
|
1001
|
+
<pre class="lines">
|
1002
|
+
|
1003
|
+
|
1004
|
+
527
|
1005
|
+
528
|
1006
|
+
529
|
1007
|
+
530
|
1008
|
+
531</pre>
|
1009
|
+
</td>
|
1010
|
+
<td>
|
1011
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 527</span>
|
1012
|
+
|
1013
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_getToken'>getToken</span>
|
1014
|
+
<span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_getTokenRaw'>getTokenRaw</span>
|
1015
|
+
<span class='const'>Mucgly</span><span class='op'>::</span><span class='id identifier rubyid_debug'>debug</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Got token: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_t'>t</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='tstring_content'>:\"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_t'>t</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='rbrace'>}</span><span class='tstring_content'>\"</span><span class='tstring_end'>"</span></span> <span class='rparen'>)</span>
|
1016
|
+
<span class='id identifier rubyid_t'>t</span>
|
1017
|
+
<span class='kw'>end</span></pre>
|
1018
|
+
</td>
|
1019
|
+
</tr>
|
1020
|
+
</table>
|
1021
|
+
</div>
|
1022
|
+
|
1023
|
+
<div class="method_details ">
|
1024
|
+
<h3 class="signature " id="getTokenRaw-instance_method">
|
1025
|
+
|
1026
|
+
- (<tt>Object</tt>) <strong>getTokenRaw</strong>
|
1027
|
+
|
1028
|
+
|
1029
|
+
|
1030
|
+
|
1031
|
+
|
1032
|
+
</h3><div class="docstring">
|
1033
|
+
<div class="discussion">
|
1034
|
+
|
1035
|
+
<p>Create a token based on the current characters. The token returned is
|
1036
|
+
effected by parsing context and separator settings.</p>
|
1037
|
+
|
1038
|
+
|
1039
|
+
</div>
|
1040
|
+
</div>
|
1041
|
+
<div class="tags">
|
1042
|
+
|
1043
|
+
|
1044
|
+
</div><table class="source_code">
|
1045
|
+
<tr>
|
1046
|
+
<td>
|
1047
|
+
<pre class="lines">
|
1048
|
+
|
1049
|
+
|
1050
|
+
401
|
1051
|
+
402
|
1052
|
+
403
|
1053
|
+
404
|
1054
|
+
405
|
1055
|
+
406
|
1056
|
+
407
|
1057
|
+
408
|
1058
|
+
409
|
1059
|
+
410
|
1060
|
+
411
|
1061
|
+
412
|
1062
|
+
413
|
1063
|
+
414
|
1064
|
+
415
|
1065
|
+
416
|
1066
|
+
417
|
1067
|
+
418
|
1068
|
+
419
|
1069
|
+
420
|
1070
|
+
421
|
1071
|
+
422
|
1072
|
+
423
|
1073
|
+
424
|
1074
|
+
425
|
1075
|
+
426
|
1076
|
+
427
|
1077
|
+
428
|
1078
|
+
429
|
1079
|
+
430
|
1080
|
+
431
|
1081
|
+
432
|
1082
|
+
433
|
1083
|
+
434
|
1084
|
+
435
|
1085
|
+
436
|
1086
|
+
437
|
1087
|
+
438
|
1088
|
+
439
|
1089
|
+
440
|
1090
|
+
441
|
1091
|
+
442
|
1092
|
+
443
|
1093
|
+
444
|
1094
|
+
445
|
1095
|
+
446
|
1096
|
+
447
|
1097
|
+
448
|
1098
|
+
449
|
1099
|
+
450
|
1100
|
+
451
|
1101
|
+
452
|
1102
|
+
453
|
1103
|
+
454
|
1104
|
+
455
|
1105
|
+
456
|
1106
|
+
457
|
1107
|
+
458
|
1108
|
+
459
|
1109
|
+
460
|
1110
|
+
461
|
1111
|
+
462
|
1112
|
+
463
|
1113
|
+
464
|
1114
|
+
465
|
1115
|
+
466
|
1116
|
+
467
|
1117
|
+
468
|
1118
|
+
469
|
1119
|
+
470
|
1120
|
+
471
|
1121
|
+
472
|
1122
|
+
473
|
1123
|
+
474
|
1124
|
+
475
|
1125
|
+
476
|
1126
|
+
477
|
1127
|
+
478
|
1128
|
+
479
|
1129
|
+
480
|
1130
|
+
481
|
1131
|
+
482
|
1132
|
+
483
|
1133
|
+
484
|
1134
|
+
485
|
1135
|
+
486
|
1136
|
+
487
|
1137
|
+
488
|
1138
|
+
489
|
1139
|
+
490
|
1140
|
+
491
|
1141
|
+
492
|
1142
|
+
493
|
1143
|
+
494
|
1144
|
+
495
|
1145
|
+
496
|
1146
|
+
497
|
1147
|
+
498
|
1148
|
+
499
|
1149
|
+
500
|
1150
|
+
501
|
1151
|
+
502
|
1152
|
+
503
|
1153
|
+
504
|
1154
|
+
505
|
1155
|
+
506
|
1156
|
+
507
|
1157
|
+
508
|
1158
|
+
509
|
1159
|
+
510
|
1160
|
+
511
|
1161
|
+
512
|
1162
|
+
513
|
1163
|
+
514
|
1164
|
+
515
|
1165
|
+
516
|
1166
|
+
517
|
1167
|
+
518
|
1168
|
+
519
|
1169
|
+
520
|
1170
|
+
521
|
1171
|
+
522
|
1172
|
+
523
|
1173
|
+
524</pre>
|
1174
|
+
</td>
|
1175
|
+
<td>
|
1176
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 401</span>
|
1177
|
+
|
1178
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_getTokenRaw'>getTokenRaw</span>
|
1179
|
+
|
1180
|
+
<span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='op'>=</span> <span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_escapeChar'>escapeChar</span>
|
1181
|
+
<span class='id identifier rubyid_hookEndChars'>hookEndChars</span> <span class='op'>=</span> <span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookEndChars'>hookEndChars</span>
|
1182
|
+
<span class='id identifier rubyid_hookBegChars'>hookBegChars</span> <span class='op'>=</span> <span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__separators'>_separators</span><span class='period'>.</span><span class='id identifier rubyid_hookBegChars'>hookBegChars</span>
|
1183
|
+
|
1184
|
+
|
1185
|
+
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_getChars'>getChars</span>
|
1186
|
+
|
1187
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='kw'>nil</span>
|
1188
|
+
|
1189
|
+
<span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:eof</span> <span class='rparen'>)</span>
|
1190
|
+
|
1191
|
+
<span class='kw'>else</span>
|
1192
|
+
|
1193
|
+
<span class='comment'># Handle escape characters before hooks.
|
1194
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='id identifier rubyid_escapeChar'>escapeChar</span>
|
1195
|
+
|
1196
|
+
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_getChars'>getChars</span>
|
1197
|
+
|
1198
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
1199
|
+
<span class='comment'># Escaped newline.
|
1200
|
+
</span> <span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:empty</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span> <span class='rparen'>)</span>
|
1201
|
+
|
1202
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='id identifier rubyid_escapeChar'>escapeChar</span>
|
1203
|
+
<span class='comment'># Escaped escape.
|
1204
|
+
</span> <span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:char</span><span class='comma'>,</span> <span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='rparen'>)</span>
|
1205
|
+
|
1206
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_inside?'>inside?</span>
|
1207
|
+
|
1208
|
+
<span class='comment'># Escape inside first level macro.
|
1209
|
+
</span>
|
1210
|
+
<span class='kw'>if</span> <span class='lparen'>(</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span> <span class='op'>||</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span> <span class='rparen'>)</span> <span class='kw'>and</span>
|
1211
|
+
<span class='lparen'>(</span> <span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='op'>==</span>
|
1212
|
+
<span class='id identifier rubyid_hookEndChars'>hookEndChars</span> <span class='rparen'>)</span>
|
1213
|
+
|
1214
|
+
<span class='comment'># Hookend when same as escape is
|
1215
|
+
</span> <span class='comment'># "hookend+space".
|
1216
|
+
</span> <span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:hookEnd</span><span class='comma'>,</span> <span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='op'>+</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1217
|
+
|
1218
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='id identifier rubyid_hookEndChars'>hookEndChars</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
1219
|
+
|
1220
|
+
<span class='comment'># Escaped hookend.
|
1221
|
+
</span> <span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:char</span><span class='comma'>,</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1222
|
+
|
1223
|
+
<span class='kw'>else</span>
|
1224
|
+
|
1225
|
+
<span class='comment'># Ineffective escape.
|
1226
|
+
</span> <span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:char</span><span class='comma'>,</span>
|
1227
|
+
<span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='op'>+</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1228
|
+
<span class='kw'>end</span>
|
1229
|
+
|
1230
|
+
<span class='kw'>else</span>
|
1231
|
+
|
1232
|
+
<span class='comment'># Escape outside macro.
|
1233
|
+
</span>
|
1234
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='op'>==</span> <span class='id identifier rubyid_hookEndChars'>hookEndChars</span>
|
1235
|
+
|
1236
|
+
<span class='id identifier rubyid_putBack'>putBack</span><span class='lparen'>(</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1237
|
+
<span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:hookBeg</span><span class='comma'>,</span>
|
1238
|
+
<span class='id identifier rubyid_hookBegChars'>hookBegChars</span> <span class='rparen'>)</span>
|
1239
|
+
|
1240
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='id identifier rubyid_hookEndChars'>hookEndChars</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
1241
|
+
|
1242
|
+
<span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:char</span><span class='comma'>,</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1243
|
+
|
1244
|
+
<span class='kw'>elsif</span> <span class='lparen'>(</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span> <span class='op'>||</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span> <span class='rparen'>)</span>
|
1245
|
+
|
1246
|
+
<span class='comment'># Remove escaped space and newlines.
|
1247
|
+
</span> <span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:empty</span> <span class='rparen'>)</span>
|
1248
|
+
|
1249
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='id identifier rubyid_hookBegChars'>hookBegChars</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
1250
|
+
|
1251
|
+
<span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:char</span><span class='comma'>,</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1252
|
+
|
1253
|
+
<span class='kw'>else</span>
|
1254
|
+
|
1255
|
+
<span class='comment'># Ineffective escape.
|
1256
|
+
</span> <span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:char</span><span class='comma'>,</span>
|
1257
|
+
<span class='id identifier rubyid_escapeChar'>escapeChar</span> <span class='op'>+</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1258
|
+
|
1259
|
+
<span class='kw'>end</span>
|
1260
|
+
|
1261
|
+
<span class='kw'>end</span>
|
1262
|
+
|
1263
|
+
<span class='kw'>else</span>
|
1264
|
+
|
1265
|
+
<span class='comment'># No escape, putback and search for hooks.
|
1266
|
+
</span> <span class='id identifier rubyid_putBack'>putBack</span> <span class='id identifier rubyid_c'>c</span>
|
1267
|
+
|
1268
|
+
<span class='kw'>end</span>
|
1269
|
+
|
1270
|
+
|
1271
|
+
<span class='comment'># Look for hooks or return a character.
|
1272
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_inside?'>inside?</span>
|
1273
|
+
|
1274
|
+
<span class='comment'># Inside macro.
|
1275
|
+
</span>
|
1276
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_findInInput'>findInInput</span><span class='lparen'>(</span> <span class='id identifier rubyid_hookEndChars'>hookEndChars</span> <span class='rparen'>)</span>
|
1277
|
+
<span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:hookEnd</span><span class='comma'>,</span> <span class='id identifier rubyid_hookEndChars'>hookEndChars</span> <span class='rparen'>)</span>
|
1278
|
+
<span class='kw'>end</span>
|
1279
|
+
|
1280
|
+
<span class='kw'>else</span>
|
1281
|
+
|
1282
|
+
<span class='comment'># Outside macro.
|
1283
|
+
</span>
|
1284
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_findInInput'>findInInput</span><span class='lparen'>(</span> <span class='id identifier rubyid_hookBegChars'>hookBegChars</span> <span class='rparen'>)</span>
|
1285
|
+
<span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:hookBeg</span><span class='comma'>,</span> <span class='id identifier rubyid_hookBegChars'>hookBegChars</span> <span class='rparen'>)</span>
|
1286
|
+
<span class='kw'>end</span>
|
1287
|
+
|
1288
|
+
<span class='kw'>end</span>
|
1289
|
+
|
1290
|
+
|
1291
|
+
<span class='comment'># No escapes, no hooks, so return a char.
|
1292
|
+
</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_getChars'>getChars</span>
|
1293
|
+
|
1294
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='kw'>nil</span>
|
1295
|
+
<span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:eof</span> <span class='rparen'>)</span>
|
1296
|
+
<span class='kw'>else</span>
|
1297
|
+
<span class='kw'>return</span> <span class='const'>Token</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:char</span><span class='comma'>,</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1298
|
+
<span class='kw'>end</span>
|
1299
|
+
|
1300
|
+
<span class='kw'>end</span>
|
1301
|
+
<span class='kw'>end</span></pre>
|
1302
|
+
</td>
|
1303
|
+
</tr>
|
1304
|
+
</table>
|
1305
|
+
</div>
|
1306
|
+
|
1307
|
+
<div class="method_details ">
|
1308
|
+
<h3 class="signature " id="inc-instance_method">
|
1309
|
+
|
1310
|
+
- (<tt>Object</tt>) <strong>inc</strong>
|
1311
|
+
|
1312
|
+
|
1313
|
+
|
1314
|
+
|
1315
|
+
|
1316
|
+
</h3><div class="docstring">
|
1317
|
+
<div class="discussion">
|
1318
|
+
|
1319
|
+
<p>Inc macro level.</p>
|
1320
|
+
|
1321
|
+
|
1322
|
+
</div>
|
1323
|
+
</div>
|
1324
|
+
<div class="tags">
|
1325
|
+
|
1326
|
+
|
1327
|
+
</div><table class="source_code">
|
1328
|
+
<tr>
|
1329
|
+
<td>
|
1330
|
+
<pre class="lines">
|
1331
|
+
|
1332
|
+
|
1333
|
+
248
|
1334
|
+
249
|
1335
|
+
250
|
1336
|
+
251</pre>
|
1337
|
+
</td>
|
1338
|
+
<td>
|
1339
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 248</span>
|
1340
|
+
|
1341
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_inc'>inc</span>
|
1342
|
+
<span class='ivar'>@active</span> <span class='op'>=</span> <span class='kw'>true</span>
|
1343
|
+
<span class='ivar'>@level</span> <span class='op'>+=</span> <span class='int'>1</span>
|
1344
|
+
<span class='kw'>end</span></pre>
|
1345
|
+
</td>
|
1346
|
+
</tr>
|
1347
|
+
</table>
|
1348
|
+
</div>
|
1349
|
+
|
1350
|
+
<div class="method_details ">
|
1351
|
+
<h3 class="signature " id="inside?-instance_method">
|
1352
|
+
|
1353
|
+
- (<tt>Boolean</tt>) <strong>inside?</strong>
|
1354
|
+
|
1355
|
+
|
1356
|
+
|
1357
|
+
|
1358
|
+
|
1359
|
+
</h3><div class="docstring">
|
1360
|
+
<div class="discussion">
|
1361
|
+
|
1362
|
+
<p>Inside macro def.</p>
|
1363
|
+
|
1364
|
+
|
1365
|
+
</div>
|
1366
|
+
</div>
|
1367
|
+
<div class="tags">
|
1368
|
+
|
1369
|
+
<p class="tag_title">Returns:</p>
|
1370
|
+
<ul class="return">
|
1371
|
+
|
1372
|
+
<li>
|
1373
|
+
|
1374
|
+
|
1375
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1376
|
+
|
1377
|
+
|
1378
|
+
|
1379
|
+
</li>
|
1380
|
+
|
1381
|
+
</ul>
|
1382
|
+
|
1383
|
+
</div><table class="source_code">
|
1384
|
+
<tr>
|
1385
|
+
<td>
|
1386
|
+
<pre class="lines">
|
1387
|
+
|
1388
|
+
|
1389
|
+
243
|
1390
|
+
244
|
1391
|
+
245</pre>
|
1392
|
+
</td>
|
1393
|
+
<td>
|
1394
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 243</span>
|
1395
|
+
|
1396
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_inside?'>inside?</span>
|
1397
|
+
<span class='ivar'>@level</span> <span class='op'>></span> <span class='int'>0</span>
|
1398
|
+
<span class='kw'>end</span></pre>
|
1399
|
+
</td>
|
1400
|
+
</tr>
|
1401
|
+
</table>
|
1402
|
+
</div>
|
1403
|
+
|
1404
|
+
<div class="method_details ">
|
1405
|
+
<h3 class="signature " id="output-instance_method">
|
1406
|
+
|
1407
|
+
- (<tt>Object</tt>) <strong>output</strong>(list)
|
1408
|
+
|
1409
|
+
|
1410
|
+
|
1411
|
+
|
1412
|
+
|
1413
|
+
</h3><div class="docstring">
|
1414
|
+
<div class="discussion">
|
1415
|
+
|
1416
|
+
<p>Output list of tokens.</p>
|
1417
|
+
|
1418
|
+
|
1419
|
+
</div>
|
1420
|
+
</div>
|
1421
|
+
<div class="tags">
|
1422
|
+
|
1423
|
+
|
1424
|
+
</div><table class="source_code">
|
1425
|
+
<tr>
|
1426
|
+
<td>
|
1427
|
+
<pre class="lines">
|
1428
|
+
|
1429
|
+
|
1430
|
+
236
|
1431
|
+
237
|
1432
|
+
238
|
1433
|
+
239
|
1434
|
+
240</pre>
|
1435
|
+
</td>
|
1436
|
+
<td>
|
1437
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 236</span>
|
1438
|
+
|
1439
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_output'>output</span><span class='lparen'>(</span> <span class='id identifier rubyid_list'>list</span> <span class='rparen'>)</span>
|
1440
|
+
<span class='id identifier rubyid_list'>list</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_t'>t</span><span class='op'>|</span>
|
1441
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span> <span class='id identifier rubyid_t'>t</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span>
|
1442
|
+
<span class='kw'>end</span>
|
1443
|
+
<span class='kw'>end</span></pre>
|
1444
|
+
</td>
|
1445
|
+
</tr>
|
1446
|
+
</table>
|
1447
|
+
</div>
|
1448
|
+
|
1449
|
+
<div class="method_details ">
|
1450
|
+
<h3 class="signature " id="pop-instance_method">
|
1451
|
+
|
1452
|
+
- (<tt>Object</tt>) <strong>pop</strong>
|
1453
|
+
|
1454
|
+
|
1455
|
+
|
1456
|
+
|
1457
|
+
|
1458
|
+
</h3><div class="docstring">
|
1459
|
+
<div class="discussion">
|
1460
|
+
|
1461
|
+
<p>Pop top parse context.</p>
|
1462
|
+
|
1463
|
+
|
1464
|
+
</div>
|
1465
|
+
</div>
|
1466
|
+
<div class="tags">
|
1467
|
+
|
1468
|
+
|
1469
|
+
</div><table class="source_code">
|
1470
|
+
<tr>
|
1471
|
+
<td>
|
1472
|
+
<pre class="lines">
|
1473
|
+
|
1474
|
+
|
1475
|
+
215
|
1476
|
+
216
|
1477
|
+
217
|
1478
|
+
218
|
1479
|
+
219
|
1480
|
+
220
|
1481
|
+
221
|
1482
|
+
222
|
1483
|
+
223
|
1484
|
+
224
|
1485
|
+
225
|
1486
|
+
226
|
1487
|
+
227</pre>
|
1488
|
+
</td>
|
1489
|
+
<td>
|
1490
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 215</span>
|
1491
|
+
|
1492
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_pop'>pop</span>
|
1493
|
+
<span class='kw'>if</span> <span class='ivar'>@active</span>
|
1494
|
+
<span class='comment'># Execute.
|
1495
|
+
</span> <span class='id identifier rubyid_eval'>eval</span><span class='lparen'>(</span> <span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
|
1496
|
+
<span class='ivar'>@stack</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span>
|
1497
|
+
<span class='kw'>else</span>
|
1498
|
+
<span class='comment'># Output literal.
|
1499
|
+
</span> <span class='id identifier rubyid_output'>output</span><span class='lparen'>(</span> <span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
|
1500
|
+
<span class='ivar'>@stack</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span>
|
1501
|
+
<span class='kw'>end</span>
|
1502
|
+
|
1503
|
+
<span class='id identifier rubyid_dec'>dec</span>
|
1504
|
+
<span class='kw'>end</span></pre>
|
1505
|
+
</td>
|
1506
|
+
</tr>
|
1507
|
+
</table>
|
1508
|
+
</div>
|
1509
|
+
|
1510
|
+
<div class="method_details ">
|
1511
|
+
<h3 class="signature " id="push-instance_method">
|
1512
|
+
|
1513
|
+
- (<tt>Object</tt>) <strong>push</strong>
|
1514
|
+
|
1515
|
+
|
1516
|
+
|
1517
|
+
|
1518
|
+
|
1519
|
+
</h3><div class="docstring">
|
1520
|
+
<div class="discussion">
|
1521
|
+
|
1522
|
+
<p>Push new parse context.</p>
|
1523
|
+
|
1524
|
+
|
1525
|
+
</div>
|
1526
|
+
</div>
|
1527
|
+
<div class="tags">
|
1528
|
+
|
1529
|
+
|
1530
|
+
</div><table class="source_code">
|
1531
|
+
<tr>
|
1532
|
+
<td>
|
1533
|
+
<pre class="lines">
|
1534
|
+
|
1535
|
+
|
1536
|
+
206
|
1537
|
+
207
|
1538
|
+
208
|
1539
|
+
209
|
1540
|
+
210
|
1541
|
+
211
|
1542
|
+
212</pre>
|
1543
|
+
</td>
|
1544
|
+
<td>
|
1545
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 206</span>
|
1546
|
+
|
1547
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_push'>push</span>
|
1548
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_inside?'>inside?</span>
|
1549
|
+
<span class='id identifier rubyid_flush'>flush</span>
|
1550
|
+
<span class='kw'>end</span>
|
1551
|
+
<span class='id identifier rubyid_inc'>inc</span>
|
1552
|
+
<span class='ivar'>@stack</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1553
|
+
<span class='kw'>end</span></pre>
|
1554
|
+
</td>
|
1555
|
+
</tr>
|
1556
|
+
</table>
|
1557
|
+
</div>
|
1558
|
+
|
1559
|
+
<div class="method_details ">
|
1560
|
+
<h3 class="signature " id="putBack-instance_method">
|
1561
|
+
|
1562
|
+
- (<tt>Object</tt>) <strong>putBack</strong>(c)
|
1563
|
+
|
1564
|
+
|
1565
|
+
|
1566
|
+
|
1567
|
+
|
1568
|
+
</h3><div class="docstring">
|
1569
|
+
<div class="discussion">
|
1570
|
+
|
1571
|
+
<p>Put character back.</p>
|
1572
|
+
|
1573
|
+
|
1574
|
+
</div>
|
1575
|
+
</div>
|
1576
|
+
<div class="tags">
|
1577
|
+
|
1578
|
+
|
1579
|
+
</div><table class="source_code">
|
1580
|
+
<tr>
|
1581
|
+
<td>
|
1582
|
+
<pre class="lines">
|
1583
|
+
|
1584
|
+
|
1585
|
+
377
|
1586
|
+
378
|
1587
|
+
379
|
1588
|
+
380</pre>
|
1589
|
+
</td>
|
1590
|
+
<td>
|
1591
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 377</span>
|
1592
|
+
|
1593
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_putBack'>putBack</span><span class='lparen'>(</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1594
|
+
<span class='ivar'>@host</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='period'>.</span><span class='id identifier rubyid__inIO'>_inIO</span><span class='period'>.</span><span class='id identifier rubyid_putback'>putback</span><span class='lparen'>(</span> <span class='id identifier rubyid_c'>c</span> <span class='rparen'>)</span>
|
1595
|
+
<span class='const'>Mucgly</span><span class='op'>::</span><span class='id identifier rubyid_debug'>debug</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Putback char: \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_c'>c</span><span class='rbrace'>}</span><span class='tstring_content'>\"</span><span class='tstring_end'>"</span></span> <span class='rparen'>)</span>
|
1596
|
+
<span class='kw'>end</span></pre>
|
1597
|
+
</td>
|
1598
|
+
</tr>
|
1599
|
+
</table>
|
1600
|
+
</div>
|
1601
|
+
|
1602
|
+
<div class="method_details ">
|
1603
|
+
<h3 class="signature " id="shift-instance_method">
|
1604
|
+
|
1605
|
+
- (<tt>Object</tt>) <strong>shift</strong>(token)
|
1606
|
+
|
1607
|
+
|
1608
|
+
|
1609
|
+
|
1610
|
+
|
1611
|
+
</h3><div class="docstring">
|
1612
|
+
<div class="discussion">
|
1613
|
+
|
1614
|
+
<p>Add token.</p>
|
1615
|
+
|
1616
|
+
|
1617
|
+
</div>
|
1618
|
+
</div>
|
1619
|
+
<div class="tags">
|
1620
|
+
|
1621
|
+
|
1622
|
+
</div><table class="source_code">
|
1623
|
+
<tr>
|
1624
|
+
<td>
|
1625
|
+
<pre class="lines">
|
1626
|
+
|
1627
|
+
|
1628
|
+
197
|
1629
|
+
198
|
1630
|
+
199
|
1631
|
+
200
|
1632
|
+
201
|
1633
|
+
202
|
1634
|
+
203</pre>
|
1635
|
+
</td>
|
1636
|
+
<td>
|
1637
|
+
<pre class="code"><span class="info file"># File 'lib/mucgly.rb', line 197</span>
|
1638
|
+
|
1639
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_shift'>shift</span><span class='lparen'>(</span> <span class='id identifier rubyid_token'>token</span> <span class='rparen'>)</span>
|
1640
|
+
<span class='kw'>if</span> <span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&&</span> <span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='id identifier rubyid_token'>token</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span>
|
1641
|
+
<span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='op'>+=</span> <span class='id identifier rubyid_token'>token</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span>
|
1642
|
+
<span class='kw'>else</span>
|
1643
|
+
<span class='ivar'>@stack</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_token'>token</span>
|
1644
|
+
<span class='kw'>end</span>
|
1645
|
+
<span class='kw'>end</span></pre>
|
1646
|
+
</td>
|
1647
|
+
</tr>
|
1648
|
+
</table>
|
1649
|
+
</div>
|
1650
|
+
|
1651
|
+
</div>
|
1652
|
+
|
1653
|
+
</div>
|
1654
|
+
|
1655
|
+
<div id="footer">
|
1656
|
+
Generated on Wed Jan 15 19:29:45 2014 by
|
1657
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1658
|
+
0.8.6.1 (ruby-1.9.3).
|
1659
|
+
</div>
|
1660
|
+
|
1661
|
+
</body>
|
1662
|
+
</html>
|