bato 0.0.9 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/Gemfile +2 -0
  4. data/Gemfile.lock +42 -0
  5. data/README.md +106 -74
  6. data/Rakefile +2 -0
  7. data/_config.yml +1 -0
  8. data/bato.gemspec +6 -5
  9. data/bin/bato +17 -11
  10. data/lib/bato/bersiyon.rb +3 -1
  11. data/lib/bato/core_ext/array.rb +5 -0
  12. data/lib/bato/core_ext/class.rb +3 -1
  13. data/lib/bato/core_ext/enumerator.rb +2 -0
  14. data/lib/bato/core_ext/integer.rb +2 -0
  15. data/lib/bato/core_ext/kernel.rb +8 -0
  16. data/lib/bato/core_ext/module.rb +4 -0
  17. data/lib/bato/core_ext/range.rb +2 -0
  18. data/lib/bato/core_ext/string.rb +2 -0
  19. data/lib/bato/core_ext.rb +2 -0
  20. data/lib/bato/ruby_parser_patches.rb +140 -180
  21. data/lib/bato/tagatala.rb +3 -1
  22. data/lib/bato.rb +2 -0
  23. data/mga_halimbawa/agapan.bt +5 -0
  24. data/mga_halimbawa/{alyas.bato → alyas.bt} +1 -1
  25. data/mga_halimbawa/batotris.bt +286 -0
  26. data/mga_halimbawa/{bilang.bato → bilang.bt} +1 -1
  27. data/mga_halimbawa/{dapat.bato → dapat.bt} +1 -1
  28. data/mga_halimbawa/{habang.bato → habang.bt} +1 -1
  29. data/mga_halimbawa/ihinto.bt +8 -0
  30. data/mga_halimbawa/{kontrol-sa-pagiikot.bato → kontrol-sa-pagiikot.bt} +7 -7
  31. data/mga_halimbawa/kumusta_mundo.bt +5 -0
  32. data/mga_halimbawa/{magbibigay.bato → magbibigay.bt} +3 -3
  33. data/mga_halimbawa/{maliban_na.bato → maliban_na.bt} +2 -2
  34. data/mga_halimbawa/{modyul.bato → modyul.bt} +3 -3
  35. data/mga_halimbawa/{nakatukoy.bato → nakatukoy.bt} +2 -2
  36. data/mga_halimbawa/{ngunit_kapag.bato → ngunit_kapag.bt} +3 -3
  37. data/mga_halimbawa/o_ang.bt +3 -0
  38. data/mga_halimbawa/{pamamaraan-sa-pagkakamali.bato → pamamaraan-sa-pagkakamali.bt} +1 -1
  39. data/mga_halimbawa/{pangalan.bato → pangalan.bt} +2 -2
  40. data/mga_halimbawa/panguri.bt +16 -0
  41. data/mga_halimbawa/{panuntunan.bato → panuntunan.bt} +1 -1
  42. data/mga_halimbawa/{para_sa.bato → para_sa.bt} +1 -1
  43. data/mga_halimbawa/{pibonasyi.bato → pibonasyi.bt} +6 -6
  44. data/mga_halimbawa/siguraduhin.bt +8 -0
  45. data/mga_halimbawa/{tanggalin.bato → tanggalin.bt} +3 -3
  46. data/mga_halimbawa/{timebomb.bato → timebomb.bt} +5 -5
  47. data/spec/bato/tagatala_spec.rb +6 -5
  48. data/spec/spec_helper.rb +1 -0
  49. metadata +48 -46
  50. data/mga_halimbawa/agapan.bato +0 -5
  51. data/mga_halimbawa/ihinto.bato +0 -8
  52. data/mga_halimbawa/kumusta_mundo.bato +0 -5
  53. data/mga_halimbawa/o_ang.bato +0 -3
  54. data/mga_halimbawa/panguri.bato +0 -13
  55. data/mga_halimbawa/siguraduhin.bato +0 -8
@@ -2,15 +2,15 @@ grupo MgaAlagangHayop
2
2
  KAILANGAN_DAMI_NG_ASO = 5
3
3
  bilang Aso
4
4
  ang tahol
5
- iprint "Woof..."
5
+ mag_print "Woof..."
6
6
  wakas
7
7
 
8
8
  ang kumanin
9
- iprint "..."
9
+ mag_print "..."
10
10
  wakas
11
11
 
12
12
  ang ikembot_ang_buntot
13
- iprint "Ginagawa ko ito dahil masaya ako!"
13
+ mag_print "Ginagawa ko ito dahil masaya ako!"
14
14
  wakas
15
15
  wakas
16
16
  wakas
@@ -2,12 +2,12 @@ grupo Manggagawa
2
2
  bilang Magsasaka
3
3
  ang pananim
4
4
  ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin na_ganito |pananim|
5
- iprint "Mag tatanim ng #{pananim} ngayong panahon"
5
+ mag_print "Mag tatanim ng #{pananim} ngayong panahon"
6
6
  wakas
7
7
  wakas
8
8
  wakas
9
9
  wakas
10
10
 
11
11
  kung nakatukoy?(Manggagawa::Magsasaka)
12
- iprint 'May nakatukoy!'
12
+ mag_print 'May nakatukoy!'
13
13
  wakas
@@ -1,8 +1,8 @@
1
1
  pangalan_mo = "Masipag"
2
2
  kapag_ang pangalan_mo == "Matipuno"
3
- iprint "Ikaw ay si Matipuno!"
3
+ mag_print "Ikaw ay si Matipuno!"
4
4
  ngunit_kapag_ang pangalan_mo == "Masipag"
5
- iprint "Ikaw ay si Masipag!"
5
+ mag_print "Ikaw ay si Masipag!"
6
6
  maliban_sa_mga_ito
7
- iprint "Wala kang rekord dito!"
7
+ mag_print "Wala kang rekord dito!"
8
8
  wakas
@@ -0,0 +1,3 @@
1
+ kapag (totoo o mali)
2
+ mag_print 'totoo'
3
+ wakas
@@ -7,5 +7,5 @@ agapan => pagkakamali
7
7
  subukang_muli kapag bilang_ng_pagkakamali < 3
8
8
  iangat "malubhang pagkakamali"
9
9
  siguraduhing
10
- iprint "Tapos na"
10
+ mag_print "Tapos na"
11
11
  wakas
@@ -1,8 +1,8 @@
1
1
  ang iprintAngPangalan(pangalan = wala)
2
2
  kapag pangalan != wala
3
- iprint "Magandang araw sa iyo #{pangalan}!"
3
+ mag_print "Magandang araw sa iyo #{pangalan}!"
4
4
  kung_hindi
5
- iprint "Magandang araw!"
5
+ mag_print "Magandang araw!"
6
6
  wakas
7
7
  wakas
8
8
 
@@ -0,0 +1,16 @@
1
+ bilang Robot
2
+ katangian :pangalan, :kakayahan
3
+
4
+ ang magpakilala
5
+ mag_print <<-INTRO
6
+ Ako ay isang Robot!
7
+ Ang pangalan ko ay "#{sariling.pangalan}"
8
+ Ako ay may kakayahang mag "#{sariling.kakayahan}"
9
+ INTRO
10
+ wakas
11
+ wakas
12
+
13
+ robot = Robot.gumawa
14
+ robot.pangalan = "bot-chukoy"
15
+ robot.kakayahan = "tambling"
16
+ robot.magpakilala
@@ -5,7 +5,7 @@ ang gumawaNgID(estudyante = {})
5
5
  baitang = estudyante[:baitang]
6
6
  seksiyon = estudyante[:seksiyon]
7
7
 
8
- iprint <<-KATAPUSAN
8
+ mag_print <<-KATAPUSAN
9
9
  Pangalan: #{pangalan}
10
10
  Edad: #{edad}
11
11
  Tirahan: #{tirahan}
@@ -1,4 +1,4 @@
1
1
  listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
2
2
  para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin
3
- iprint prutas.sa_malaking_titik
3
+ mag_print prutas.sa_malaking_titik
4
4
  wakas
@@ -51,9 +51,9 @@ ang pibonasyingPaguulitNaUmiikot(n, n1 = 1, n2 = 1)
51
51
  magbalik n1
52
52
  wakas
53
53
 
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}"
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}"
@@ -0,0 +1,8 @@
1
+ simulan
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!"
8
+ wakas
@@ -1,7 +1,7 @@
1
1
  grupo Hayop
2
2
  bilang Aso
3
3
  ang tahol
4
- iprint 'baw waw!'
4
+ mag_print 'baw waw!'
5
5
  wakas
6
6
  wakas
7
7
  wakas
@@ -10,7 +10,7 @@ bilang Pusa < Hayop::Aso
10
10
  tanggalin tahol
11
11
 
12
12
  ang meow
13
- iprint 'meow wahu!'
13
+ mag_print 'meow wahu!'
14
14
  wakas
15
15
  wakas
16
16
 
@@ -19,5 +19,5 @@ pusa = Pusa.kumatawan
19
19
  simulan
20
20
  pusa.tahol
21
21
  agapan => pagkakamali
22
- iprint "ang pagkakamali ay '#{pagkakamali}'"
22
+ mag_print "ang pagkakamali ay '#{pagkakamali}'"
23
23
  wakas
@@ -4,15 +4,15 @@ grupo TimeBomb
4
4
  BILANG = 5
5
5
  bilang Bomba
6
6
  ang tik
7
- iprint 'tik'
7
+ mag_print 'tik'
8
8
  wakas
9
9
 
10
10
  ang tok
11
- iprint 'tok'
11
+ mag_print 'tok'
12
12
  wakas
13
13
 
14
14
  ang sabog
15
- iprint 'kaboom!'
15
+ mag_print 'kaboom!'
16
16
  wakas
17
17
  wakas
18
18
  wakas
@@ -21,7 +21,7 @@ pasabog = TimeBomb::Bomba.gumawa
21
21
 
22
22
  numero = 1
23
23
  habang numero <= TimeBomb::BILANG ganito
24
- iprint "#{numero}"
24
+ mag_print "#{numero}"
25
25
 
26
26
  kapag (numero == TimeBomb::BILANG)
27
27
  pasabog.sabog
@@ -31,7 +31,7 @@ habang numero <= TimeBomb::BILANG ganito
31
31
  pasabog.tok
32
32
  wakas
33
33
 
34
- sleep 1
34
+ matulog 1
35
35
  numero += 1
36
36
  wakas
37
37
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'spec_helper'
3
4
 
@@ -83,7 +84,7 @@ isalaysay_ang 'Tagatala' do
83
84
  subukang_muli
84
85
  iangat pagkakamali, pagkakamali.iulat
85
86
  siguraduhing
86
- iprint "Katapusan"
87
+ mag_print "Katapusan"
87
88
  katapusan').should be_like(pasimulang_kodigo +
88
89
  'begin
89
90
  (1 / 0)
@@ -91,15 +92,15 @@ isalaysay_ang 'Tagatala' do
91
92
  retry
92
93
  iangat(pagkakamali, pagkakamali.iulat)
93
94
  ensure
94
- iprint("Katapusan")
95
+ mag_print("Katapusan")
95
96
  end')
96
97
  end
97
98
  end
98
99
 
99
100
  isalaysay_ang 'pamamaraan sa Kernel' do
100
- ito_ang "ekspresyon ng pagsusulat gamit ang 'iprint'" do
101
- tagatala.sa_ruby("iprint 'abc'").should ==
102
- pasimulang_kodigo + 'iprint("abc")'
101
+ ito_ang "ekspresyon ng pagsusulat gamit ang 'mag_print'" do
102
+ tagatala.sa_ruby("mag_print 'abc'").should ==
103
+ pasimulang_kodigo + 'mag_print("abc")'
103
104
  end
104
105
  end
105
106
 
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  # This file was generated by the `rspec --init` command. Conventionally, all
3
4
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
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.9
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Bryan Juliano
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-11 00:00:00.000000000 Z
11
+ date: 2021-09-06 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: '0'
19
+ version: 2.4.4
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: '0'
26
+ version: 2.4.4
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: '0'
33
+ version: 2.2.19
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: '0'
40
+ version: 2.2.19
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: '0'
47
+ version: 13.0.6
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: '0'
54
+ version: 13.0.6
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: '0'
61
+ version: 3.10.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: '0'
68
+ version: 3.10.0
69
69
  description: Bato Programming Language
70
70
  email:
71
71
  - joelbryan.juliano@gmail.com
@@ -78,10 +78,12 @@ files:
78
78
  - ".rspec"
79
79
  - ".travis.yml"
80
80
  - Gemfile
81
+ - Gemfile.lock
81
82
  - LICENSE.txt
82
83
  - README.md
83
84
  - Rakefile
84
85
  - TODO.md
86
+ - _config.yml
85
87
  - bato.gemspec
86
88
  - bin/bato
87
89
  - lib/bato.rb
@@ -97,36 +99,37 @@ files:
97
99
  - lib/bato/core_ext/string.rb
98
100
  - lib/bato/ruby_parser_patches.rb
99
101
  - lib/bato/tagatala.rb
100
- - mga_halimbawa/agapan.bato
101
- - mga_halimbawa/alyas.bato
102
- - mga_halimbawa/bilang.bato
103
- - mga_halimbawa/dapat.bato
104
- - mga_halimbawa/habang.bato
105
- - mga_halimbawa/ihinto.bato
106
- - mga_halimbawa/kontrol-sa-pagiikot.bato
107
- - mga_halimbawa/kumusta_mundo.bato
108
- - mga_halimbawa/magbibigay.bato
109
- - mga_halimbawa/maliban_na.bato
110
- - mga_halimbawa/modyul.bato
111
- - mga_halimbawa/nakatukoy.bato
112
- - mga_halimbawa/ngunit_kapag.bato
113
- - mga_halimbawa/o_ang.bato
114
- - mga_halimbawa/pamamaraan-sa-pagkakamali.bato
115
- - mga_halimbawa/pangalan.bato
116
- - mga_halimbawa/panguri.bato
117
- - mga_halimbawa/panuntunan.bato
118
- - mga_halimbawa/para_sa.bato
119
- - mga_halimbawa/pibonasyi.bato
120
- - mga_halimbawa/siguraduhin.bato
121
- - mga_halimbawa/tanggalin.bato
122
- - mga_halimbawa/timebomb.bato
102
+ - mga_halimbawa/agapan.bt
103
+ - mga_halimbawa/alyas.bt
104
+ - mga_halimbawa/batotris.bt
105
+ - mga_halimbawa/bilang.bt
106
+ - mga_halimbawa/dapat.bt
107
+ - mga_halimbawa/habang.bt
108
+ - mga_halimbawa/ihinto.bt
109
+ - mga_halimbawa/kontrol-sa-pagiikot.bt
110
+ - mga_halimbawa/kumusta_mundo.bt
111
+ - mga_halimbawa/magbibigay.bt
112
+ - mga_halimbawa/maliban_na.bt
113
+ - mga_halimbawa/modyul.bt
114
+ - mga_halimbawa/nakatukoy.bt
115
+ - mga_halimbawa/ngunit_kapag.bt
116
+ - mga_halimbawa/o_ang.bt
117
+ - mga_halimbawa/pamamaraan-sa-pagkakamali.bt
118
+ - mga_halimbawa/pangalan.bt
119
+ - mga_halimbawa/panguri.bt
120
+ - mga_halimbawa/panuntunan.bt
121
+ - mga_halimbawa/para_sa.bt
122
+ - mga_halimbawa/pibonasyi.bt
123
+ - mga_halimbawa/siguraduhin.bt
124
+ - mga_halimbawa/tanggalin.bt
125
+ - mga_halimbawa/timebomb.bt
123
126
  - spec/bato/tagatala_spec.rb
124
127
  - spec/spec_helper.rb
125
128
  homepage: https://github.com/jjuliano/bato
126
129
  licenses:
127
130
  - MIT
128
131
  metadata: {}
129
- post_install_message:
132
+ post_install_message:
130
133
  rdoc_options: []
131
134
  require_paths:
132
135
  - lib
@@ -141,9 +144,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
144
  - !ruby/object:Gem::Version
142
145
  version: '0'
143
146
  requirements: []
144
- rubyforge_project:
145
- rubygems_version: 2.7.3
146
- signing_key:
147
+ rubygems_version: 3.2.15
148
+ signing_key:
147
149
  specification_version: 4
148
150
  summary: Ang Bato ay isang programming language sa wikang Filipino
149
151
  test_files:
@@ -1,5 +0,0 @@
1
- simulan
2
- 1 / 0
3
- agapan
4
- iprint "Hindi ito posible!"
5
- wakas
@@ -1,8 +0,0 @@
1
- nakamit = mali
2
-
3
- habang nakamit == mali
4
- iprint 'hindi pa nakakamit!'
5
- hinto
6
- wakas
7
-
8
- iprint 'nakamit na!'
@@ -1,5 +0,0 @@
1
- kapag 1 > 0
2
- iprint "Kumusta mundo!"
3
- kung_hindi
4
- iprint "Mayroong sira"
5
- wakas
@@ -1,3 +0,0 @@
1
- kapag (totoo o mali)
2
- iprint 'totoo'
3
- wakas
@@ -1,13 +0,0 @@
1
- bilang Pangalan
2
- panguri :pangalan
3
-
4
- ang initialize(pangalan)
5
- @pangalan = pangalan
6
- wakas
7
-
8
- ang ipakitaAngPangalan
9
- iprint sariling.pangalan
10
- wakas
11
- wakas
12
-
13
- Pangalan.gumawa('Joel').ipakitaAngPangalan