bato 0.0.7 → 0.0.8
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 +5 -5
- data/README.md +144 -110
- data/bato.gemspec +5 -5
- data/lib/bato/bersiyon.rb +1 -1
- data/lib/bato/core_ext/kernel.rb +1 -0
- data/lib/bato/ruby_parser_patches.rb +8 -2
- data/mga_halimbawa/agapan.bato +2 -2
- data/mga_halimbawa/alyas.bato +9 -0
- data/mga_halimbawa/bilang.bato +10 -0
- data/mga_halimbawa/dapat.bato +2 -2
- data/mga_halimbawa/habang.bato +7 -0
- data/mga_halimbawa/kontrol-sa-pagiikot.bato +31 -31
- data/mga_halimbawa/kumusta_mundo.bato +3 -3
- data/mga_halimbawa/magbibigay.bato +8 -8
- data/mga_halimbawa/modyul.bato +13 -13
- data/mga_halimbawa/ngunit_kapag.bato +4 -4
- data/mga_halimbawa/pamamaraan-sa-pagkakamali.bato +2 -2
- data/mga_halimbawa/pangalan.bato +7 -7
- data/mga_halimbawa/panguri.bato +3 -3
- data/mga_halimbawa/panuntunan.bato +3 -3
- data/mga_halimbawa/para_sa.bato +2 -2
- data/mga_halimbawa/pibonasyi.bato +24 -24
- data/mga_halimbawa/siguraduhin.bato +3 -3
- data/mga_halimbawa/timebomb.bato +24 -24
- data/spec/bato/tagatala_spec.rb +5 -5
- metadata +23 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e3a7fa24d1fcf8a4229fe82d134ec06b55fb5b700e0e54e9c44421b6088b5633
|
4
|
+
data.tar.gz: 5434263116e91e66280a924cdf4a0e231154e1479b7ffca12c92893499fc644a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb6a6485e45132bb26967ef61af2b2933ed5ddb9ef64fbacbbcefff05fbf79d0b217643a5013d90a476ecc7f5bd129d67f5617791165d521e435f9acf041924f
|
7
|
+
data.tar.gz: 57efe9d2883958ed04fab344b0ca03a00df4b84e51243271bf02ad08f054e0c1ddc6751b874af765a6deb7389ec1caba0f479f082731880f1366f55c214a84c3
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Bato
|
2
2
|
|
3
|
-
Ang 'Bato' ay ang unang programming language sa wikang
|
3
|
+
Ang 'Bato' ay ang unang programming language sa wikang Filipino.
|
4
4
|
|
5
5
|
## Pagtatalaga
|
6
6
|
|
@@ -11,7 +11,7 @@ at pagkatapos maitalaga ang Ruby, i-run naman ito
|
|
11
11
|
|
12
12
|
## Bakit Bato?
|
13
13
|
|
14
|
-
Ang 'bato' ay hango sa [Ruby Programming Language](http://www.ruby-lang.org/) na may
|
14
|
+
Ang 'bato' ay hango sa [Ruby Programming Language](http://www.ruby-lang.org/) na may Filipino sintaks.
|
15
15
|
Ang kadahilanang ginamit ang pangalang 'bato' ay dahil ang Ruby ay isang uri ng bato.
|
16
16
|
|
17
17
|
## Ang unang program
|
@@ -19,10 +19,10 @@ Ang kadahilanang ginamit ang pangalang 'bato' ay dahil ang Ruby ay isang uri ng
|
|
19
19
|
Gumawa ng isang file na kamusta_mundo.bato na may mga sumusunod na nilalaman
|
20
20
|
|
21
21
|
kapag 1 > 0
|
22
|
-
|
22
|
+
iprint "Kumusta mundo!"
|
23
23
|
kung_hindi
|
24
|
-
|
25
|
-
|
24
|
+
iprint "Mayroong sira"
|
25
|
+
wakas
|
26
26
|
|
27
27
|
at pa-andarin ang program sa pamamagitan ng
|
28
28
|
|
@@ -32,7 +32,7 @@ at pa-andarin ang program sa pamamagitan ng
|
|
32
32
|
|
33
33
|
### Pagsusulat
|
34
34
|
|
35
|
-
"Ito ay mga serye ng mga sulat sa wikang
|
35
|
+
"Ito ay mga serye ng mga sulat sa wikang Filipino"
|
36
36
|
<<-KATAPUSAN
|
37
37
|
mga salita
|
38
38
|
na nahahati
|
@@ -59,13 +59,13 @@ Paggamit ng kondisyon.
|
|
59
59
|
"ok lang"
|
60
60
|
kung_hindi
|
61
61
|
"wala lang"
|
62
|
-
|
62
|
+
wakas
|
63
63
|
|
64
|
-
kung_sakaling
|
64
|
+
kung_sakaling halaga
|
65
65
|
pagka 5 dapat "lima"
|
66
66
|
pagka 4 dapat "apat"
|
67
67
|
kung_hindi "wala"
|
68
|
-
|
68
|
+
wakas
|
69
69
|
|
70
70
|
### Pamamaraan sa pagkakamali
|
71
71
|
|
@@ -78,40 +78,39 @@ Paggamit ng kondisyon.
|
|
78
78
|
subukang_muli kapag bilang_ng_pagkakamali < 3
|
79
79
|
iangat "malubhang pagkakamali"
|
80
80
|
siguraduhing
|
81
|
-
|
82
|
-
|
81
|
+
iprint "Tapos na"
|
82
|
+
wakas
|
83
83
|
|
84
84
|
### Panuntunan
|
85
85
|
|
86
|
-
|
86
|
+
ang iprintAngPangalan(pangalan = wala)
|
87
87
|
kapag pangalan != wala
|
88
|
-
|
88
|
+
iprint "Magandang araw sa iyo #{pangalan}!"
|
89
89
|
kung_hindi
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
sabihinAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
|
95
|
-
sabihinAngPangalan # => "Magandang araw!"
|
90
|
+
iprint "Magandang araw!"
|
91
|
+
wakas
|
92
|
+
wakas
|
96
93
|
|
94
|
+
iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
|
95
|
+
iprintAngPangalan # => "Magandang araw!"
|
97
96
|
|
98
97
|
## Paggamit ng mga ekspresyon ng mga salita sa program
|
99
98
|
|
100
|
-
###
|
99
|
+
### wakas
|
101
100
|
|
102
101
|
Maari kang gumamit sa alin sa mga sumusunod sa pagtatapos ng program
|
103
102
|
|
104
|
-
katapusan
|
105
|
-
dulo
|
106
103
|
wakas
|
104
|
+
dulo
|
105
|
+
katapusan
|
107
106
|
|
108
107
|
Sampol ng paggamit
|
109
108
|
|
110
109
|
bilang = 0
|
111
110
|
kapag bilang > 1
|
112
|
-
|
111
|
+
iprint "Mayroon ng laman ang bilang na #{bilang}"
|
113
112
|
kung_hindi
|
114
|
-
|
113
|
+
iprint "Wala pang laman ang bilang"
|
115
114
|
wakas
|
116
115
|
|
117
116
|
### kung_iba
|
@@ -139,10 +138,10 @@ Sampol ng paggamit
|
|
139
138
|
|
140
139
|
pangalan_mo = "Maliksi"
|
141
140
|
kapag_ang pangalan_mo == "Maliksi"
|
142
|
-
|
141
|
+
iprint "Ikaw ay si #{pangalan_mo}!"
|
143
142
|
kung_hindi_naman
|
144
|
-
|
145
|
-
|
143
|
+
iprint "Magandang araw sa iyo #{pangalan_mo}!"
|
144
|
+
wakas
|
146
145
|
|
147
146
|
### sakali
|
148
147
|
|
@@ -162,14 +161,14 @@ Sampol ng paggamit
|
|
162
161
|
|
163
162
|
sakaling pangalan_mo
|
164
163
|
ay "Maliksi"
|
165
|
-
|
164
|
+
iprint "Ikaw ay si Maliksi!"
|
166
165
|
ay "Matipuno"
|
167
|
-
|
166
|
+
iprint "Ikaw ay si Matipuno!"
|
168
167
|
ay "Mabait"
|
169
|
-
|
168
|
+
iprint "Ikaw ay si Mabait!"
|
170
169
|
maliban_dito
|
171
|
-
|
172
|
-
|
170
|
+
iprint "Magandang araw sa iyo!"
|
171
|
+
wakas
|
173
172
|
|
174
173
|
### tiyakin
|
175
174
|
|
@@ -187,40 +186,41 @@ Sampol ng paggamit
|
|
187
186
|
simulan
|
188
187
|
itaas "May sira!"
|
189
188
|
agapan
|
190
|
-
|
189
|
+
iprint "Ipagpatuloy..."
|
191
190
|
itaas "May nasira na na-agapan"
|
192
191
|
tiyaking
|
193
|
-
|
194
|
-
|
192
|
+
iprint "Tapos na"
|
193
|
+
wakas
|
195
194
|
|
196
|
-
###
|
195
|
+
### grupo
|
197
196
|
|
198
|
-
Ang
|
197
|
+
Ang grupo ay ang lalagyanan ng mga kabilang na klase sa iyong program
|
199
198
|
|
200
|
-
|
199
|
+
grupo
|
201
200
|
|
202
201
|
Sampol ng paggamit
|
203
202
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
203
|
+
grupo Hayop
|
204
|
+
KABUUAN = 5
|
205
|
+
|
206
|
+
bilang Aso
|
207
|
+
ang tahol
|
208
|
+
iprint "Woof..."
|
209
|
+
wakas
|
210
|
+
|
211
|
+
ang kumanin
|
212
|
+
iprint "..."
|
213
|
+
wakas
|
214
|
+
|
215
|
+
ang ikembot_ang_buntot
|
216
|
+
iprint "Ginagawa ko ito dahil masaya ako!"
|
217
|
+
wakas
|
218
|
+
wakas
|
219
|
+
wakas
|
220
220
|
|
221
221
|
dami = 6
|
222
|
-
browny =
|
223
|
-
browny.ikembot_ang_buntot kapag dami >=
|
222
|
+
browny = Hayop::Aso.gumawa
|
223
|
+
browny.ikembot_ang_buntot kapag dami >= Hayop::KABUUAN
|
224
224
|
|
225
225
|
### ngunit_kapag
|
226
226
|
|
@@ -235,20 +235,20 @@ Sampol ng paggamit
|
|
235
235
|
|
236
236
|
pangalan_mo = "Masipag"
|
237
237
|
kapag_ang pangalan_mo == "Matipuno"
|
238
|
-
|
238
|
+
iprint "Ikaw ay si Matipuno!"
|
239
239
|
ngunit_kapag_ang pangalan_mo == "Masipag"
|
240
|
-
|
240
|
+
iprint "Ikaw ay si Masipag!"
|
241
241
|
maliban_sa_mga_ito
|
242
|
-
|
243
|
-
|
242
|
+
iprint "Wala kang rekord saamin!"
|
243
|
+
wakas
|
244
244
|
|
245
|
-
###
|
245
|
+
### ang
|
246
246
|
|
247
|
-
Ang
|
247
|
+
Ang ang ay may kalakip na pangalan upang ito ay matawag sa program
|
248
248
|
|
249
249
|
ang
|
250
|
-
panuntunang
|
251
250
|
panuntunan
|
251
|
+
panuntunang
|
252
252
|
|
253
253
|
Sampol ng paggamit
|
254
254
|
|
@@ -259,12 +259,12 @@ Sampol ng paggamit
|
|
259
259
|
baitang = estudyante[:baitang]
|
260
260
|
seksiyon = estudyante[:seksiyon]
|
261
261
|
|
262
|
-
|
262
|
+
iprint <<-KATAPUSAN
|
263
263
|
Pangalan: #{pangalan}
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
264
|
+
Edad: #{edad}
|
265
|
+
Tirahan: #{tirahan}
|
266
|
+
Baitang: #{baitang}
|
267
|
+
Seksiyon: #{seksiyon}
|
268
268
|
KATAPUSAN
|
269
269
|
wakas
|
270
270
|
|
@@ -288,8 +288,8 @@ Sampol ng paggamit
|
|
288
288
|
simulan
|
289
289
|
1 / 0
|
290
290
|
agapan
|
291
|
-
|
292
|
-
|
291
|
+
iprint "Hindi ito posible!"
|
292
|
+
wakas
|
293
293
|
|
294
294
|
### dapat
|
295
295
|
|
@@ -305,9 +305,9 @@ Sampol ng paggamit
|
|
305
305
|
ay "lapis" dapat "bond paper"
|
306
306
|
ay "ballpen" dapat "dilaw na papel"
|
307
307
|
maliban_sa_mga_ito "intermediate paper"
|
308
|
-
|
308
|
+
wakas
|
309
309
|
|
310
|
-
|
310
|
+
iprint "Ang papel na gagamitin mo ay #{papel}"
|
311
311
|
|
312
312
|
### magbigay_daan
|
313
313
|
|
@@ -318,23 +318,23 @@ Kapag ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang gu
|
|
318
318
|
|
319
319
|
Sampol ng paggamit
|
320
320
|
|
321
|
-
|
322
|
-
|
321
|
+
ang gumawaNgID
|
322
|
+
iprint "------------------------------------------"
|
323
323
|
magbigay_daan
|
324
|
-
|
325
|
-
|
324
|
+
iprint "------------------------------------------"
|
325
|
+
wakas
|
326
326
|
|
327
|
-
|
327
|
+
ang ID(impormasyon = {})
|
328
328
|
gumawaNgID na_ganito
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
329
|
+
iprint <<-KATAPUSAN
|
330
|
+
Pangalan: #{impormasyon[:pangalan]}
|
331
|
+
Edad: #{impormasyon[:edad]}
|
332
|
+
Tirahan: #{impormasyon[:tirahan]}
|
333
|
+
Baitang: #{impormasyon[:baitang]}
|
334
|
+
Seksiyon: #{impormasyon[:seksiyon]}
|
335
335
|
KATAPUSAN
|
336
|
-
|
337
|
-
|
336
|
+
wakas
|
337
|
+
wakas
|
338
338
|
|
339
339
|
ID({
|
340
340
|
pangalan: "Maliksi Batubalani",
|
@@ -355,8 +355,8 @@ Sampol ng paggamit
|
|
355
355
|
|
356
356
|
listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
|
357
357
|
para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin
|
358
|
-
|
359
|
-
|
358
|
+
iprint prutas.sa_malaking_titik
|
359
|
+
wakas
|
360
360
|
|
361
361
|
### subukang_muli
|
362
362
|
|
@@ -374,12 +374,12 @@ Sampol ng paggamit
|
|
374
374
|
subukang_muli kapag bilang_ng_pagkakamali < 3
|
375
375
|
iangat "malubhang pagkakamali"
|
376
376
|
siguraduhing
|
377
|
-
|
378
|
-
|
377
|
+
iprint "Tapos na"
|
378
|
+
wakas
|
379
379
|
|
380
380
|
### ibalik
|
381
381
|
|
382
|
-
Kapag mayroon kang ibabalik na resulta sa nagtawag ng
|
382
|
+
Kapag mayroon kang ibabalik na resulta sa nagtawag ng ang
|
383
383
|
|
384
384
|
ibalik
|
385
385
|
ibalik_ang
|
@@ -394,10 +394,10 @@ Kapag mayroon kang ibabalik na resulta sa nagtawag ng panuntunan
|
|
394
394
|
|
395
395
|
Sampol ng paggamit
|
396
396
|
|
397
|
-
|
397
|
+
ang magdagdag_ng_isa(halaga)
|
398
398
|
idadagdag = halaga + 1
|
399
399
|
ibalik_ang halaga
|
400
|
-
|
400
|
+
wakas
|
401
401
|
|
402
402
|
### kapag
|
403
403
|
|
@@ -412,10 +412,57 @@ Ginagamit ang kapag kung meron kang kondisyon sa iyong ekspresyon
|
|
412
412
|
Sampol ng paggamit
|
413
413
|
|
414
414
|
kapag_ang 1 > 0
|
415
|
-
|
415
|
+
iprint "mas madami!"
|
416
416
|
kung_iba
|
417
|
-
|
418
|
-
|
417
|
+
iprint "may sira"
|
418
|
+
wakas
|
419
|
+
|
420
|
+
### bilang
|
421
|
+
|
422
|
+
Ang bilang ay ang pagsasabilang ng isang kaukulang klasipikasyon
|
423
|
+
|
424
|
+
bilang
|
425
|
+
|
426
|
+
grupo Tinapay
|
427
|
+
bilang Donut
|
428
|
+
ang flavor
|
429
|
+
iprint 'Strawberry!'
|
430
|
+
wakas
|
431
|
+
wakas
|
432
|
+
wakas
|
433
|
+
|
434
|
+
tinapay = Tinapay::Donut.gumawa
|
435
|
+
tinapay.flavor
|
436
|
+
|
437
|
+
### habang
|
438
|
+
|
439
|
+
Gumamit ng habang kung may hinihintay pa na resulta, kondisyon o pangyayari
|
440
|
+
|
441
|
+
habang
|
442
|
+
habang_ang
|
443
|
+
|
444
|
+
may_buhay = totoo
|
445
|
+
|
446
|
+
habang may_buhay
|
447
|
+
iprint 'may pag-asa!'
|
448
|
+
hinto
|
449
|
+
wakas
|
450
|
+
|
451
|
+
### alyas
|
452
|
+
|
453
|
+
Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong panuntunan
|
454
|
+
|
455
|
+
alyas
|
456
|
+
|
457
|
+
bilang Hayop
|
458
|
+
ang aso
|
459
|
+
iprint 'si browny ay mabait!'
|
460
|
+
wakas
|
461
|
+
alyas browny aso
|
462
|
+
wakas
|
463
|
+
|
464
|
+
hayop = Hayop.gumawa
|
465
|
+
hayop.browny
|
419
466
|
|
420
467
|
## Patuloy na ginagawa ang dokumento para sa mga sumusunod...
|
421
468
|
|
@@ -484,22 +531,9 @@ Sampol ng paggamit
|
|
484
531
|
at
|
485
532
|
at_ang
|
486
533
|
|
487
|
-
###
|
488
|
-
|
489
|
-
simula
|
490
|
-
|
491
|
-
### klase
|
534
|
+
### simulan
|
492
535
|
|
493
|
-
|
494
|
-
|
495
|
-
### habang
|
496
|
-
|
497
|
-
habang
|
498
|
-
habang_ang
|
499
|
-
|
500
|
-
### alyas
|
501
|
-
|
502
|
-
alyas
|
536
|
+
simulan
|
503
537
|
|
504
538
|
## Pagtulong sa pagdedevelop ng Bato
|
505
539
|
|
data/bato.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ['Joel Bryan Juliano']
|
10
10
|
spec.email = ['joelbryan.juliano@gmail.com']
|
11
11
|
spec.description = 'Bato Programming Language'
|
12
|
-
spec.summary = 'Ang Bato ay isang programming language sa wikang
|
12
|
+
spec.summary = 'Ang Bato ay isang programming language sa wikang Filipino'
|
13
13
|
spec.homepage = 'https://github.com/jjuliano/bato'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'ruby2ruby'
|
21
|
+
spec.add_dependency 'ruby2ruby'
|
22
22
|
|
23
|
-
spec.add_development_dependency 'bundler'
|
24
|
-
spec.add_development_dependency 'rake'
|
25
|
-
spec.add_development_dependency 'rspec'
|
23
|
+
spec.add_development_dependency 'bundler'
|
24
|
+
spec.add_development_dependency 'rake'
|
25
|
+
spec.add_development_dependency 'rspec'
|
26
26
|
end
|
data/lib/bato/bersiyon.rb
CHANGED
data/lib/bato/core_ext/kernel.rb
CHANGED
@@ -67,6 +67,7 @@ module RubyParserStuff
|
|
67
67
|
['siguraduhin', %i[kENSURE kENSURE], :expr_beg],
|
68
68
|
['panigurado', %i[kENSURE kENSURE], :expr_beg],
|
69
69
|
['modyul', %i[kMODULE kMODULE], :expr_beg],
|
70
|
+
['grupo', %i[kMODULE kMODULE], :expr_beg],
|
70
71
|
['ngunit_kapag', %i[kELSIF kELSIF], :expr_beg],
|
71
72
|
['kung_kapag', %i[kELSIF kELSIF], :expr_beg],
|
72
73
|
['ngunit_kapag_ang', %i[kELSIF kELSIF], :expr_beg],
|
@@ -82,7 +83,7 @@ module RubyParserStuff
|
|
82
83
|
['magbigay_daan', %i[kYIELD kYIELD], :expr_arg],
|
83
84
|
['para_sa', %i[kFOR kFOR], :expr_beg],
|
84
85
|
['para_ang', %i[kFOR kFOR], :expr_beg],
|
85
|
-
['
|
86
|
+
['sariling', %i[kSELF kSELF], :expr_end],
|
86
87
|
['sarili', %i[kSELF kSELF], :expr_end],
|
87
88
|
['mali', %i[kFALSE kFALSE], :expr_end],
|
88
89
|
['subukang_muli', %i[kRETRY kRETRY], :expr_end],
|
@@ -97,6 +98,9 @@ module RubyParserStuff
|
|
97
98
|
['magbigay', %i[kRETURN kRETURN], :expr_mid],
|
98
99
|
['magbigay_nang', %i[kRETURN kRETURN], :expr_mid],
|
99
100
|
['tama', %i[kTRUE kTRUE], :expr_end],
|
101
|
+
['totoo', %i[kTRUE kTRUE], :expr_end],
|
102
|
+
['tunay', %i[kTRUE kTRUE], :expr_end],
|
103
|
+
['katotohanan', %i[kTRUE kTRUE], :expr_end],
|
100
104
|
['kapag', %i[kIF kIF_MOD], :expr_beg],
|
101
105
|
['kapag_ang', %i[kIF kIF_MOD], :expr_beg],
|
102
106
|
['kapag_na_ang', %i[kIF kIF_MOD], :expr_beg],
|
@@ -108,6 +112,7 @@ module RubyParserStuff
|
|
108
112
|
['tanggalin', %i[kUNDEF kUNDEF], :expr_fname],
|
109
113
|
['magtanggal', %i[kUNDEF kUNDEF], :expr_fname],
|
110
114
|
['ihinto', %i[kBREAK kBREAK], :expr_mid],
|
115
|
+
['hinto', %i[kBREAK kBREAK], :expr_mid],
|
111
116
|
['sa', %i[kIN kIN], :expr_beg],
|
112
117
|
['sa_loob_ng', %i[kIN kIN], :expr_beg],
|
113
118
|
['nasa', %i[kIN kIN], :expr_beg],
|
@@ -139,6 +144,7 @@ module RubyParserStuff
|
|
139
144
|
['simula', %i[kBEGIN kBEGIN], :expr_beg],
|
140
145
|
['simulan', %i[kBEGIN kBEGIN], :expr_beg],
|
141
146
|
['__LINE__', %i[k__LINE__ k__LINE__], :expr_end],
|
147
|
+
['bilang', %i[kCLASS kCLASS], :expr_class],
|
142
148
|
['klase', %i[kCLASS kCLASS], :expr_class],
|
143
149
|
['__FILE__', %i[k__FILE__ k__FILE__], :expr_end],
|
144
150
|
['END', %i[klEND klEND], :expr_end],
|
@@ -167,7 +173,7 @@ module RubyParserStuff
|
|
167
173
|
para_sa para_ang
|
168
174
|
kapag kapag_ang kapag_na_ang kung kung_ang
|
169
175
|
sa sa_loob_ng nasa na_nasa
|
170
|
-
modyul
|
176
|
+
modyul grupo
|
171
177
|
o o_ang
|
172
178
|
malibang maliban_na maliban_ang
|
173
179
|
hanggang hanggang_ang mapa_hanggang
|
data/mga_halimbawa/agapan.bato
CHANGED
data/mga_halimbawa/dapat.bato
CHANGED
@@ -1,45 +1,45 @@
|
|
1
|
-
#
|
1
|
+
# isaisahin loop
|
2
2
|
['a','b','c','d'].isaisahin na_ganito |titik|
|
3
|
-
|
4
|
-
|
3
|
+
iprint "Ang titik ay #{titik}"
|
4
|
+
wakas
|
5
5
|
|
6
|
-
#
|
7
|
-
(1..10).isaisahin na_ganito |
|
8
|
-
|
9
|
-
|
6
|
+
# isaisahin loop on range
|
7
|
+
(1..10).isaisahin na_ganito |numero|
|
8
|
+
iprint "Ang numero ay #{numero}"
|
9
|
+
wakas
|
10
10
|
|
11
11
|
# while loop
|
12
|
-
|
13
|
-
habang
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
numero = 1
|
13
|
+
habang numero < 10 ganito
|
14
|
+
iprint "Ang numero ay #{numero} na"
|
15
|
+
numero += 1
|
16
|
+
wakas
|
17
17
|
|
18
18
|
# begin while
|
19
|
-
|
20
|
-
|
19
|
+
numero = 0
|
20
|
+
panghuling_numero = 5
|
21
21
|
simula
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
iprint "Ang numero ay #{numero} na"
|
23
|
+
numero += 1
|
24
|
+
wakas habang numero < panghuling_numero
|
25
25
|
|
26
26
|
# until
|
27
|
-
|
28
|
-
|
29
|
-
hanggang
|
30
|
-
|
31
|
-
|
32
|
-
|
27
|
+
numero = 0
|
28
|
+
panghuling_numero = 5
|
29
|
+
hanggang numero > panghuling_numero ganito
|
30
|
+
iprint "Ang numero ay #{numero} na"
|
31
|
+
numero += 1
|
32
|
+
wakas
|
33
33
|
|
34
34
|
# begin until
|
35
|
-
|
36
|
-
|
35
|
+
numero = 0
|
36
|
+
panghuling_numero = 5
|
37
37
|
simula
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
iprint "Ang numero ay #{numero} na"
|
39
|
+
numero += 1
|
40
|
+
wakas hanggang numero < panghuling_numero
|
41
41
|
|
42
42
|
# for loop
|
43
|
-
para_ang
|
44
|
-
|
45
|
-
|
43
|
+
para_ang numero na_nasa 0..5
|
44
|
+
iprint "Ang numero ay #{numero} na"
|
45
|
+
wakas
|
@@ -1,22 +1,22 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
ang gumawaNgID
|
2
|
+
iprint "------------------------------------------"
|
3
3
|
|
4
4
|
magbigay_daan
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
iprint "------------------------------------------"
|
7
|
+
wakas
|
8
8
|
|
9
|
-
|
9
|
+
ang ID(impormasyon = {})
|
10
10
|
gumawaNgID na_ganito
|
11
|
-
|
11
|
+
iprint <<-KATAPUSAN
|
12
12
|
Pangalan: #{impormasyon[:pangalan]}
|
13
13
|
Edad: #{impormasyon[:edad]}
|
14
14
|
Tirahan: #{impormasyon[:tirahan]}
|
15
15
|
Baitang: #{impormasyon[:baitang]}
|
16
16
|
Seksiyon: #{impormasyon[:seksiyon]}
|
17
17
|
KATAPUSAN
|
18
|
-
|
19
|
-
|
18
|
+
wakas
|
19
|
+
wakas
|
20
20
|
|
21
21
|
ID({
|
22
22
|
pangalan: "Maliksi Batubalani",
|
data/mga_halimbawa/modyul.bato
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
|
1
|
+
grupo MgaAlagangHayop
|
2
2
|
KAILANGAN_DAMI_NG_ASO = 5
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
bilang Aso
|
4
|
+
ang tahol
|
5
|
+
iprint "Woof..."
|
6
|
+
wakas
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
ang kumanin
|
9
|
+
iprint "..."
|
10
|
+
wakas
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
ang ikembot_ang_buntot
|
13
|
+
iprint "Ginagawa ko ito dahil masaya ako!"
|
14
|
+
wakas
|
15
|
+
wakas
|
16
|
+
wakas
|
17
17
|
|
18
18
|
dami = 6
|
19
19
|
browny = MgaAlagangHayop::Aso.gumawa
|
@@ -1,8 +1,8 @@
|
|
1
1
|
pangalan_mo = "Masipag"
|
2
2
|
kapag_ang pangalan_mo == "Matipuno"
|
3
|
-
|
3
|
+
iprint "Ikaw ay si Matipuno!"
|
4
4
|
ngunit_kapag_ang pangalan_mo == "Masipag"
|
5
|
-
|
5
|
+
iprint "Ikaw ay si Masipag!"
|
6
6
|
maliban_sa_mga_ito
|
7
|
-
|
8
|
-
|
7
|
+
iprint "Wala kang rekord dito!"
|
8
|
+
wakas
|
data/mga_halimbawa/pangalan.bato
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
|
1
|
+
ang iprintAngPangalan(pangalan = wala)
|
2
2
|
kapag pangalan != wala
|
3
|
-
|
3
|
+
iprint "Magandang araw sa iyo #{pangalan}!"
|
4
4
|
kung_hindi
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
iprint "Magandang araw!"
|
6
|
+
wakas
|
7
|
+
wakas
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
|
10
|
+
iprintAngPangalan # => "Magandang araw!"
|
data/mga_halimbawa/panguri.bato
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
|
1
|
+
bilang Pangalan
|
2
2
|
panguri :pangalan
|
3
3
|
|
4
|
-
|
4
|
+
ang initialize(pangalan)
|
5
5
|
@pangalan = pangalan
|
6
6
|
wakas
|
7
7
|
|
8
8
|
ang ipakitaAngPangalan
|
9
|
-
|
9
|
+
iprint sariling.pangalan
|
10
10
|
wakas
|
11
11
|
wakas
|
12
12
|
|
@@ -1,18 +1,18 @@
|
|
1
|
-
|
1
|
+
ang 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
7
|
|
8
|
-
|
8
|
+
iprint <<-KATAPUSAN
|
9
9
|
Pangalan: #{pangalan}
|
10
10
|
Edad: #{edad}
|
11
11
|
Tirahan: #{tirahan}
|
12
12
|
Baitang: #{baitang}
|
13
13
|
Seksiyon: #{seksiyon}
|
14
14
|
KATAPUSAN
|
15
|
-
|
15
|
+
wakas
|
16
16
|
|
17
17
|
gumawaNgID({
|
18
18
|
pangalan: "Maliksi Batubalani",
|
data/mga_halimbawa/para_sa.bato
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
ang pibonasyi(n, n1 = 1, n2 = 1)
|
2
2
|
kapag n <= 2
|
3
3
|
[0, n1, n2][n]
|
4
4
|
kung_hindi
|
@@ -7,53 +7,53 @@ panuntunang pibonasyi(n, n1 = 1, n2 = 1)
|
|
7
7
|
sagot = n1 + n2
|
8
8
|
n1 = n2
|
9
9
|
n2 = sagot
|
10
|
-
|
10
|
+
wakas
|
11
11
|
sagot
|
12
|
-
|
13
|
-
|
12
|
+
wakas
|
13
|
+
wakas
|
14
14
|
|
15
|
-
|
15
|
+
ang pibonasyingPagsuksok(n, n1 = 1, n2 = 1)
|
16
16
|
kapag n <= 2
|
17
17
|
[0, n1, n2][n]
|
18
18
|
kung_hindi
|
19
19
|
([wala].umikot.kumuha(n-2).ipasok([n1, n2]) na_ganito |nakaraan, x|
|
20
20
|
nakaraan.magbagsak(1).itulak(nakaraan[0] + nakaraan[1])
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
wakas).huli
|
22
|
+
wakas
|
23
|
+
wakas
|
24
24
|
|
25
|
-
|
25
|
+
ang pibonasyingInuulit(n, n1 = 1, n2 = 1)
|
26
26
|
kapag n <= 2
|
27
27
|
binhi = [0, n1, n2]
|
28
28
|
binhi[n]
|
29
29
|
kung_hindi
|
30
30
|
pibonasyingInuulit(n-1, n1, n2) + pibonasyingInuulit(n-2, n1, n2)
|
31
|
-
|
32
|
-
|
31
|
+
wakas
|
32
|
+
wakas
|
33
33
|
|
34
|
-
|
34
|
+
ang pibonasyingBuntutangInuulit(n, n1 = 1, n2 = 1)
|
35
35
|
magbalik n1 kapag n <= 1
|
36
36
|
magbalik n2 kapag n == 2
|
37
37
|
magbalik pibonasyi(n - 1, n2, n1 + n2)
|
38
|
-
|
38
|
+
wakas
|
39
39
|
|
40
|
-
|
40
|
+
ang pibonasyingPaguulit(n, n1 = 1, n2 = 1)
|
41
41
|
(2..n).sa_bawat_isa {
|
42
42
|
n1, n2 = n2, n1 + n2
|
43
43
|
}
|
44
44
|
magbalik n1
|
45
|
-
|
45
|
+
wakas
|
46
46
|
|
47
|
-
|
47
|
+
ang pibonasyingPaguulitNaUmiikot(n, n1 = 1, n2 = 1)
|
48
48
|
para_sa i sa 2..n
|
49
49
|
n1, n2 = n2, n1 + n2
|
50
|
-
|
50
|
+
wakas
|
51
51
|
magbalik n1
|
52
|
-
|
52
|
+
wakas
|
53
53
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
54
|
+
iprint "Gamit ang Panuntunang Pibonasyi sa 10 ay #{pibonasyi 10}"
|
55
|
+
iprint "Gamit ang Panuntunang Pibonasying May Pagsuksok sa 9 ay #{pibonasyingPagsuksok 9}"
|
56
|
+
iprint "Gamit ang Panuntunang Pibonasying Inuulit sa 8 ay #{pibonasyingInuulit 8}"
|
57
|
+
iprint "Gamit ang Panuntunang Pibonasying May Buntot na Inuulit sa 7 ay #{pibonasyingBuntutangInuulit 7}"
|
58
|
+
iprint "Gamit ang Panuntunang Pibonasying Paguulit sa 6 ay #{pibonasyingPaguulit 6}"
|
59
|
+
iprint "Gamit ang Panuntunang Pibonasying Paguulit na Umiikot sa 5 ay #{pibonasyingPaguulitNaUmiikot 5}"
|
data/mga_halimbawa/timebomb.bato
CHANGED
@@ -1,37 +1,37 @@
|
|
1
1
|
# Bato Programming Language (https://github.com/jjuliano/bato)
|
2
2
|
|
3
|
-
|
3
|
+
grupo TimeBomb
|
4
4
|
BILANG = 5
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
5
|
+
bilang Bomba
|
6
|
+
ang tik
|
7
|
+
iprint 'tik'
|
8
|
+
wakas
|
9
|
+
|
10
|
+
ang tok
|
11
|
+
iprint 'tok'
|
12
|
+
wakas
|
13
|
+
|
14
|
+
ang sabog
|
15
|
+
iprint 'kaboom!'
|
16
|
+
wakas
|
17
|
+
wakas
|
18
|
+
wakas
|
19
19
|
|
20
20
|
pasabog = TimeBomb::Bomba.gumawa
|
21
21
|
|
22
|
-
|
23
|
-
habang
|
24
|
-
|
22
|
+
numero = 1
|
23
|
+
habang numero <= TimeBomb::BILANG ganito
|
24
|
+
iprint "#{numero}"
|
25
25
|
|
26
|
-
kapag (
|
26
|
+
kapag (numero == TimeBomb::BILANG)
|
27
27
|
pasabog.sabog
|
28
|
-
ngunit_kapag_ang (
|
28
|
+
ngunit_kapag_ang (numero % 2) != 0
|
29
29
|
pasabog.tik
|
30
|
-
ngunit_kapag_ang (
|
30
|
+
ngunit_kapag_ang (numero % 2) == 0
|
31
31
|
pasabog.tok
|
32
|
-
|
32
|
+
wakas
|
33
33
|
|
34
34
|
sleep 1
|
35
|
-
|
36
|
-
|
35
|
+
numero += 1
|
36
|
+
wakas
|
37
37
|
|
data/spec/bato/tagatala_spec.rb
CHANGED
@@ -83,7 +83,7 @@ isalaysay_ang 'Tagatala' do
|
|
83
83
|
subukang_muli
|
84
84
|
iangat pagkakamali, pagkakamali.iulat
|
85
85
|
siguraduhing
|
86
|
-
|
86
|
+
iprint "Katapusan"
|
87
87
|
katapusan').should be_like(pasimulang_kodigo +
|
88
88
|
'begin
|
89
89
|
(1 / 0)
|
@@ -91,15 +91,15 @@ isalaysay_ang 'Tagatala' do
|
|
91
91
|
retry
|
92
92
|
iangat(pagkakamali, pagkakamali.iulat)
|
93
93
|
ensure
|
94
|
-
|
94
|
+
iprint("Katapusan")
|
95
95
|
end')
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
99
|
isalaysay_ang 'pamamaraan sa Kernel' do
|
100
|
-
ito_ang "ekspresyon ng pagsusulat gamit ang '
|
101
|
-
tagatala.sa_ruby("
|
102
|
-
pasimulang_kodigo + '
|
100
|
+
ito_ang "ekspresyon ng pagsusulat gamit ang 'iprint'" do
|
101
|
+
tagatala.sa_ruby("iprint 'abc'").should ==
|
102
|
+
pasimulang_kodigo + 'iprint("abc")'
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bato
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Bryan Juliano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby2ruby
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
description: Bato Programming Language
|
70
70
|
email:
|
71
71
|
- joelbryan.juliano@gmail.com
|
@@ -97,7 +97,10 @@ files:
|
|
97
97
|
- lib/bato/ruby_parser_patches.rb
|
98
98
|
- lib/bato/tagatala.rb
|
99
99
|
- mga_halimbawa/agapan.bato
|
100
|
+
- mga_halimbawa/alyas.bato
|
101
|
+
- mga_halimbawa/bilang.bato
|
100
102
|
- mga_halimbawa/dapat.bato
|
103
|
+
- mga_halimbawa/habang.bato
|
101
104
|
- mga_halimbawa/kontrol-sa-pagiikot.bato
|
102
105
|
- mga_halimbawa/kumusta_mundo.bato
|
103
106
|
- mga_halimbawa/magbibigay.bato
|
@@ -133,10 +136,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
136
|
version: '0'
|
134
137
|
requirements: []
|
135
138
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
139
|
+
rubygems_version: 2.7.3
|
137
140
|
signing_key:
|
138
141
|
specification_version: 4
|
139
|
-
summary: Ang Bato ay isang programming language sa wikang
|
142
|
+
summary: Ang Bato ay isang programming language sa wikang Filipino
|
140
143
|
test_files:
|
141
144
|
- spec/bato/tagatala_spec.rb
|
142
145
|
- spec/spec_helper.rb
|