filipinomemes 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +602 -0
  8. data/Rakefile +6 -0
  9. data/_config.yml +1 -0
  10. data/bin/filipinomemes +21 -0
  11. data/filipinomemes.gemspec +26 -0
  12. data/lib/filipinomemes.rb +3 -0
  13. data/lib/filipinomemes/compiler.rb +21 -0
  14. data/lib/filipinomemes/core_ext.rb +8 -0
  15. data/lib/filipinomemes/core_ext/array.rb +19 -0
  16. data/lib/filipinomemes/core_ext/class.rb +4 -0
  17. data/lib/filipinomemes/core_ext/enumerator.rb +3 -0
  18. data/lib/filipinomemes/core_ext/integer.rb +4 -0
  19. data/lib/filipinomemes/core_ext/kernel.rb +13 -0
  20. data/lib/filipinomemes/core_ext/module.rb +4 -0
  21. data/lib/filipinomemes/core_ext/range.rb +6 -0
  22. data/lib/filipinomemes/core_ext/string.rb +13 -0
  23. data/lib/filipinomemes/ruby_parser_patches.rb +156 -0
  24. data/lib/filipinomemes/version.rb +3 -0
  25. data/sample_programs/agapan.bt +5 -0
  26. data/sample_programs/alyas.bt +9 -0
  27. data/sample_programs/batotris.bt +286 -0
  28. data/sample_programs/bilang.bt +10 -0
  29. data/sample_programs/dapat.bt +9 -0
  30. data/sample_programs/habang.bt +7 -0
  31. data/sample_programs/ihinto.bt +8 -0
  32. data/sample_programs/kontrol-sa-pagiikot.bt +45 -0
  33. data/sample_programs/kumusta_mundo.bt +5 -0
  34. data/sample_programs/magbibigay.bt +27 -0
  35. data/sample_programs/maliban_na.bt +12 -0
  36. data/sample_programs/modyul.bt +20 -0
  37. data/sample_programs/nakatukoy.bt +13 -0
  38. data/sample_programs/ngunit_kapag.bt +8 -0
  39. data/sample_programs/o_ang.bt +3 -0
  40. data/sample_programs/pamamaraan-sa-pagkakamali.bt +11 -0
  41. data/sample_programs/pangalan.bt +10 -0
  42. data/sample_programs/panguri.bt +13 -0
  43. data/sample_programs/panuntunan.bt +23 -0
  44. data/sample_programs/para_sa.bt +4 -0
  45. data/sample_programs/pibonasyi.bt +59 -0
  46. data/sample_programs/siguraduhin.bt +8 -0
  47. data/sample_programs/tanggalin.bt +23 -0
  48. data/sample_programs/timebomb.bt +36 -0
  49. data/spec/filipinomemes/compiler_spec.rb +116 -0
  50. data/spec/spec_helper.rb +61 -0
  51. metadata +152 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9f707a9a2330981032697a321940dd63e9d30f33
4
+ data.tar.gz: f3cc81155abb10bc1e7b849d847ef5523fae55b9
5
+ SHA512:
6
+ metadata.gz: 1d1435c04d40fc4004d4dfd9c5aa3ff2f8124c1cd29755a66fc6396b273409178ca938a03f5e20dd20213f05047ecc4c743a8646c932d948d22a90e8c0306d69
7
+ data.tar.gz: a77c14b4986adc71ca278304ca9ffc5d48f4489c04755cc843391cd8ee8bfde6ecb2204b0821d74d8097d1c86ac4b73c27012de8808cadd6c3ee86a7ae8a165c
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ .rvmrc
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 1.9.3
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in filipinomemes.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2018 Jan Paul R. Carag
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,602 @@
1
+ # Bato
2
+
3
+ Ang 'Bato Programming Language' ay isang scripting language sa wikang Filipino.
4
+
5
+ Subukan ang [Bato](https://trybato.herokuapp.com/)
6
+
7
+ ## Pagtatalaga
8
+
9
+ Kailangan mo munang i-install ang Ruby programming language (version 1.9.3 o mas bago)
10
+ at pagkatapos maitalaga ang Ruby, i-run naman ito
11
+
12
+ gem install bato
13
+
14
+ ## Bakit Bato?
15
+
16
+ Ang 'bato' ay hango sa [Ruby Programming Language](http://www.ruby-lang.org/) na may Filipino sintaks.
17
+ Ang kadahilanang ginamit ang pangalang 'bato' ay dahil ang Ruby ay isang uri ng bato.
18
+
19
+ ## Ang unang program
20
+
21
+ Gumawa ng isang file na `kamusta_mundo.bt` na may mga sumusunod na nilalaman
22
+
23
+ ip 1 > 0
24
+ mag_print "Kumusta mundo!"
25
+ ginagawa_mue
26
+ mag_print "Mayroong sira"
27
+ finish_na
28
+
29
+ at pa-andarin ang program sa pamamagitan ng
30
+
31
+ bato kamusta_mundo.bt
32
+
33
+ ## Sintaks
34
+
35
+ ### Pagsusulat
36
+
37
+ "Ito ay mga serye ng mga sulat sa wikang Filipino"
38
+ <<-FINISH_NA
39
+ mga salita
40
+ na nahahati
41
+ sa ilang mga hilera
42
+ FINISH_NA
43
+
44
+ ### Dinikit na mga pamamaraan
45
+ 'magandang araw'.baliktad # => 'wara gnadnagam'
46
+ 'Pangungusap'.haba # => 11
47
+
48
+ ### Ekspresyong Boolean
49
+
50
+ truts
51
+ mali
52
+ hindi truts
53
+
54
+ ### Kondisyon
55
+
56
+ Paggamit ng kondisyon.
57
+
58
+ agik halaga > 100 dapat
59
+ "ayos lang"
60
+ agik_ginagawa_mue halaga > 0 dapat
61
+ "ok lang"
62
+ ginagawa_mue
63
+ "wala lang"
64
+ finish_na
65
+
66
+ hakdog halaga
67
+ pagka 5 dapat "lima"
68
+ pagka 4 dapat "apat"
69
+ ginagawa_mue "wala"
70
+ finish_na
71
+
72
+ ### Pamamaraan sa pagkakamali
73
+
74
+ bilang_ng_pagkakamali = 0
75
+ glhf
76
+ # mag komento ip hindi sigurado
77
+ 1 / 0
78
+ iligtas => pagkakamali
79
+ bilang_ng_pagkakamali += 1
80
+ neba_gibap ip bilang_ng_pagkakamali < 3
81
+ iangat "malubhang pagkakamali"
82
+ siguraduhing
83
+ mag_print "Tapos na"
84
+ finish_na
85
+
86
+ ### Panuntunan
87
+
88
+ ang iprintAngPangalan(pangalan = wala)
89
+ ip pangalan != wala
90
+ mag_print "Magandang araw sa iyo #{pangalan}!"
91
+ ginagawa_mue
92
+ mag_print "Magandang araw!"
93
+ finish_na
94
+ finish_na
95
+
96
+ iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
97
+ iprintAngPangalan # => "Magandang araw!"
98
+
99
+ ## Paggamit ng mga ekspresyon ng mga salita sa program
100
+
101
+ ### finish_na
102
+
103
+ Maari kang gumamit sa alin sa mga sumusunod sa pagtatapos ng program
104
+
105
+ finish_na
106
+ gg
107
+ finish_na
108
+
109
+ Halimbawa
110
+
111
+ bilang_ng_saging = 2
112
+ ip bilang_ng_saging > 1
113
+ mag_print "Mayroon akong #{bilang_ng_saging} saging! 🍌"
114
+ ginagawa_mue
115
+ mag_print "Wala na akong saging! 😐"
116
+ finish_na
117
+
118
+ ### ginagawa_mue
119
+
120
+ Kung ang ekspresyon ay hindi nasunod maaring gumamit sa alin sa mga sumusunod
121
+
122
+ ginagawa_mue
123
+ els
124
+
125
+ Halimbawa
126
+
127
+ pangalan_mo = "Maliksi"
128
+ agik pangalan_mo == "Maliksi"
129
+ mag_print "Ikaw ay si #{pangalan_mo}!"
130
+ ginagawa_mue
131
+ mag_print "Magandang araw sa iyo #{pangalan_mo}!"
132
+ finish_na
133
+
134
+ ### hakdog
135
+
136
+ Kung mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang kondisyon, maari kang gumamit ng mga sumusunod
137
+
138
+ hakdog
139
+ kays
140
+
141
+ Halimbawa
142
+
143
+ pangalan_mo = "Mabait"
144
+
145
+ hakdog pangalan_mo
146
+ ay "Maliksi"
147
+ mag_print "Ikaw ay si Maliksi!"
148
+ ay "Matipuno"
149
+ mag_print "Ikaw ay si Matipuno!"
150
+ ay "Mabait"
151
+ mag_print "Ikaw ay si Mabait!"
152
+ ginagawa_mue
153
+ mag_print "Magandang araw sa iyo!"
154
+ finish_na
155
+
156
+ ### siguraduhing
157
+
158
+ Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan nito, gumamit ng mga sumusunod
159
+
160
+ siguraduhing
161
+ siguraduhin
162
+
163
+ Halimbawa
164
+
165
+ wala_na
166
+ itaas "May sira!"
167
+ agapan
168
+ mag_print "Ipagpatuloy..."
169
+ itaas "May nasira na na-agapan"
170
+ siguraduhing
171
+ mag_print "Tapos na"
172
+ finish_na
173
+
174
+ ### grupo
175
+
176
+ Ang grupo ay ang lalagyanan ng mga kabilang na klase sa iyong program
177
+
178
+ grupo
179
+
180
+ Halimbawa
181
+
182
+ grupo Hayop
183
+ KABUUAN = 5
184
+
185
+ bilang Aso
186
+ ang tahol
187
+ mag_print "Woof..."
188
+ finish_na
189
+
190
+ ang kumanin
191
+ mag_print "..."
192
+ finish_na
193
+
194
+ ang ikembot_ang_buntot
195
+ mag_print "Ginagawa ko ito dahil masaya ako!"
196
+ finish_na
197
+ finish_na
198
+ finish_na
199
+
200
+ dami = 6
201
+ browny = Hayop::Aso.kumatawan
202
+ browny.ikembot_ang_buntot ip dami >= Hayop::KABUUAN
203
+
204
+ ### agik_ginagawa_mue
205
+
206
+ Gumamit ng agik_ginagawa_mue kapag mayroon ka pang kondisyon maliban sa nauna ng kondisyon
207
+
208
+ agik_ginagawa_mue
209
+ elsip
210
+ Halimbawa
211
+
212
+ pangalan_mo = "Masipag"
213
+ agik pangalan_mo == "Matipuno"
214
+ mag_print "Ikaw ay si Matipuno!"
215
+ agik_ginagawa_mue pangalan_mo == "Masipag"
216
+ mag_print "Ikaw ay si Masipag!"
217
+ ginagawa_mue
218
+ mag_print "Wala kang rekord saamin!"
219
+ finish_na
220
+
221
+ ### ang
222
+
223
+ Ang ang ay may kalakip na pangalan upang ito ay matawag sa program
224
+
225
+ ang
226
+ panuntunan
227
+ panuntunang
228
+
229
+ Halimbawa
230
+
231
+ ang id(estudyante = {})
232
+ pangalan = estudyante[:pangalan]
233
+ edad = estudyante[:edad]
234
+ tirahan = estudyante[:tirahan]
235
+ baitang = estudyante[:baitang]
236
+ seksiyon = estudyante[:seksiyon]
237
+
238
+ mag_print <<-FINISH_NA
239
+ Pangalan: #{pangalan}
240
+ Edad: #{edad}
241
+ Tirahan: #{tirahan}
242
+ Baitang: #{baitang}
243
+ Seksiyon: #{seksiyon}
244
+ FINISH_NA
245
+ finish_na
246
+
247
+ id({
248
+ pangalan: "Maliksi Batubalani",
249
+ edad: "13",
250
+ tirahan: "Ilocos",
251
+ baitang: "6",
252
+ seksiyon: "Masisipag"
253
+ })
254
+
255
+ ### agapan
256
+
257
+ Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto mong maisalba o mailigtas
258
+
259
+ iligtas
260
+ agapan
261
+
262
+ Halimbawa
263
+
264
+ wala_na
265
+ 1 / 0
266
+ agapan
267
+ mag_print "Hindi ito posible!"
268
+ finish_na
269
+
270
+ ### dapat
271
+
272
+ ip mayroon kang ekspresyon na mayroong inaasahan na resulta, gumamit ng dapat
273
+
274
+ dapat
275
+
276
+ Halimbawa
277
+
278
+ panulat_mo = "lapis"
279
+
280
+ papel = hakdog panulat_mo
281
+ ay "lapis" dapat "bond paper"
282
+ ay "ballpen" dapat "dilaw na papel"
283
+ ginagawa_mue "intermediate paper"
284
+ finish_na
285
+
286
+ mag_print "Ang papel na gagamitin mo ay #{papel}"
287
+
288
+ ### magbigay_daan
289
+
290
+ ip ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang gumagana pa ang program, gumamit ng magbigay_daan
291
+
292
+ magbigay_daan
293
+ bigyang_daan
294
+
295
+ Halimbawa
296
+
297
+ ang gumawaNgID
298
+ mag_print "------------------------------------------"
299
+ magbigay_daan
300
+ mag_print "------------------------------------------"
301
+ finish_na
302
+
303
+ ang ID(impormasyon = {})
304
+ gumawaNgID adbans
305
+ mag_print <<-FINISH_NA
306
+ Pangalan: #{impormasyon[:pangalan]}
307
+ Edad: #{impormasyon[:edad]}
308
+ Tirahan: #{impormasyon[:tirahan]}
309
+ Baitang: #{impormasyon[:baitang]}
310
+ Seksiyon: #{impormasyon[:seksiyon]}
311
+ FINISH_NA
312
+ finish_na
313
+ finish_na
314
+
315
+ ID({
316
+ pangalan: "Maliksi Batubalani",
317
+ edad: "13",
318
+ tirahan: "Ilocos",
319
+ baitang: "6",
320
+ seksiyon: "Masisipag"
321
+ })
322
+
323
+ ### para_sa
324
+
325
+ ip may listahan na nais mong isa isahin, gumamit ng para_sa
326
+
327
+ para_sa
328
+ para_ang
329
+
330
+ Halimbawa
331
+
332
+ listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
333
+ para_sa prutas na_nasa listahan_ng_mga_prutas adbans
334
+ mag_print prutas.sa_malaking_titik
335
+ finish_na
336
+
337
+ ### neba_gibap
338
+
339
+ Ginagamit ang neba_gibap upang umikot muli ang ekspresyon kung may sirang nangyari at nais mo ulit subukan pa andarin
340
+
341
+ neba_gibap
342
+
343
+ Halimbawa
344
+
345
+ bilang_ng_pagkakamali = 0
346
+ glhf
347
+ 1 / 0
348
+ agapan => pagkakamali
349
+ bilang_ng_pagkakamali += 1
350
+ neba_gibap ip bilang_ng_pagkakamali < 3
351
+ iangat "malubhang pagkakamali"
352
+ siguraduhing
353
+ mag_print "Tapos na"
354
+ finish_na
355
+
356
+ ### ibalik
357
+
358
+ ip mayroon kang ibabalik na resulta sa nagtawag ng ang
359
+
360
+ ibalik
361
+ ibalik_ang
362
+ magbalik
363
+ magbalik_nang
364
+ isauli
365
+ isauli_ang
366
+ ibigay
367
+ ibigay_ang
368
+ magbigay
369
+ magbigay_nang
370
+
371
+ Halimbawa
372
+
373
+ ang magdagdag_ng_isa(halaga)
374
+ idadagdag = halaga + 1
375
+ ibalik_ang halaga
376
+ finish_na
377
+
378
+ ### agik
379
+
380
+ Ginagamit ang agik kung meron kang kondisyon sa iyong ekspresyon
381
+
382
+ agik
383
+ ip
384
+
385
+ Halimbawa
386
+
387
+ agik 1 > 0
388
+ mag_print "mas madami!"
389
+ ginagawa_mue
390
+ mag_print "may sira"
391
+ finish_na
392
+
393
+ ### bilang
394
+
395
+ Ang bilang ay ang pagsasabilang ng isang kaukulang klasipikasyon
396
+
397
+ bilang
398
+
399
+ Halimbawa
400
+
401
+ grupo Tinapay
402
+ bilang Donut
403
+ ang flavor
404
+ mag_print 'Strawberry!'
405
+ finish_na
406
+ finish_na
407
+ finish_na
408
+
409
+ tinapay = Tinapay::Donut.kumatawan
410
+ tinapay.flavor
411
+ => 'Strawberry!'
412
+
413
+ ### ako_magisip
414
+
415
+ Gumamit ng ako_magisip kung may hinihintay pa na resulta, kondisyon o pangyayari
416
+
417
+ ako_magisip
418
+ waylwaylwayl
419
+
420
+ Halimbawa
421
+
422
+ may_buhay = istroo
423
+
424
+ ako_magisip may_buhay
425
+ mag_print 'may pag-asa!'
426
+ auko_na
427
+ finish_na
428
+ => 'may pag-asa!'
429
+
430
+ ### alyas
431
+
432
+ Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong panuntunan
433
+
434
+ alyas
435
+
436
+ Halimbawa
437
+
438
+ bilang Hayop
439
+ ang aso
440
+ mag_print 'si browny ay mabait!'
441
+ finish_na
442
+ alyas browny aso
443
+ finish_na
444
+
445
+ hayop = Hayop.kumatawan
446
+ hayop.browny
447
+ => 'si browny ay mabait!'
448
+
449
+ ### nakatukoy?
450
+
451
+ Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo o klase.
452
+
453
+ nakatukoy?
454
+ nakasaad?
455
+
456
+ Halimbawa
457
+
458
+ grupo Manggagawa
459
+ bilang Magsasaka
460
+ ang pananim
461
+ ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin adbans |pananim|
462
+ mag_print "Mag tatanim ng #{pananim} ngayong panahon"
463
+ finish_na
464
+ finish_na
465
+ finish_na
466
+ finish_na
467
+
468
+ kung nakatukoy?(Manggagawa::Magsasaka)
469
+ mag_print 'May nakatukoy!'
470
+ finish_na
471
+
472
+ ### tanggalin
473
+
474
+ Ginagamit ang tanggalin kung may tatanggaling panuntunan sa isang klase
475
+
476
+ tanggalin
477
+ magtanggal
478
+
479
+ Halimbawa
480
+
481
+ grupo Hayop
482
+ bilang Aso
483
+ ang tahol
484
+ mag_print 'baw waw!'
485
+ finish_na
486
+ finish_na
487
+ finish_na
488
+
489
+ bilang Pusa < Hayop::Aso
490
+ tanggalin tahol
491
+ ang meow
492
+ mag_print 'meow wahu!'
493
+ finish_na
494
+ finish_na
495
+
496
+ pusa = Pusa.kumatawan
497
+
498
+ wala_na
499
+ pusa.tahol
500
+ agapan => pagkakamali
501
+ mag_print "ang pagkakamali ay '#{pagkakamali}'"
502
+ finish_na
503
+
504
+ ### tama_na
505
+
506
+ Gumamit ng 'auko_na' kung may nais kang matapos na kondisyon gamit ang 'ako_magisip'
507
+
508
+ tama_na
509
+ auko_na
510
+
511
+ Halimbawa
512
+
513
+ nakamit = mali
514
+
515
+ ako_magisip nakamit == mali
516
+ mag_print 'hindi pa nakakamit!'
517
+ auko_na
518
+ finish_na
519
+
520
+ mag_print 'nakamit na!'
521
+
522
+ ### sa
523
+
524
+ Ginagamit ang 'sa' kung nais mong matukoy ang kasulukuyang listahan
525
+
526
+ sa
527
+ sa_loob_ng
528
+ nasa
529
+ na_nasa
530
+
531
+ Halimbawa
532
+
533
+ Tignan ang [para_sa](#para_sa)
534
+
535
+ ### adbans
536
+
537
+ Ginagamit ang 'adbans' kung nais mong i konteksto ang kasulukuyang listahan
538
+
539
+ adbans
540
+ dududu
541
+
542
+ Halimbawa
543
+
544
+ Tignan ang [magbigay_daan](#magbigay_daan), [nakatukoy?](#nakatukoy?)
545
+
546
+ ### hanggang
547
+
548
+ Ang 'hanggang' ay magpapatuloy tumakbo hanggang maabot ang tamang kundisyon.
549
+
550
+ hanggang
551
+ hanggang_ang
552
+ mapa_hanggang
553
+
554
+ Halimbawa
555
+
556
+ numero = 0
557
+ panghuling_numero = 5
558
+ glhf
559
+ mag_print "Ang numero ay #{numero} na"
560
+ numero += 1
561
+ finish_na hanggang numero < panghuling_numero
562
+
563
+ ### maliban_na
564
+
565
+ malibang
566
+ maliban_na
567
+ maliban_ang
568
+
569
+ Halimbawa
570
+
571
+ mga_persona = [
572
+ { pangalan: 'Gener', kasarian: 'lalaki' },
573
+ { pangalan: 'Karmen', kasarian: 'babae' }
574
+ ]
575
+
576
+ mga_persona.isaisahin adbans |tao|
577
+ malibang tao[:kasarian] == 'lalaki'
578
+ mag_print "si #{tao[:pangalan]} ay babae!"
579
+ ginagawa_mue
580
+ mag_print "si #{tao[:pangalan]} ay lalaki!"
581
+ finish_na
582
+ finish_na
583
+
584
+ ### o
585
+
586
+ Ang 'o' ay ginagamit upang piliin ang nagsasauli ng tama.
587
+
588
+ o
589
+ o_ang
590
+
591
+ Halimbawa
592
+
593
+ istroo o mali
594
+ => istroo
595
+
596
+ ## Pagtulong sa pagdedevelop ng Bato
597
+
598
+ Magpadala ng mga kahilingan sa paggawa ng ticket.
599
+
600
+ ## Lisensya
601
+
602
+ Instituto Ng Tekonolohiya sa Massachusetts License (makikita sa LICENSE.txt na file).