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.
- checksums.yaml +4 -4
- data/README.md +153 -168
- data/lib/filipinomemes/core_ext/array.rb +8 -15
- data/lib/filipinomemes/core_ext/class.rb +1 -2
- data/lib/filipinomemes/core_ext/enumerator.rb +1 -1
- data/lib/filipinomemes/core_ext/integer.rb +0 -1
- data/lib/filipinomemes/core_ext/kernel.rb +3 -11
- data/lib/filipinomemes/core_ext/module.rb +2 -2
- data/lib/filipinomemes/core_ext/range.rb +1 -4
- data/lib/filipinomemes/core_ext/string.rb +7 -11
- data/lib/filipinomemes/ruby_parser_patches.rb +38 -60
- data/lib/filipinomemes/version.rb +1 -1
- data/sample_programs/agapan.bt +2 -2
- data/sample_programs/alyas.bt +4 -4
- data/sample_programs/batotris.bt +66 -66
- data/sample_programs/bilang.bt +5 -5
- data/sample_programs/dapat.bt +3 -3
- data/sample_programs/habang.bt +2 -2
- data/sample_programs/ihinto.bt +4 -4
- data/sample_programs/kontrol-sa-pagiikot.bt +14 -14
- data/sample_programs/kumusta_mundo.bt +2 -2
- data/sample_programs/magbibigay.bt +8 -8
- data/sample_programs/maliban_na.bt +4 -4
- data/sample_programs/modyul.bt +9 -9
- data/sample_programs/nakatukoy.bt +7 -7
- data/sample_programs/ngunit_kapag.bt +3 -3
- data/sample_programs/o_ang.bt +2 -2
- data/sample_programs/pamamaraan-sa-pagkakamali.bt +5 -5
- data/sample_programs/pangalan.bt +5 -5
- data/sample_programs/panguri.bt +5 -5
- data/sample_programs/panuntunan.bt +4 -4
- data/sample_programs/para_sa.bt +2 -2
- data/sample_programs/pibonasyi.bt +17 -17
- data/sample_programs/siguraduhin.bt +6 -6
- data/sample_programs/tanggalin.bt +9 -9
- data/sample_programs/timebomb.bt +10 -10
- data/spec/filipinomemes/compiler_spec.rb +23 -23
- data/spec/spec_helper.rb +1 -1
- metadata +2 -2
@@ -1,14 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
dep gumawaNgID
|
2
|
+
panomonasabe "------------------------------------------"
|
3
|
+
|
4
|
+
dewei
|
5
|
+
|
6
|
+
panomonasabe "------------------------------------------"
|
7
7
|
finish_na
|
8
8
|
|
9
|
-
|
9
|
+
dep ID(impormasyon = {})
|
10
10
|
gumawaNgID adbans
|
11
|
-
|
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.
|
7
|
-
|
8
|
-
|
6
|
+
mga_persona.its adbans |tao|
|
7
|
+
payless tao[:kasarian] == 'lalaki'
|
8
|
+
panomonasabe "si #{tao[:pangalan]} ay babae!"
|
9
9
|
ginagawa_mue
|
10
|
-
|
10
|
+
panomonasabe "si #{tao[:pangalan]} ay lalaki!"
|
11
11
|
finish_na
|
12
12
|
finish_na
|
data/sample_programs/modyul.bt
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
|
1
|
+
mojul MgaAlagangHayop
|
2
2
|
KAILANGAN_DAMI_NG_ASO = 5
|
3
3
|
bilang Aso
|
4
|
-
|
5
|
-
|
4
|
+
dep tahol
|
5
|
+
panomonasabe "Woof..."
|
6
6
|
finish_na
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
dep kumanin
|
9
|
+
panomonasabe "..."
|
10
10
|
finish_na
|
11
11
|
|
12
|
-
|
13
|
-
|
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.
|
19
|
+
browny = MgaAlagangHayop::Aso.bago
|
20
20
|
browny.ikembot_ang_buntot ip dami >= MgaAlagangHayop::KAILANGAN_DAMI_NG_ASO
|
@@ -1,13 +1,13 @@
|
|
1
|
-
|
1
|
+
mojul Manggagawa
|
2
2
|
bilang Magsasaka
|
3
|
-
|
4
|
-
['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].
|
5
|
-
|
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
|
12
|
-
|
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
|
-
|
3
|
+
panomonasabe "Ikaw ay si Matipuno!"
|
4
4
|
agik_ginagawa_mue pangalan_mo == "Masipag"
|
5
|
-
|
5
|
+
panomonasabe "Ikaw ay si Masipag!"
|
6
6
|
ginagawa_mue
|
7
|
-
|
7
|
+
panomonasabe "Wala kang rekord dito!"
|
8
8
|
finish_na
|
data/sample_programs/o_ang.bt
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
ip (
|
2
|
-
|
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
|
3
|
+
# mag komento kung hindi sigurado
|
4
4
|
1 / 0
|
5
|
-
|
5
|
+
reskyu => pagkakamali
|
6
6
|
bilang_ng_pagkakamali += 1
|
7
7
|
neba_gibap ip bilang_ng_pagkakamali < 3
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
rays "malubhang pagkakamali"
|
9
|
+
may_raket
|
10
|
+
panomonasabe "den na"
|
11
11
|
finish_na
|
data/sample_programs/pangalan.bt
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
|
1
|
+
dep panomonasabeAngPangalan(pangalan = wala)
|
2
2
|
ip pangalan != wala
|
3
|
-
|
3
|
+
panomonasabe "Magandang araw sa iyo #{pangalan}!"
|
4
4
|
ginagawa_mue
|
5
|
-
|
5
|
+
panomonasabe "Magandang araw!"
|
6
6
|
finish_na
|
7
7
|
finish_na
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
panomonasabeAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
|
10
|
+
panomonasabeAngPangalan # => "Magandang araw!"
|
data/sample_programs/panguri.bt
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
bilang Pangalan
|
2
|
-
|
2
|
+
aksesor :pangalan
|
3
3
|
|
4
|
-
|
4
|
+
dep initialize(pangalan)
|
5
5
|
@pangalan = pangalan
|
6
6
|
finish_na
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
dep ipakitaAngPangalan
|
9
|
+
panomonasabe selp.pangalan
|
10
10
|
finish_na
|
11
11
|
finish_na
|
12
12
|
|
13
|
-
Pangalan.
|
13
|
+
Pangalan.bago('Joel').ipakitaAngPangalan
|
@@ -1,11 +1,11 @@
|
|
1
|
-
|
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
|
-
|
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
|
+
})
|
data/sample_programs/para_sa.bt
CHANGED
@@ -1,4 +1,4 @@
|
|
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
|
-
|
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].
|
20
|
-
nakaraan.
|
21
|
-
finish_na).
|
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
|
-
|
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
|
-
|
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
|
-
|
41
|
-
(2..n).
|
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
|
-
|
48
|
-
|
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
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
-
|
1
|
+
mojul Hayop
|
2
2
|
bilang Aso
|
3
|
-
|
4
|
-
|
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
|
-
|
10
|
+
una_ulo tahol
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
dep meow
|
13
|
+
panomonasabe 'meow wahu!'
|
14
14
|
finish_na
|
15
15
|
finish_na
|
16
16
|
|
17
|
-
pusa = Pusa.
|
17
|
+
pusa = Pusa.bago
|
18
18
|
|
19
19
|
wala_na
|
20
20
|
pusa.tahol
|
21
|
-
|
22
|
-
|
21
|
+
reskyu => pagkakamali
|
22
|
+
panomonasabe "ang pagkakamali ay '#{pagkakamali}'"
|
23
23
|
finish_na
|
data/sample_programs/timebomb.bt
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
# Filipinomemes Programming Language (https://github.com/zephyrum14/filipinomemes)
|
2
2
|
|
3
|
-
|
3
|
+
mojul TimeBomb
|
4
4
|
BILANG = 5
|
5
5
|
bilang Bomba
|
6
|
-
|
7
|
-
|
6
|
+
dep tik
|
7
|
+
panomonasabe 'tik'
|
8
8
|
finish_na
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
dep tok
|
11
|
+
panomonasabe 'tok'
|
12
12
|
finish_na
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
dep sabog
|
15
|
+
panomonasabe 'kaboom!'
|
16
16
|
finish_na
|
17
17
|
finish_na
|
18
18
|
finish_na
|
19
19
|
|
20
|
-
pasabog = TimeBomb::Bomba.
|
20
|
+
pasabog = TimeBomb::Bomba.bago
|
21
21
|
|
22
22
|
numero = 1
|
23
23
|
ako_magisip numero <= TimeBomb::BILANG adbans
|
24
|
-
|
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
|
-
|
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
|
32
|
-
compiler.zephyrum('
|
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
|
36
|
-
compiler.zephyrum('
|
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
|
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 /
|
45
|
+
ito_ang 'ekspresyon ng agik / den / agik_ginagawa_mue / ginagawa_mue / finish_na' do
|
46
46
|
compiler.zephyrum('
|
47
|
-
agik 1
|
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 /
|
57
|
+
ito_ang 'ekspresyon ng hakdog / wen / den / ginagawa_mue / finish_na' do
|
58
58
|
compiler.zephyrum("
|
59
59
|
hakdog 1
|
60
|
-
|
61
|
-
|
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 /
|
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
|
-
|
81
|
+
reskyu => pagkakamali
|
82
82
|
neba_gibap
|
83
|
-
|
84
|
-
|
85
|
-
|
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
|
-
|
91
|
+
rays(pagkakamali, pagkakamali.iulat)
|
92
92
|
ensure
|
93
|
-
|
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 '
|
100
|
-
compiler.zephyrum("
|
101
|
-
starting_code + '
|
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'.
|
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("'
|
113
|
-
resulta.should ==
|
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
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.
|
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-
|
11
|
+
date: 2018-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby2ruby
|