filipinomemes 1.0.1 → 1.0.2

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +153 -168
  3. data/lib/filipinomemes/core_ext/array.rb +8 -15
  4. data/lib/filipinomemes/core_ext/class.rb +1 -2
  5. data/lib/filipinomemes/core_ext/enumerator.rb +1 -1
  6. data/lib/filipinomemes/core_ext/integer.rb +0 -1
  7. data/lib/filipinomemes/core_ext/kernel.rb +3 -11
  8. data/lib/filipinomemes/core_ext/module.rb +2 -2
  9. data/lib/filipinomemes/core_ext/range.rb +1 -4
  10. data/lib/filipinomemes/core_ext/string.rb +7 -11
  11. data/lib/filipinomemes/ruby_parser_patches.rb +38 -60
  12. data/lib/filipinomemes/version.rb +1 -1
  13. data/sample_programs/agapan.bt +2 -2
  14. data/sample_programs/alyas.bt +4 -4
  15. data/sample_programs/batotris.bt +66 -66
  16. data/sample_programs/bilang.bt +5 -5
  17. data/sample_programs/dapat.bt +3 -3
  18. data/sample_programs/habang.bt +2 -2
  19. data/sample_programs/ihinto.bt +4 -4
  20. data/sample_programs/kontrol-sa-pagiikot.bt +14 -14
  21. data/sample_programs/kumusta_mundo.bt +2 -2
  22. data/sample_programs/magbibigay.bt +8 -8
  23. data/sample_programs/maliban_na.bt +4 -4
  24. data/sample_programs/modyul.bt +9 -9
  25. data/sample_programs/nakatukoy.bt +7 -7
  26. data/sample_programs/ngunit_kapag.bt +3 -3
  27. data/sample_programs/o_ang.bt +2 -2
  28. data/sample_programs/pamamaraan-sa-pagkakamali.bt +5 -5
  29. data/sample_programs/pangalan.bt +5 -5
  30. data/sample_programs/panguri.bt +5 -5
  31. data/sample_programs/panuntunan.bt +4 -4
  32. data/sample_programs/para_sa.bt +2 -2
  33. data/sample_programs/pibonasyi.bt +17 -17
  34. data/sample_programs/siguraduhin.bt +6 -6
  35. data/sample_programs/tanggalin.bt +9 -9
  36. data/sample_programs/timebomb.bt +10 -10
  37. data/spec/filipinomemes/compiler_spec.rb +23 -23
  38. data/spec/spec_helper.rb +1 -1
  39. metadata +2 -2
@@ -1,14 +1,14 @@
1
- ang gumawaNgID
2
- mag_print "------------------------------------------"
3
-
4
- magbigay_daan
5
-
6
- mag_print "------------------------------------------"
1
+ dep gumawaNgID
2
+ panomonasabe "------------------------------------------"
3
+
4
+ dewei
5
+
6
+ panomonasabe "------------------------------------------"
7
7
  finish_na
8
8
 
9
- ang ID(impormasyon = {})
9
+ dep ID(impormasyon = {})
10
10
  gumawaNgID adbans
11
- mag_print <<-FINISH_NA
11
+ panomonasabe <<-FINISH_NA
12
12
  Pangalan: #{impormasyon[:pangalan]}
13
13
  Edad: #{impormasyon[:edad]}
14
14
  Tirahan: #{impormasyon[:tirahan]}
@@ -3,10 +3,10 @@ mga_persona = [
3
3
  { pangalan: 'Karmen', kasarian: 'babae' }
4
4
  ]
5
5
 
6
- mga_persona.isaisahin adbans |tao|
7
- malibang tao[:kasarian] == 'lalaki'
8
- mag_print "si #{tao[:pangalan]} ay babae!"
6
+ mga_persona.its adbans |tao|
7
+ payless tao[:kasarian] == 'lalaki'
8
+ panomonasabe "si #{tao[:pangalan]} ay babae!"
9
9
  ginagawa_mue
10
- mag_print "si #{tao[:pangalan]} ay lalaki!"
10
+ panomonasabe "si #{tao[:pangalan]} ay lalaki!"
11
11
  finish_na
12
12
  finish_na
@@ -1,20 +1,20 @@
1
- grupo MgaAlagangHayop
1
+ mojul MgaAlagangHayop
2
2
  KAILANGAN_DAMI_NG_ASO = 5
3
3
  bilang Aso
4
- ang tahol
5
- mag_print "Woof..."
4
+ dep tahol
5
+ panomonasabe "Woof..."
6
6
  finish_na
7
7
 
8
- ang kumanin
9
- mag_print "..."
8
+ dep kumanin
9
+ panomonasabe "..."
10
10
  finish_na
11
11
 
12
- ang ikembot_ang_buntot
13
- mag_print "Ginagawa ko ito dahil masaya ako!"
12
+ dep ikembot_ang_buntot
13
+ panomonasabe "Ginagawa ko ito dahil masaya ako!"
14
14
  finish_na
15
- finish_na
15
+ finish_na
16
16
  finish_na
17
17
 
18
18
  dami = 6
19
- browny = MgaAlagangHayop::Aso.gumawa
19
+ browny = MgaAlagangHayop::Aso.bago
20
20
  browny.ikembot_ang_buntot ip dami >= MgaAlagangHayop::KAILANGAN_DAMI_NG_ASO
@@ -1,13 +1,13 @@
1
- grupo Manggagawa
1
+ mojul Manggagawa
2
2
  bilang Magsasaka
3
- ang pananim
4
- ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin adbans |pananim|
5
- mag_print "Mag tatanim ng #{pananim} ngayong panahon"
3
+ dep pananim
4
+ ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].its adbans |pananim|
5
+ panomonasabe "Mag tatanim ng #{pananim} ngayong panahon"
6
6
  finish_na
7
7
  finish_na
8
8
  finish_na
9
9
  finish_na
10
10
 
11
- kung nakatukoy?(Manggagawa::Magsasaka)
12
- mag_print 'May nakatukoy!'
13
- finish_na
11
+ kung abugbug(Manggagawa::Magsasaka)
12
+ panomonasabe 'May nakatukoy!'
13
+ finish_na
@@ -1,8 +1,8 @@
1
1
  pangalan_mo = "Masipag"
2
2
  agik pangalan_mo == "Matipuno"
3
- mag_print "Ikaw ay si Matipuno!"
3
+ panomonasabe "Ikaw ay si Matipuno!"
4
4
  agik_ginagawa_mue pangalan_mo == "Masipag"
5
- mag_print "Ikaw ay si Masipag!"
5
+ panomonasabe "Ikaw ay si Masipag!"
6
6
  ginagawa_mue
7
- mag_print "Wala kang rekord dito!"
7
+ panomonasabe "Wala kang rekord dito!"
8
8
  finish_na
@@ -1,3 +1,3 @@
1
- ip (istroo o mali)
2
- mag_print 'istroo'
1
+ ip (israel o isrong)
2
+ panomonasabe 'israel'
3
3
  finish_na
@@ -1,11 +1,11 @@
1
1
  bilang_ng_pagkakamali = 0
2
2
  glhf
3
- # mag komento ip hindi sigurado
3
+ # mag komento kung hindi sigurado
4
4
  1 / 0
5
- agapan => pagkakamali
5
+ reskyu => pagkakamali
6
6
  bilang_ng_pagkakamali += 1
7
7
  neba_gibap ip bilang_ng_pagkakamali < 3
8
- iangat "malubhang pagkakamali"
9
- siguraduhing
10
- mag_print "Tapos na"
8
+ rays "malubhang pagkakamali"
9
+ may_raket
10
+ panomonasabe "den na"
11
11
  finish_na
@@ -1,10 +1,10 @@
1
- ang iprintAngPangalan(pangalan = wala)
1
+ dep panomonasabeAngPangalan(pangalan = wala)
2
2
  ip pangalan != wala
3
- mag_print "Magandang araw sa iyo #{pangalan}!"
3
+ panomonasabe "Magandang araw sa iyo #{pangalan}!"
4
4
  ginagawa_mue
5
- mag_print "Magandang araw!"
5
+ panomonasabe "Magandang araw!"
6
6
  finish_na
7
7
  finish_na
8
8
 
9
- iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
10
- iprintAngPangalan # => "Magandang araw!"
9
+ panomonasabeAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
10
+ panomonasabeAngPangalan # => "Magandang araw!"
@@ -1,13 +1,13 @@
1
1
  bilang Pangalan
2
- panguri :pangalan
2
+ aksesor :pangalan
3
3
 
4
- ang initialize(pangalan)
4
+ dep initialize(pangalan)
5
5
  @pangalan = pangalan
6
6
  finish_na
7
7
 
8
- ang ipakitaAngPangalan
9
- mag_print mayselp.pangalan
8
+ dep ipakitaAngPangalan
9
+ panomonasabe selp.pangalan
10
10
  finish_na
11
11
  finish_na
12
12
 
13
- Pangalan.gumawa('Joel').ipakitaAngPangalan
13
+ Pangalan.bago('Joel').ipakitaAngPangalan
@@ -1,11 +1,11 @@
1
- ang gumawaNgID(estudyante = {})
1
+ dep gumawaNgID(estudyante = {})
2
2
  pangalan = estudyante[:pangalan]
3
3
  edad = estudyante[:edad]
4
4
  tirahan = estudyante[:tirahan]
5
5
  baitang = estudyante[:baitang]
6
6
  seksiyon = estudyante[:seksiyon]
7
-
8
- mag_print <<-FINISH_NA
7
+
8
+ panomonasabe <<-FINISH_NA
9
9
  Pangalan: #{pangalan}
10
10
  Edad: #{edad}
11
11
  Tirahan: #{tirahan}
@@ -20,4 +20,4 @@ gumawaNgID({
20
20
  tirahan: "Ilocos",
21
21
  baitang: "6",
22
22
  seksiyon: "Masisipag"
23
- })
23
+ })
@@ -1,4 +1,4 @@
1
1
  listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
2
- para_sa prutas na_nasa listahan_ng_mga_prutas adbans
3
- mag_print prutas.sa_malaking_titik
2
+ poreber prutas insayd listahan_ng_mga_prutas adbans
3
+ panomonasabe prutas.kapitalays
4
4
  finish_na
@@ -1,4 +1,4 @@
1
- ang pibonasyi(n, n1 = 1, n2 = 1)
1
+ dep pibonasyi(n, n1 = 1, n2 = 1)
2
2
  ip n <= 2
3
3
  [0, n1, n2][n]
4
4
  ginagawa_mue
@@ -12,17 +12,17 @@ ang pibonasyi(n, n1 = 1, n2 = 1)
12
12
  finish_na
13
13
  finish_na
14
14
 
15
- ang pibonasyingPagsuksok(n, n1 = 1, n2 = 1)
15
+ dep pibonasyingPagsuksok(n, n1 = 1, n2 = 1)
16
16
  ip n <= 2
17
17
  [0, n1, n2][n]
18
18
  ginagawa_mue
19
- ([wala].umikot.kumuha(n-2).ipasok([n1, n2]) adbans |nakaraan, x|
20
- nakaraan.magbagsak(1).itulak(nakaraan[0] + nakaraan[1])
21
- finish_na).huli
19
+ ([wala].pinaikot.kuha(n-2).pushmoyante([n1, n2]) adbans |nakaraan, x|
20
+ nakaraan.boombagsak(1).pushmoyante(nakaraan[0] + nakaraan[1])
21
+ finish_na).gg
22
22
  finish_na
23
23
  finish_na
24
24
 
25
- ang pibonasyingInuulit(n, n1 = 1, n2 = 1)
25
+ dep pibonasyingInuulit(n, n1 = 1, n2 = 1)
26
26
  ip n <= 2
27
27
  binhi = [0, n1, n2]
28
28
  binhi[n]
@@ -31,29 +31,29 @@ ang pibonasyingInuulit(n, n1 = 1, n2 = 1)
31
31
  finish_na
32
32
  finish_na
33
33
 
34
- ang pibonasyingBuntutangInuulit(n, n1 = 1, n2 = 1)
34
+ dep pibonasyingBuntutangInuulit(n, n1 = 1, n2 = 1)
35
35
  magbalik n1 ip n <= 1
36
36
  magbalik n2 ip n == 2
37
37
  magbalik pibonasyi(n - 1, n2, n1 + n2)
38
38
  finish_na
39
39
 
40
- ang pibonasyingPaguulit(n, n1 = 1, n2 = 1)
41
- (2..n).sa_bawat_isa {
40
+ dep pibonasyingPaguulit(n, n1 = 1, n2 = 1)
41
+ (2..n).its {
42
42
  n1, n2 = n2, n1 + n2
43
43
  }
44
44
  magbalik n1
45
45
  finish_na
46
46
 
47
- ang pibonasyingPaguulitNaUmiikot(n, n1 = 1, n2 = 1)
48
- para_sa i sa 2..n
47
+ dep pibonasyingPaguulitNaUmiikot(n, n1 = 1, n2 = 1)
48
+ poreber i insayd 2..n
49
49
  n1, n2 = n2, n1 + n2
50
50
  finish_na
51
51
  magbalik n1
52
52
  finish_na
53
53
 
54
- mag_print "Gamit ang Panuntunang Pibonasyi sa 10 ay #{pibonasyi 10}"
55
- mag_print "Gamit ang Panuntunang Pibonasying May Pagsuksok sa 9 ay #{pibonasyingPagsuksok 9}"
56
- mag_print "Gamit ang Panuntunang Pibonasying Inuulit sa 8 ay #{pibonasyingInuulit 8}"
57
- mag_print "Gamit ang Panuntunang Pibonasying May Buntot na Inuulit sa 7 ay #{pibonasyingBuntutangInuulit 7}"
58
- mag_print "Gamit ang Panuntunang Pibonasying Paguulit sa 6 ay #{pibonasyingPaguulit 6}"
59
- mag_print "Gamit ang Panuntunang Pibonasying Paguulit na Umiikot sa 5 ay #{pibonasyingPaguulitNaUmiikot 5}"
54
+ panomonasabe "Gamit ang Panuntunang Pibonasyi sa 10 ay #{pibonasyi 10}"
55
+ panomonasabe "Gamit ang Panuntunang Pibonasying May Pagsuksok sa 9 ay #{pibonasyingPagsuksok 9}"
56
+ panomonasabe "Gamit ang Panuntunang Pibonasying Inuulit sa 8 ay #{pibonasyingInuulit 8}"
57
+ panomonasabe "Gamit ang Panuntunang Pibonasying May Buntot na Inuulit sa 7 ay #{pibonasyingBuntutangInuulit 7}"
58
+ panomonasabe "Gamit ang Panuntunang Pibonasying Paguulit sa 6 ay #{pibonasyingPaguulit 6}"
59
+ panomonasabe "Gamit ang Panuntunang Pibonasying Paguulit na Umiikot sa 5 ay #{pibonasyingPaguulitNaUmiikot 5}"
@@ -1,8 +1,8 @@
1
1
  wala_na
2
- itaas "Chismosa!"
3
- agapan
4
- mag_print "Balik sa trabaho!"
5
- itaas "May kaguluhan!"
6
- siguraduhing
7
- mag_print "Walang kakain kung hindi tapos!"
2
+ rays "Chismosa!"
3
+ reskyu
4
+ panomonasabe "Balik sa trabaho!"
5
+ rays "May kaguluhan!"
6
+ may_raket
7
+ panomonasabe "Walang kakain kung hindi den!"
8
8
  finish_na
@@ -1,23 +1,23 @@
1
- grupo Hayop
1
+ mojul Hayop
2
2
  bilang Aso
3
- ang tahol
4
- mag_print 'baw waw!'
3
+ dep tahol
4
+ panomonasabe 'baw waw!'
5
5
  finish_na
6
6
  finish_na
7
7
  finish_na
8
8
 
9
9
  bilang Pusa < Hayop::Aso
10
- tanggalin tahol
10
+ una_ulo tahol
11
11
 
12
- ang meow
13
- mag_print 'meow wahu!'
12
+ dep meow
13
+ panomonasabe 'meow wahu!'
14
14
  finish_na
15
15
  finish_na
16
16
 
17
- pusa = Pusa.kumatawan
17
+ pusa = Pusa.bago
18
18
 
19
19
  wala_na
20
20
  pusa.tahol
21
- agapan => pagkakamali
22
- mag_print "ang pagkakamali ay '#{pagkakamali}'"
21
+ reskyu => pagkakamali
22
+ panomonasabe "ang pagkakamali ay '#{pagkakamali}'"
23
23
  finish_na
@@ -1,27 +1,27 @@
1
1
  # Filipinomemes Programming Language (https://github.com/zephyrum14/filipinomemes)
2
2
 
3
- grupo TimeBomb
3
+ mojul TimeBomb
4
4
  BILANG = 5
5
5
  bilang Bomba
6
- ang tik
7
- mag_print 'tik'
6
+ dep tik
7
+ panomonasabe 'tik'
8
8
  finish_na
9
9
 
10
- ang tok
11
- mag_print 'tok'
10
+ dep tok
11
+ panomonasabe 'tok'
12
12
  finish_na
13
13
 
14
- ang sabog
15
- mag_print 'kaboom!'
14
+ dep sabog
15
+ panomonasabe 'kaboom!'
16
16
  finish_na
17
17
  finish_na
18
18
  finish_na
19
19
 
20
- pasabog = TimeBomb::Bomba.gumawa
20
+ pasabog = TimeBomb::Bomba.bago
21
21
 
22
22
  numero = 1
23
23
  ako_magisip numero <= TimeBomb::BILANG adbans
24
- mag_print "#{numero}"
24
+ panomonasabe "#{numero}"
25
25
 
26
26
  ip (numero == TimeBomb::BILANG)
27
27
  pasabog.sabog
@@ -31,6 +31,6 @@ ako_magisip numero <= TimeBomb::BILANG adbans
31
31
  pasabog.tok
32
32
  finish_na
33
33
 
34
- matulog 1
34
+ tulog_ako 1
35
35
  numero += 1
36
36
  finish_na
@@ -28,23 +28,23 @@ isalaysay_ang 'Compiler' do
28
28
  end
29
29
 
30
30
  isalaysay_ang 'ekspresyong Boolean' do
31
- ito_ang 'ekspresyon ng truts o true' do
32
- compiler.zephyrum('truts').should == starting_code + 'true'
31
+ ito_ang 'ekspresyon ng israel o true' do
32
+ compiler.zephyrum('israel').should == starting_code + 'true'
33
33
  end
34
34
 
35
- ito_ang 'ekspresyon ng mali o false' do
36
- compiler.zephyrum('mali').should == starting_code + 'false'
35
+ ito_ang 'ekspresyon ng isrong o false' do
36
+ compiler.zephyrum('isrong').should == starting_code + 'false'
37
37
  end
38
38
 
39
39
  ito_ang 'ekspresyon ng hindi o not' do
40
- compiler.zephyrum('hindi truts').should == starting_code + '(not true)'
40
+ compiler.zephyrum('hindi israel').should == starting_code + '(not true)'
41
41
  end
42
42
  end
43
43
 
44
44
  isalaysay_ang 'susing mga salita' do
45
- ito_ang 'ekspresyon ng agik / dapat / agik_ginagawa_mue / ginagawa_mue / finish_na' do
45
+ ito_ang 'ekspresyon ng agik / den / agik_ginagawa_mue / ginagawa_mue / finish_na' do
46
46
  compiler.zephyrum('
47
- agik 1 dapat
47
+ agik 1 den
48
48
  2
49
49
  agik_ginagawa_mue 3
50
50
  4
@@ -54,11 +54,11 @@ isalaysay_ang 'Compiler' do
54
54
  '1 ? (2) : (3 ? (4) : (5))')
55
55
  end
56
56
 
57
- ito_ang 'ekspresyon ng hakdog / pagka / dapat / ginagawa_mue / finish_na' do
57
+ ito_ang 'ekspresyon ng hakdog / wen / den / ginagawa_mue / finish_na' do
58
58
  compiler.zephyrum("
59
59
  hakdog 1
60
- pagka 1 dapat 1
61
- pagka 2
60
+ wen 1 den 1
61
+ wen 2
62
62
  2
63
63
  ginagawa_mue
64
64
  3
@@ -73,44 +73,44 @@ isalaysay_ang 'Compiler' do
73
73
  end')
74
74
  end
75
75
 
76
- ito_ang 'glhf / iligtas / iangat / siguraduhing / finish_na' do
76
+ ito_ang 'glhf / reskyu / rays / may_raket / finish_na' do
77
77
  # raise ir Kernel metode nevis atslēgvārds
78
78
  compiler.zephyrum('
79
79
  glhf
80
80
  1 / 0
81
- iligtas => pagkakamali
81
+ reskyu => pagkakamali
82
82
  neba_gibap
83
- iangat pagkakamali, pagkakamali.iulat
84
- siguraduhing
85
- mag_print "Katapusan"
83
+ rays pagkakamali, pagkakamali.iulat
84
+ may_raket
85
+ panomonasabe "Katapusan"
86
86
  finish_na').should be_like(starting_code +
87
87
  'begin
88
88
  (1 / 0)
89
89
  rescue => pagkakamali
90
90
  retry
91
- iangat(pagkakamali, pagkakamali.iulat)
91
+ rays(pagkakamali, pagkakamali.iulat)
92
92
  ensure
93
- mag_print("Katapusan")
93
+ panomonasabe("Katapusan")
94
94
  end')
95
95
  end
96
96
  end
97
97
 
98
98
  isalaysay_ang 'pamamaraan sa Kernel' do
99
- ito_ang "ekspresyon ng pagsusulat gamit ang 'mag_print'" do
100
- compiler.zephyrum("mag_print 'abc'").should ==
101
- starting_code + 'mag_print("abc")'
99
+ ito_ang "ekspresyon ng pagsusulat gamit ang 'panomonasabe'" do
100
+ compiler.zephyrum("panomonasabe 'abc'").should ==
101
+ starting_code + 'panomonasabe("abc")'
102
102
  end
103
103
  end
104
104
 
105
105
  isalaysay_ang 'Dinikit na mga pamamaraan' do
106
106
  ito_ang 'ekspresyon ng pamamaraan sa pagbabaliktad ng mga titik' do
107
- resulta = eval compiler.zephyrum("'magandang araw'.baliktad")
107
+ resulta = eval compiler.zephyrum("'magandang araw'.sikstinayn")
108
108
  resulta.should == 'wara gnadnagam'
109
109
  end
110
110
 
111
111
  ito_ang 'ekspresayon ng pamamaraan sa pagsukat ng haba ng salita' do
112
- resulta = eval compiler.zephyrum("'Pangungusap'.haba")
113
- resulta.should == 11
112
+ resulta = eval compiler.zephyrum("'Zephyrum'.longgadog")
113
+ resulta.should == 8
114
114
  end
115
115
  end
116
116
  end
data/spec/spec_helper.rb CHANGED
@@ -55,7 +55,7 @@ RSpec::Core::MemoizedHelpers::ClassMethods.module_eval do
55
55
  end
56
56
 
57
57
  RSpec::Core::MemoizedHelpers.module_eval do
58
- alias_method :dapat, :should
58
+ alias_method :den, :should
59
59
  end
60
60
 
61
61
  require 'filipinomemes/compiler'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filipinomemes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Paul Carag
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-05 00:00:00.000000000 Z
11
+ date: 2018-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby2ruby