bato 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|