filipinomemes 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -556
  3. data/bin/filipinomemes +6 -1
  4. data/lib/filipinomemes.rb +2 -1
  5. data/lib/filipinomemes/compiler.rb +4 -3
  6. data/lib/filipinomemes/core_ext.rb +1 -0
  7. data/lib/filipinomemes/core_ext/array.rb +2 -0
  8. data/lib/filipinomemes/core_ext/class.rb +2 -0
  9. data/lib/filipinomemes/core_ext/enumerator.rb +2 -0
  10. data/lib/filipinomemes/core_ext/integer.rb +2 -0
  11. data/lib/filipinomemes/core_ext/kernel.rb +2 -0
  12. data/lib/filipinomemes/core_ext/module.rb +2 -0
  13. data/lib/filipinomemes/core_ext/range.rb +2 -0
  14. data/lib/filipinomemes/core_ext/string.rb +2 -0
  15. data/lib/filipinomemes/ruby_parser_patches.rb +14 -0
  16. data/lib/filipinomemes/version.rb +2 -1
  17. data/sample_programs/array.bt +4 -0
  18. data/sample_programs/conditions.bt +8 -0
  19. data/sample_programs/group.bt +13 -0
  20. data/sample_programs/helloworld.bt +3 -0
  21. data/sample_programs/magbibigay.bt +13 -13
  22. data/sample_programs/module.bt +10 -0
  23. data/sample_programs/{o_ang.bt → or.bt} +0 -0
  24. data/spec/filipinomemes/compiler_spec.rb +11 -4
  25. data/spec/spec_helper.rb +1 -3
  26. metadata +8 -25
  27. data/sample_programs/agapan.bt +0 -5
  28. data/sample_programs/alyas.bt +0 -9
  29. data/sample_programs/batotris.bt +0 -286
  30. data/sample_programs/bilang.bt +0 -10
  31. data/sample_programs/dapat.bt +0 -9
  32. data/sample_programs/habang.bt +0 -7
  33. data/sample_programs/ihinto.bt +0 -8
  34. data/sample_programs/kontrol-sa-pagiikot.bt +0 -45
  35. data/sample_programs/kumusta_mundo.bt +0 -5
  36. data/sample_programs/maliban_na.bt +0 -12
  37. data/sample_programs/modyul.bt +0 -20
  38. data/sample_programs/nakatukoy.bt +0 -13
  39. data/sample_programs/ngunit_kapag.bt +0 -8
  40. data/sample_programs/pamamaraan-sa-pagkakamali.bt +0 -11
  41. data/sample_programs/pangalan.bt +0 -10
  42. data/sample_programs/panguri.bt +0 -13
  43. data/sample_programs/panuntunan.bt +0 -23
  44. data/sample_programs/para_sa.bt +0 -4
  45. data/sample_programs/pibonasyi.bt +0 -59
  46. data/sample_programs/siguraduhin.bt +0 -8
  47. data/sample_programs/tanggalin.bt +0 -23
  48. data/sample_programs/timebomb.bt +0 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f57ecdde6fa439dcf71c74625c11358ca8d43703
4
- data.tar.gz: f8b71ec7b8c70322c6e8b1388177729116c11fb8
3
+ metadata.gz: e152e51ad47b423f7ef15223239433b83a4f4548
4
+ data.tar.gz: 6e3dc79167333d5c974486008bc342b20f7d3b58
5
5
  SHA512:
6
- metadata.gz: bbc9543b5a6d0d4c2ed33e1d29f7daefb46d123f98127e18a1b602c95e468dd462364e5e9149a081b5b2418956b048afb28a39cb1f23df7de36258c907436120
7
- data.tar.gz: 8561154b1211a8f344f0af884a963dadbfcfb8023eca65a9fc5333e1e0e7694499130fad59ea8fc1664062c18ed4897b3319c6177e0e913bb71dbc659eddb913
6
+ metadata.gz: c0e5b9f4c14bb8cc3ee7c2463452170913f92b5f54596aee691dc39f35c92708830aca983584876c2a41830dbda3b0bfe2db17a2fbe1abcaf0e390f4e86f514f
7
+ data.tar.gz: 4614af368e245cb6bb33f18e98d33128af16178ef1ed2d25ec7cc48ac916e73e0f400b1bfdf158a77ba2c7e624f64e3fa9b35a7d014aecd5732832b181c2330e
data/README.md CHANGED
@@ -8,579 +8,51 @@ Filipinomemes is a programming language that uses filipino memes as it's syntaxe
8
8
  You need to download and install Ruby (version 2.4 or up).
9
9
  after installing, run this code.
10
10
 
11
- gem install filipinomemes
11
+ gem install filipinomemes
12
12
 
13
13
  ## Why filipinomemes?
14
14
 
15
- The 'filipinomemes' is based on Ruby Programming Language that uses filipinomemes as its syntaxes.
15
+ The 'filipinomemes' is based on Ruby Programming Language. It uses filipinomemes as its syntaxes.
16
16
 
17
17
  ## Creating your first program using filipinomemes
18
18
 
19
19
  Copy the following code to a .txt file then save it as helloworld.bt
20
20
 
21
- ip 1 > 0
22
- panomonasabe "Kumusta mundo!"
23
- ginagawa_mue
24
- panomonasabe "Mayroong sira"
25
- finish_na
21
+ wala_na
22
+ panomonasabe "Kumusta mundo!"
23
+ finish_na
26
24
 
27
25
  and run this program using:
28
26
 
29
- filipinomemes helloworld.bt
27
+ filipinomemes helloworld.bt
30
28
 
31
- ## Sintaks
29
+ ### String Functions
30
+ 'Hello World'.sikstinayn # => 'dlroW olleH'
31
+ 'Zephyrum'.longgadog # => 8
32
32
 
33
- ### Pagsusulat
33
+ ### Boolean Expressions
34
34
 
35
- "Ito ay mga serye ng mga sulat sa wikang Filipino"
36
- <<-FINISH_NA
37
- mga salita
38
- na nahahati
39
- sa ilang mga hilera
40
- FINISH_NA
35
+ israel //true
36
+ isrong //false
37
+ isnot //not
41
38
 
42
- ### Dinikit na mga pamamaraan
43
- 'magandang araw'.sikstinayn # => 'wara gnadnagam'
44
- 'Pangungusap'.longgadog # => 11
39
+ ### Conditions
45
40
 
46
- ### Boolean Expression
41
+ agik //if
42
+ agik_ginagawa_mue //elseif
43
+ ginagawa_mue //else
47
44
 
48
- israel
49
- isrong
50
- isnot
45
+ Conditions Usage(Sample Program):
51
46
 
52
- ### Condition
47
+ your_name = "Zephyrum"
48
+ agik your_name == "Jan Paul"
49
+ panomonasabe "Hi Jan Paul!"
50
+ agik_ginagawa_mue your_name == "Zephyrum"
51
+ panomonasabe "Hello Zephyrum!"
52
+ ginagawa_mue
53
+ panomonasabe "Sorry I don't know your name. :("
54
+ finish_na
53
55
 
54
- Paggamit ng kondisyon.
56
+ ## License
55
57
 
56
- agik halaga > 100 den
57
- "ayos lang"
58
- agik_ginagawa_mue halaga > 0 den
59
- "ok lang"
60
- ginagawa_mue
61
- "wala lang"
62
- finish_na
63
-
64
- hakdog halaga
65
- wen 5 den "lima"
66
- wen 4 den "apat"
67
- ginagawa_mue "wala"
68
- finish_na
69
-
70
- ### Pamamaraan sa pagkakamali
71
-
72
- bilang_ng_pagkakamali = 0
73
- glhf
74
- # mag komento kung hindi sigurado
75
- 1 / 0
76
- reskyu => pagkakamali
77
- bilang_ng_pagkakamali += 1
78
- neba_gibap ip bilang_ng_pagkakamali < 3
79
- rays "malubhang pagkakamali"
80
- may_raket
81
- panomonasabe "den na"
82
- finish_na
83
-
84
- ### ge_talon
85
-
86
- ge_talon panomonasabeAngPangalan(pangalan = wala)
87
- ip pangalan != wala
88
- panomonasabe "Magandang araw sa iyo #{pangalan}!"
89
- ginagawa_mue
90
- panomonasabe "Magandang araw!"
91
- finish_na
92
- finish_na
93
-
94
- panomonasabeAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
95
- panomonasabeAngPangalan # => "Magandang araw!"
96
-
97
- ## Paggamit ng mga ekspresyon ng mga salita sa program
98
-
99
- ### finish_na
100
-
101
- Maari kang gumamit sa alin sa mga sumusunod sa pagtatapos ng program
102
-
103
- finish_na
104
- gg
105
- finish_na
106
-
107
- Halimbawa
108
-
109
- bilang_ng_saging = 2
110
- ip bilang_ng_saging > 1
111
- panomonasabe "Mayroon akong #{bilang_ng_saging} saging! 🍌"
112
- ginagawa_mue
113
- panomonasabe "Wala na akong saging! 😐"
114
- finish_na
115
-
116
- ### ginagawa_mue
117
-
118
- Kung ang ekspresyon ay hindi nasunod maaring gumamit sa alin sa mga sumusunod
119
-
120
- ginagawa_mue
121
- els
122
-
123
- Halimbawa
124
-
125
- pangalan_mo = "Maliksi"
126
- agik pangalan_mo == "Maliksi"
127
- panomonasabe "Ikaw ay si #{pangalan_mo}!"
128
- ginagawa_mue
129
- panomonasabe "Magandang araw sa iyo #{pangalan_mo}!"
130
- finish_na
131
-
132
- ### hakdog
133
-
134
- Kung mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang kondisyon, maari kang gumamit ng mga sumusunod
135
-
136
- hakdog
137
- kays
138
-
139
- Halimbawa
140
-
141
- pangalan_mo = "Mabait"
142
-
143
- hakdog pangalan_mo
144
- ay "Maliksi"
145
- panomonasabe "Ikaw ay si Maliksi!"
146
- ay "Matipuno"
147
- panomonasabe "Ikaw ay si Matipuno!"
148
- ay "Mabait"
149
- panomonasabe "Ikaw ay si Mabait!"
150
- ginagawa_mue
151
- panomonasabe "Magandang araw sa iyo!"
152
- finish_na
153
-
154
- ### may_raket
155
-
156
- Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan nito, gumamit ng mga sumusunod
157
-
158
- may_raket
159
- ensyur
160
-
161
- Halimbawa
162
-
163
- wala_na
164
- rays "May sira!"
165
- reskyu
166
- panomonasabe "Ipagpatuloy..."
167
- rays "May nasira na na-reskyu"
168
- may_raket
169
- panomonasabe "den na"
170
- finish_na
171
-
172
- ### mojul
173
-
174
- Ang mojul ay ang lalagyanan ng mga kabilang na klase sa iyong program
175
-
176
- mojul
177
-
178
- Halimbawa
179
-
180
- mojul Hayop
181
- KABUUAN = 5
182
-
183
- grupo Aso
184
- ang tahol
185
- panomonasabe "Woof..."
186
- finish_na
187
-
188
- ang kumanin
189
- panomonasabe "..."
190
- finish_na
191
-
192
- ang ikembot_ang_buntot
193
- panomonasabe "Ginagawa ko ito dahil masaya ako!"
194
- finish_na
195
- finish_na
196
- finish_na
197
-
198
- dami = 6
199
- browny = Hayop::Aso.bago
200
- browny.ikembot_ang_buntot ip dami >= Hayop::KABUUAN
201
-
202
- ### agik_ginagawa_mue
203
-
204
- Gumamit ng agik_ginagawa_mue kapag mayroon ka pang kondisyon maliban sa nauna ng kondisyon
205
-
206
- agik_ginagawa_mue
207
- elsip
208
- Halimbawa
209
-
210
- pangalan_mo = "Masipag"
211
- agik pangalan_mo == "Matipuno"
212
- panomonasabe "Ikaw ay si Matipuno!"
213
- agik_ginagawa_mue pangalan_mo == "Masipag"
214
- panomonasabe "Ikaw ay si Masipag!"
215
- ginagawa_mue
216
- panomonasabe "Wala kang rekord saamin!"
217
- finish_na
218
-
219
- ### ge_talon
220
-
221
- Ang ge_talon ay may kalakip na pangalan upang ito ay matawag sa program
222
-
223
- ge_talon
224
- dep
225
-
226
-
227
- Halimbawa
228
-
229
- dep id(estudyante = {})
230
- pangalan = estudyante[:pangalan]
231
- edad = estudyante[:edad]
232
- tirahan = estudyante[:tirahan]
233
- baitang = estudyante[:baitang]
234
- seksiyon = estudyante[:seksiyon]
235
-
236
- panomonasabe <<-FINISH_NA
237
- Pangalan: #{pangalan}
238
- Edad: #{edad}
239
- Tirahan: #{tirahan}
240
- Baitang: #{baitang}
241
- Seksiyon: #{seksiyon}
242
- FINISH_NA
243
- finish_na
244
-
245
- id({
246
- pangalan: "Maliksi Batubalani",
247
- edad: "13",
248
- tirahan: "Ilocos",
249
- baitang: "6",
250
- seksiyon: "Masisipag"
251
- })
252
-
253
- ### reskyu
254
-
255
- Ang reskyu ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto mong maisalba o mailigtas
256
-
257
- reskyu
258
- reskyu
259
-
260
- Halimbawa
261
-
262
- wala_na
263
- 1 / 0
264
- reskyu
265
- panomonasabe "Hindi ito posible!"
266
- finish_na
267
-
268
- ### den
269
-
270
- Kung mayroon kang ekspresyon na mayroong inaasahan na resulta, gumamit ng den
271
-
272
- den
273
-
274
- Halimbawa
275
-
276
- panulat_mo = "lapis"
277
-
278
- papel = hakdog panulat_mo
279
- ay "lapis" den "bond paper"
280
- ay "ballpen" den "dilaw na papel"
281
- ginagawa_mue "intermediate paper"
282
- finish_na
283
-
284
- panomonasabe "Ang papel na gagamitin mo ay #{papel}"
285
-
286
- ### dewei
287
-
288
- Kung ang ekspresyon ay mayroong inaasahang dapat na retern na resulta habang gumagana pa ang program, gumamit ng dewei
289
-
290
- dewei
291
- yild
292
-
293
- Halimbawa
294
-
295
- dep gumawaNgID
296
- panomonasabe "------------------------------------------"
297
- dewei
298
- panomonasabe "------------------------------------------"
299
- finish_na
300
-
301
- ang ID(impormasyon = {})
302
- gumawaNgID adbans
303
- panomonasabe <<-FINISH_NA
304
- Pangalan: #{impormasyon[:pangalan]}
305
- Edad: #{impormasyon[:edad]}
306
- Tirahan: #{impormasyon[:tirahan]}
307
- Baitang: #{impormasyon[:baitang]}
308
- Seksiyon: #{impormasyon[:seksiyon]}
309
- FINISH_NA
310
- finish_na
311
- finish_na
312
-
313
- ID({
314
- pangalan: "Maliksi Batubalani",
315
- edad: "13",
316
- tirahan: "Ilocos",
317
- baitang: "6",
318
- seksiyon: "Masisipag"
319
- })
320
-
321
- ### poreber
322
-
323
- Kung may listahan na nais mong isa isahin, gumamit ng poreber
324
-
325
- poreber
326
- por
327
-
328
- Halimbawa
329
-
330
- listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
331
- poreber prutas insayd listahan_ng_mga_prutas adbans
332
- panomonasabe prutas.kapitalays
333
- finish_na
334
-
335
- ### neba_gibap
336
-
337
- Ginagamit ang neba_gibap upang umikot muli ang ekspresyon kung may sirang nangyari at nais mo ulit subukan pa andarin
338
-
339
- neba_gibap
340
-
341
- Halimbawa
342
-
343
- bilang_ng_pagkakamali = 0
344
- glhf
345
- 1 / 0
346
- reskyu => pagkakamali
347
- bilang_ng_pagkakamali += 1
348
- neba_gibap ip bilang_ng_pagkakamali < 3
349
- rays "malubhang pagkakamali"
350
- may_raket
351
- panomonasabe "den na"
352
- finish_na
353
-
354
- ### magbalik
355
-
356
- ip mayroon kang ibabalik na resulta sa nagtawag ng ang
357
-
358
- magbalik
359
- retern
360
-
361
- Halimbawa
362
-
363
- dep magdagdag_ng_isa(halaga)
364
- idadagdag = halaga + 1
365
- magbalik halaga
366
- finish_na
367
-
368
- ### agik
369
-
370
- Ginagamit ang agik kung meron kang kondisyon sa iyong ekspresyon
371
-
372
- agik
373
- ip
374
-
375
- Halimbawa
376
-
377
- agik 1 > 0
378
- panomonasabe "mas madami!"
379
- ginagawa_mue
380
- panomonasabe "may sira"
381
- finish_na
382
-
383
- ### grupo
384
-
385
- Ang grupo ay ang pagsasabilang ng isang kaukulang klasipikasyon
386
-
387
- grupo
388
-
389
- Halimbawa
390
-
391
- mojul Tinapay
392
- grupo Donut
393
- dep flavor
394
- panomonasabe 'Strawberry!'
395
- finish_na
396
- finish_na
397
- finish_na
398
-
399
- tinapay = Tinapay::Donut.bago
400
- tinapay.flavor
401
- => 'Strawberry!'
402
-
403
- ### ako_magisip
404
-
405
- Gumamit ng ako_magisip kung may hinihintay pa na resulta, kondisyon o pangyayari
406
-
407
- ako_magisip
408
- waylwaylwayl
409
-
410
- Halimbawa
411
-
412
- may_buhay = israel
413
-
414
- ako_magisip may_buhay
415
- panomonasabe 'may pag-asa!'
416
- auko_na
417
- finish_na
418
- => 'may pag-asa!'
419
-
420
- ### alyas
421
-
422
- Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong ge_talon
423
-
424
- alyas
425
-
426
- Halimbawa
427
-
428
- grupo Hayop
429
- dep aso
430
- panomonasabe 'si browny ay mabait!'
431
- finish_na
432
- alyas browny aso
433
- finish_na
434
-
435
- hayop = Hayop.bago
436
- hayop.browny
437
- => 'si browny ay mabait!'
438
-
439
- ### abugbug
440
-
441
- Ang abugbug ay ginagamit kung kailangan malaman kung umiiral ang isang mojul o klase.
442
-
443
- abugbug
444
- depaynd
445
-
446
- Halimbawa
447
-
448
- mojul Manggagawa
449
- grupo Magsasaka
450
- dep pananim
451
- ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].its adbans |pananim|
452
- panomonasabe "Mag tatanim ng #{pananim} ngayong panahon"
453
- finish_na
454
- finish_na
455
- finish_na
456
- finish_na
457
-
458
- kung abugbug(Manggagawa::Magsasaka)
459
- panomonasabe 'May nakatukoy!'
460
- finish_na
461
-
462
- ### una_ulo
463
-
464
- Ginagamit ang una_ulo kung may tatanggaling ge_talon sa isang klase
465
-
466
- una_ulo
467
- andep
468
-
469
- Halimbawa
470
-
471
- mojul Hayop
472
- grupo Aso
473
- dep tahol
474
- panomonasabe 'baw waw!'
475
- finish_na
476
- finish_na
477
- finish_na
478
-
479
- grupo Pusa < Hayop::Aso
480
- una_ulo tahol
481
- dep meow
482
- panomonasabe 'meow wahu!'
483
- finish_na
484
- finish_na
485
-
486
- pusa = Pusa.bago
487
-
488
- wala_na
489
- pusa.tahol
490
- reskyu => pagkakamali
491
- panomonasabe "ang pagkakamali ay '#{pagkakamali}'"
492
- finish_na
493
-
494
- ### tama_na
495
-
496
- Gumamit ng 'auko_na' kung may nais kang matapos na kondisyon gamit ang 'ako_magisip'
497
-
498
- tama_na
499
- auko_na
500
-
501
- Halimbawa
502
-
503
- nakamit = isrong
504
-
505
- ako_magisip nakamit == isrong
506
- panomonasabe 'hindi pa nakakamit!'
507
- auko_na
508
- finish_na
509
-
510
- panomonasabe 'nakamit na!'
511
-
512
- ### insayd
513
-
514
- Ginagamit ang 'insayd' kung nais mong matukoy ang kasulukuyang listahan
515
-
516
- insayd
517
-
518
- Halimbawa
519
-
520
- Tignan dep [poreber](#poreber)
521
-
522
- ### adbans
523
-
524
- Ginagamit ang 'adbans' kung nais mong i konteksto ang kasulukuyang listahan
525
-
526
- adbans
527
- dududu
528
-
529
- Halimbawa
530
-
531
- Tignan ang [dewei](#dewei), [abugbug](#abugbug)
532
-
533
- ### hanggang_sa_dulo
534
-
535
- Ang 'hanggang_sa_dulo' ay magpapatuloy tumakbo hanggang_sa_dulo maabot ang tamang kundisyon.
536
-
537
- hanggang_sa_dulo
538
- antil
539
-
540
- Halimbawa
541
-
542
- numero = 0
543
- panghuling_numero = 5
544
- glhf
545
- panomonasabe "Ang numero ay #{numero} na"
546
- numero += 1
547
- finish_na hanggang_sa_dulo numero < panghuling_numero
548
-
549
- ### payless
550
-
551
- payless
552
- anles
553
-
554
- Halimbawa
555
-
556
- mga_persona = [
557
- { pangalan: 'Gener', kasarian: 'lalaki' },
558
- { pangalan: 'Karmen', kasarian: 'babae' }
559
- ]
560
-
561
- mga_persona.its adbans |tao|
562
- payless tao[:kasarian] == 'lalaki'
563
- panomonasabe "si #{tao[:pangalan]} ay babae!"
564
- ginagawa_mue
565
- panomonasabe "si #{tao[:pangalan]} ay lalaki!"
566
- finish_na
567
- finish_na
568
-
569
- ### o
570
-
571
- Ang 'o' ay ginagamit upang piliin ang nagsasauli ng tama.
572
-
573
- o
574
-
575
- Halimbawa
576
-
577
- israel o isrong
578
- => israel
579
-
580
- ## Pagtulong sa pagdedevelop ng Bato
581
-
582
- Magpadala ng mga kahilingan sa paggawa ng ticket.
583
-
584
- ## Lisensya
585
-
586
- Instituto Ng Tekonolohiya sa Massachusetts License (makikita sa LICENSE.txt na file).
58
+ Massachusetts Institute of Technology (Can be viewed in LICENSE.txt file).