bato 0.0.11 → 0.0.12
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/.gitignore +0 -1
- data/Gemfile +2 -0
- data/README.md +31 -1
- data/Rakefile +2 -0
- data/bato.gemspec +2 -1
- data/bin/bato +7 -3
- data/lib/bato.rb +2 -0
- data/lib/bato/bersiyon.rb +3 -1
- data/lib/bato/core_ext.rb +2 -0
- data/lib/bato/core_ext/array.rb +2 -0
- data/lib/bato/core_ext/class.rb +2 -0
- data/lib/bato/core_ext/enumerator.rb +2 -0
- data/lib/bato/core_ext/integer.rb +2 -0
- data/lib/bato/core_ext/kernel.rb +6 -0
- data/lib/bato/core_ext/module.rb +3 -0
- data/lib/bato/core_ext/range.rb +2 -0
- data/lib/bato/core_ext/string.rb +2 -0
- data/lib/bato/ruby_parser_patches.rb +146 -173
- data/lib/bato/tagatala.rb +3 -1
- data/mga_halimbawa/batotris.bt +1 -1
- data/mga_halimbawa/panguri.bt +12 -9
- data/spec/bato/tagatala_spec.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 59fba35aba486e82a7ebb3ce3c59346378e4a334cd99400e5724870ee1f7b474
|
4
|
+
data.tar.gz: f1df3b43c32b4a2dc948a3acf7c7788210ee7b0e80490eb7fd1a7a06207740d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2bc93400a00a977746147eed3d862a3df284f180e329b3a7ded32d057220d481b99986dba9ac291010b588172326ff434b296d9f1dd4cb0f4649ac7b1446f1c
|
7
|
+
data.tar.gz: 53860efda9706683be779313ee84ad1e05539992e53fc34097af42403d2e85af4c0b54246a4e26607a1ebdf3921c090b9a92322caf92a015836a063240434a84
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Ang 'Bato Programming Language' ay isang scripting language sa wikang Filipino.
|
4
4
|
|
5
|
-
Subukan ang [Bato](https://trybato.herokuapp.com/)
|
5
|
+
Subukan ang [Bato](https://trybato.herokuapp.com/) gamit ang *interactive online console* .
|
6
6
|
|
7
7
|
## Pagtatalaga
|
8
8
|
|
@@ -623,10 +623,40 @@ Halimbawa
|
|
623
623
|
totoo o mali
|
624
624
|
=> totoo
|
625
625
|
|
626
|
+
### katangian
|
627
|
+
|
628
|
+
Ang 'katangian' ay ginagamit upang makapag takda at makapag basa ng *value* sa katangian na ipinahayag sa loob ng grupo.
|
629
|
+
|
630
|
+
katangian
|
631
|
+
panguri
|
632
|
+
|
633
|
+
Halimbawa
|
634
|
+
|
635
|
+
bilang Robot
|
636
|
+
katangian :pangalan, :kakayahan
|
637
|
+
|
638
|
+
ang magpakilala
|
639
|
+
mag_print <<-INTRO
|
640
|
+
Ako ay isang Robot!
|
641
|
+
Ang pangalan ko ay "#{sariling.pangalan}"
|
642
|
+
Ako ay may kakayahang mag "#{sariling.kakayahan}"
|
643
|
+
INTRO
|
644
|
+
wakas
|
645
|
+
wakas
|
646
|
+
|
647
|
+
robot = Robot.gumawa
|
648
|
+
robot.pangalan = "bot-chukoy"
|
649
|
+
robot.kakayahan = "tambling"
|
650
|
+
robot.magpakilala
|
651
|
+
|
626
652
|
## Pagtulong sa pagdedevelop ng Bato
|
627
653
|
|
628
654
|
Magpadala ng mga kahilingan sa paggawa ng ticket.
|
629
655
|
|
656
|
+
## Media
|
657
|
+
|
658
|
+
* Na *feature* ang Bato programming language sa isang international news website na [The Register](https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato). Mababasa ang artikel sa [https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato](https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato).
|
659
|
+
|
630
660
|
## Lisensya
|
631
661
|
|
632
662
|
Instituto Ng Tekonolohiya sa Massachusetts License (makikita sa LICENSE.txt na file).
|
data/Rakefile
CHANGED
data/bato.gemspec
CHANGED
data/bin/bato
CHANGED
@@ -1,21 +1,25 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
require 'bato/tagatala'
|
3
5
|
require 'rubygems'
|
4
6
|
|
5
7
|
if ARGV[0].nil?
|
6
|
-
puts
|
7
|
-
Hindi tinukoy ang file. Ang tamang sintaks ay:
|
8
|
+
puts <<~EOS
|
9
|
+
Hindi tinukoy ang file. Ang tamang sintaks ay:
|
8
10
|
|
9
|
-
bato file.bt
|
11
|
+
bato file.bt
|
10
12
|
EOS
|
11
13
|
else
|
12
14
|
ARGV.each do |file|
|
13
15
|
next unless file
|
16
|
+
|
14
17
|
tagatala = Bato::Tagatala.new
|
15
18
|
kodigo = File.read file, encoding: 'utf-8'
|
16
19
|
ruby_kodigo = tagatala.sa_ruby kodigo
|
17
20
|
raise 'Ang pinakamababang kinakailangan bersiyon ng Ruby ay 2.4' if
|
18
21
|
Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
|
22
|
+
|
19
23
|
eval ruby_kodigo
|
20
24
|
end
|
21
25
|
end
|
data/lib/bato.rb
CHANGED
data/lib/bato/bersiyon.rb
CHANGED
data/lib/bato/core_ext.rb
CHANGED
data/lib/bato/core_ext/array.rb
CHANGED
data/lib/bato/core_ext/class.rb
CHANGED
data/lib/bato/core_ext/kernel.rb
CHANGED
@@ -1,8 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Kernel
|
2
4
|
alias isulat puts
|
3
5
|
alias sabihin puts
|
4
6
|
alias iprint puts
|
5
7
|
alias mag_print puts
|
8
|
+
alias ilimbag puts
|
9
|
+
alias mag_limbag puts
|
10
|
+
alias itatak puts
|
11
|
+
alias mag_tatak puts
|
6
12
|
alias iangat raise
|
7
13
|
alias itaas raise
|
8
14
|
alias matulog sleep
|
data/lib/bato/core_ext/module.rb
CHANGED
data/lib/bato/core_ext/range.rb
CHANGED
data/lib/bato/core_ext/string.rb
CHANGED
@@ -1,191 +1,164 @@
|
|
1
|
-
|
2
|
-
def parse_number
|
3
|
-
self.lex_state = :expr_end
|
4
|
-
|
5
|
-
if src.scan(/[+-]?0[xXbBdD]\b/)
|
6
|
-
rb_compile_error 'Invalid numeric format'
|
7
|
-
# elsif src.scan(/[+-]?(?:(?:[1-9][\d_]*|0)(?!\.\d)\b|0[Dd][0-9_]+)/)
|
8
|
-
elsif src.scan(/[+-]?(?:(?:[1-9][\d_]*|0)(?!\,\d)\b|0[Dd][0-9_]+)/)
|
9
|
-
int_with_base(10)
|
10
|
-
elsif src.scan(/[+-]?0x[a-f0-9_]+/i)
|
11
|
-
int_with_base(16)
|
12
|
-
elsif src.scan(/[+-]?0[Bb][01_]+/)
|
13
|
-
int_with_base(2)
|
14
|
-
elsif src.scan(/[+-]?0[Oo]?[0-7_]*[89]/)
|
15
|
-
rb_compile_error 'Illegal octal digit.'
|
16
|
-
elsif src.scan(/[+-]?0[Oo]?[0-7_]+|0[Oo]/)
|
17
|
-
int_with_base(8)
|
18
|
-
elsif src.scan(/[+-]?[\d_]+_(e|\.)/)
|
19
|
-
rb_compile_error "Trailing '_' in number."
|
20
|
-
# elsif src.scan(/[+-]?[\d_]+\.[\d_]+(e[+-]?[\d_]+)?\b|[+-]?[\d_]+e[+-]?[\d_]+\b/i)
|
21
|
-
elsif src.scan(/[+-]?[\d_]+\,[\d_]+(e[+-]?[\d_]+)?\b|[+-]?[\d_]+e[+-]?[\d_]+\b/i)
|
22
|
-
number = src.matched.sub(',', '.')
|
23
|
-
rb_compile_error 'Invalid numeric format' if number =~ /__/
|
24
|
-
self.yacc_value = number.to_f
|
25
|
-
:tFLOAT
|
26
|
-
elsif src.scan(/[+-]?[0-9_]+(?![e])/)
|
27
|
-
int_with_base(10)
|
28
|
-
else
|
29
|
-
rb_compile_error 'Bad number format'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
1
|
+
# frozen_string_literal: true
|
33
2
|
|
34
3
|
module RubyParserStuff
|
35
4
|
class Keyword
|
36
|
-
|
37
|
-
['katapusan', %i[kEND kEND],
|
38
|
-
['dulo', %i[kEND kEND],
|
39
|
-
['wakas', %i[kEND kEND],
|
40
|
-
['
|
41
|
-
['
|
42
|
-
['
|
43
|
-
['
|
44
|
-
['
|
45
|
-
['
|
46
|
-
['
|
47
|
-
['
|
48
|
-
['
|
49
|
-
['
|
50
|
-
['
|
51
|
-
['
|
52
|
-
['
|
53
|
-
['
|
54
|
-
['
|
55
|
-
['
|
56
|
-
['
|
57
|
-
['
|
58
|
-
['
|
59
|
-
['
|
60
|
-
['
|
61
|
-
['
|
62
|
-
['
|
63
|
-
['
|
64
|
-
['
|
65
|
-
['
|
66
|
-
['
|
67
|
-
['
|
68
|
-
['
|
69
|
-
['
|
70
|
-
['
|
71
|
-
['
|
72
|
-
['
|
73
|
-
['
|
74
|
-
['
|
75
|
-
['
|
76
|
-
['
|
77
|
-
['
|
78
|
-
['
|
79
|
-
['
|
80
|
-
['
|
81
|
-
['
|
82
|
-
['
|
83
|
-
['
|
84
|
-
['
|
85
|
-
['
|
86
|
-
['
|
87
|
-
['
|
88
|
-
['
|
89
|
-
['
|
90
|
-
['
|
91
|
-
['
|
92
|
-
['
|
93
|
-
['
|
94
|
-
['
|
95
|
-
['
|
96
|
-
['
|
97
|
-
['
|
98
|
-
['
|
99
|
-
['
|
100
|
-
['
|
101
|
-
['
|
102
|
-
['
|
103
|
-
['
|
104
|
-
['
|
105
|
-
['
|
106
|
-
['
|
107
|
-
['
|
108
|
-
['
|
109
|
-
['
|
110
|
-
['
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
['
|
115
|
-
['
|
116
|
-
['
|
117
|
-
['
|
118
|
-
['
|
119
|
-
['
|
120
|
-
['
|
121
|
-
['
|
122
|
-
['
|
123
|
-
['
|
124
|
-
['
|
125
|
-
['
|
126
|
-
['
|
127
|
-
['
|
128
|
-
['
|
129
|
-
['
|
130
|
-
['
|
131
|
-
['
|
132
|
-
['
|
133
|
-
['
|
134
|
-
['
|
135
|
-
['
|
136
|
-
['
|
137
|
-
['
|
138
|
-
['
|
139
|
-
['
|
140
|
-
['
|
141
|
-
['
|
142
|
-
['
|
143
|
-
['
|
144
|
-
['
|
145
|
-
['
|
146
|
-
['
|
147
|
-
['
|
148
|
-
['
|
149
|
-
['
|
150
|
-
['
|
151
|
-
['
|
152
|
-
['
|
153
|
-
|
154
|
-
|
155
|
-
|
5
|
+
pang_kapahayagang_mga_salita = [
|
6
|
+
['katapusan', %i[kEND kEND], :expr_end],
|
7
|
+
['dulo', %i[kEND kEND], :expr_end],
|
8
|
+
['wakas', %i[kEND kEND], :expr_end],
|
9
|
+
['ang', %i[kDEF kDEF], :expr_fname],
|
10
|
+
['panuntunang', %i[kDEF kDEF], :expr_fname],
|
11
|
+
['panuntunan', %i[kDEF kDEF], :expr_fname],
|
12
|
+
['iligtas', %i[kRESCUE kRESCUE_MOD], :expr_mid],
|
13
|
+
['agapan', %i[kRESCUE kRESCUE_MOD], :expr_mid],
|
14
|
+
['bigyang_daan', %i[kYIELD kYIELD], :expr_arg],
|
15
|
+
['magbigay_daan', %i[kYIELD kYIELD], :expr_arg],
|
16
|
+
['sariling', %i[kSELF kSELF], :expr_end],
|
17
|
+
['sarili', %i[kSELF kSELF], :expr_end],
|
18
|
+
['mali', %i[kFALSE kFALSE], :expr_end],
|
19
|
+
['subukang_muli', %i[kRETRY kRETRY], :expr_end],
|
20
|
+
['ibalik', %i[kRETURN kRETURN], :expr_mid],
|
21
|
+
['ibalik_ang', %i[kRETURN kRETURN], :expr_mid],
|
22
|
+
['magbalik', %i[kRETURN kRETURN], :expr_mid],
|
23
|
+
['magbalik_nang', %i[kRETURN kRETURN], :expr_mid],
|
24
|
+
['isauli', %i[kRETURN kRETURN], :expr_mid],
|
25
|
+
['isauli_ang', %i[kRETURN kRETURN], :expr_mid],
|
26
|
+
['ibigay', %i[kRETURN kRETURN], :expr_mid],
|
27
|
+
['ibigay_ang', %i[kRETURN kRETURN], :expr_mid],
|
28
|
+
['magbigay', %i[kRETURN kRETURN], :expr_mid],
|
29
|
+
['magbigay_nang', %i[kRETURN kRETURN], :expr_mid],
|
30
|
+
['tama', %i[kTRUE kTRUE], :expr_end],
|
31
|
+
['totoo', %i[kTRUE kTRUE], :expr_end],
|
32
|
+
['tunay', %i[kTRUE kTRUE], :expr_end],
|
33
|
+
['katotohanan', %i[kTRUE kTRUE], :expr_end],
|
34
|
+
['nakatukoy?', %i[kDEFINED kDEFINED], :expr_arg],
|
35
|
+
['nakasaad?', %i[kDEFINED kDEFINED], :expr_arg],
|
36
|
+
['tanggalin', %i[kUNDEF kUNDEF], :expr_fname],
|
37
|
+
['magtanggal', %i[kUNDEF kUNDEF], :expr_fname],
|
38
|
+
['ihinto', %i[kBREAK kBREAK], :expr_mid],
|
39
|
+
['hinto', %i[kBREAK kBREAK], :expr_mid],
|
40
|
+
['wala', %i[kNIL kNIL], :expr_end],
|
41
|
+
['sumunod', %i[kNEXT kNEXT], :expr_mid],
|
42
|
+
['kasunod', %i[kNEXT kNEXT], :expr_mid],
|
43
|
+
['ulitin', %i[kREDO kREDO], :expr_end],
|
44
|
+
['at_ulitin', %i[kREDO kREDO], :expr_end],
|
45
|
+
['uliting_muli', %i[kREDO kREDO], :expr_end],
|
46
|
+
['bilang', %i[kCLASS kCLASS], :expr_class],
|
47
|
+
['klase', %i[kCLASS kCLASS], :expr_class],
|
48
|
+
['alyas', %i[kALIAS kALIAS], :expr_fname],
|
49
|
+
['iba', %i[kELSE kELSE], :expr_beg],
|
50
|
+
['kung_iba', %i[kELSE kELSE], :expr_beg],
|
51
|
+
['kung_hindi_naman', %i[kELSE kELSE], :expr_beg],
|
52
|
+
['kapag_hindi', %i[kELSE kELSE], :expr_beg],
|
53
|
+
['kapag_hindi_naman', %i[kELSE kELSE], :expr_beg],
|
54
|
+
['kung_hindi_pa', %i[kELSE kELSE], :expr_beg],
|
55
|
+
['kapag_hindi_pa', %i[kELSE kELSE], :expr_beg],
|
56
|
+
['at_kung_hindi', %i[kELSE kELSE], :expr_beg],
|
57
|
+
['at_kapag_hindi', %i[kELSE kELSE], :expr_beg],
|
58
|
+
['at_kung_hindi_naman', %i[kELSE kELSE], :expr_beg],
|
59
|
+
['at_kapag_hindi_naman', %i[kELSE kELSE], :expr_beg],
|
60
|
+
['at_kung_hindi_pa', %i[kELSE kELSE], :expr_beg],
|
61
|
+
['at_kapag_hindi_pa', %i[kELSE kELSE], :expr_beg],
|
62
|
+
['maliban_dito', %i[kELSE kELSE], :expr_beg],
|
63
|
+
['maliban_sa_mga_ito', %i[kELSE kELSE], :expr_beg],
|
64
|
+
['matiyak', %i[kENSURE kENSURE], :expr_beg],
|
65
|
+
['tiyakin', %i[kENSURE kENSURE], :expr_beg],
|
66
|
+
['tiyaking', %i[kENSURE kENSURE], :expr_beg],
|
67
|
+
['siguraduhing', %i[kENSURE kENSURE], :expr_beg],
|
68
|
+
['siguraduhin', %i[kENSURE kENSURE], :expr_beg],
|
69
|
+
['panigurado', %i[kENSURE kENSURE], :expr_beg],
|
70
|
+
['kung_hindi', %i[kELSE kELSE], :expr_beg],
|
71
|
+
['dapat', %i[kTHEN kTHEN], :expr_beg],
|
72
|
+
['na_ganito', %i[kDO kDO], :expr_beg],
|
73
|
+
['nang_ganito', %i[kDO kDO], :expr_beg],
|
74
|
+
['ng_ganito', %i[kDO kDO], :expr_beg],
|
75
|
+
['ganito', %i[kDO kDO], :expr_beg],
|
76
|
+
['ganito_gawin', %i[kDO kDO], :expr_beg],
|
77
|
+
['ganito_ang_gagawin', %i[kDO kDO], :expr_beg],
|
78
|
+
['simula', %i[kBEGIN kBEGIN], :expr_beg],
|
79
|
+
['simulan', %i[kBEGIN kBEGIN], :expr_beg]
|
80
|
+
]
|
81
|
+
|
82
|
+
pang_ekspresyon_na_mga_salita = [
|
83
|
+
['at', %i[kAND kAND], :expr_beg],
|
84
|
+
['at_ang', %i[kAND kAND], :expr_beg],
|
85
|
+
['kalagayan', %i[kCASE kCASE], :expr_beg],
|
86
|
+
['kaukulan', %i[kCASE kCASE], :expr_beg],
|
87
|
+
['sakaling', %i[kCASE kCASE], :expr_beg],
|
88
|
+
['sakali', %i[kCASE kCASE], :expr_beg],
|
89
|
+
['kung_sakaling', %i[kCASE kCASE], :expr_beg],
|
90
|
+
['sakali_na', %i[kCASE kCASE], :expr_beg],
|
91
|
+
['kung_sakali_na', %i[kCASE kCASE], :expr_beg],
|
92
|
+
['ngunit_kapag', %i[kELSIF kELSIF], :expr_beg],
|
93
|
+
['kung_kapag', %i[kELSIF kELSIF], :expr_beg],
|
94
|
+
['ngunit_kapag_ang', %i[kELSIF kELSIF], :expr_beg],
|
95
|
+
['kung_kapag_ang', %i[kELSIF kELSIF], :expr_beg],
|
96
|
+
['para_sa', %i[kFOR kFOR], :expr_beg],
|
97
|
+
['para_ang', %i[kFOR kFOR], :expr_beg],
|
98
|
+
['kapag', %i[kIF kIF_MOD], :expr_beg],
|
99
|
+
['kapag_ang', %i[kIF kIF_MOD], :expr_beg],
|
100
|
+
['kapag_na_ang', %i[kIF kIF_MOD], :expr_beg],
|
101
|
+
['kung', %i[kIF kIF_MOD], :expr_beg],
|
102
|
+
['kung_ang', %i[kIF kIF_MOD], :expr_beg],
|
103
|
+
['sa', %i[kIN kIN], :expr_beg],
|
104
|
+
['sa_loob_ng', %i[kIN kIN], :expr_beg],
|
105
|
+
['nasa', %i[kIN kIN], :expr_beg],
|
106
|
+
['na_nasa', %i[kIN kIN], :expr_beg],
|
107
|
+
['modyul', %i[kMODULE kMODULE], :expr_beg],
|
108
|
+
['grupo', %i[kMODULE kMODULE], :expr_beg],
|
109
|
+
['o', %i[kOR kOR], :expr_beg],
|
110
|
+
['o_ang', %i[kOR kOR], :expr_beg],
|
111
|
+
['malibang', %i[kUNLESS kUNLESS_MOD], :expr_beg],
|
112
|
+
['maliban_na', %i[kUNLESS kUNLESS_MOD], :expr_beg],
|
113
|
+
['maliban_ang', %i[kUNLESS kUNLESS_MOD], :expr_beg],
|
114
|
+
['hanggang', %i[kUNTIL kUNTIL_MOD], :expr_beg],
|
115
|
+
['hanggang_ang', %i[kUNTIL kUNTIL_MOD], :expr_beg],
|
116
|
+
['mapa_hanggang', %i[kUNTIL kUNTIL_MOD], :expr_beg],
|
117
|
+
['pagka', %i[kWHEN kWHEN], :expr_beg],
|
118
|
+
['pagka_ang', %i[kWHEN kWHEN], :expr_beg],
|
119
|
+
['ay', %i[kWHEN kWHEN], :expr_beg],
|
120
|
+
['habang', %i[kWHILE kWHILE_MOD], :expr_beg],
|
121
|
+
['habang_ang', %i[kWHILE kWHILE_MOD], :expr_beg]
|
122
|
+
]
|
123
|
+
|
124
|
+
pang_internal_na_mekanismo_na_mga_salita = [
|
125
|
+
['END', %i[klEND klEND], :expr_end],
|
126
|
+
['BEGIN', %i[klBEGIN klBEGIN], :expr_end],
|
127
|
+
['super', %i[kSUPER kSUPER], :expr_arg],
|
128
|
+
['__FILE__', %i[k__FILE__ k__FILE__], :expr_end],
|
129
|
+
['__LINE__', %i[k__LINE__ k__LINE__], :expr_end],
|
156
130
|
['__ENCODING__', %i[k__ENCODING__ k__ENCODING__], :expr_end]
|
157
|
-
]
|
131
|
+
]
|
158
132
|
|
159
|
-
|
133
|
+
pang_argumentong_mga_salita = [
|
134
|
+
['hindi', %i[kNOT kNOT], :expr_beg]
|
135
|
+
]
|
160
136
|
|
161
137
|
original_verbosity = $VERBOSE
|
162
138
|
$VERBOSE = nil
|
163
139
|
|
164
|
-
|
165
|
-
|
140
|
+
mga_salita = [
|
141
|
+
pang_kapahayagang_mga_salita,
|
142
|
+
pang_ekspresyon_na_mga_salita,
|
143
|
+
pang_internal_na_mekanismo_na_mga_salita,
|
144
|
+
pang_argumentong_mga_salita
|
145
|
+
].flatten(1).map { |args| KWtable.new(*args) }
|
146
|
+
|
147
|
+
WORDLIST18 = Hash[*mga_salita.map { |o| [o.name, o] }.flatten]
|
148
|
+
WORDLIST19 = Hash[*mga_salita.map { |o| [o.name, o] }.flatten]
|
166
149
|
|
167
150
|
$VERBOSE = original_verbosity
|
168
151
|
|
169
152
|
WORDLIST18.delete '__ENCODING__'
|
170
153
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
para_sa para_ang
|
175
|
-
kapag kapag_ang kapag_na_ang kung kung_ang
|
176
|
-
sa sa_loob_ng nasa na_nasa
|
177
|
-
modyul grupo
|
178
|
-
o o_ang
|
179
|
-
malibang maliban_na maliban_ang
|
180
|
-
hanggang hanggang_ang mapa_hanggang
|
181
|
-
pagka pagka_ang ay
|
182
|
-
habang habang_ang].each do |k|
|
183
|
-
WORDLIST19[k] = WORDLIST19[k].dup
|
184
|
-
WORDLIST19[k].state = :expr_value
|
154
|
+
pang_ekspresyon_na_mga_salita.each do |k|
|
155
|
+
WORDLIST19[k[0]] = WORDLIST19[k[0]].dup
|
156
|
+
WORDLIST19[k[0]].state = :expr_value
|
185
157
|
end
|
186
|
-
|
187
|
-
|
188
|
-
WORDLIST19[k]
|
158
|
+
|
159
|
+
pang_argumentong_mga_salita.each do |k|
|
160
|
+
WORDLIST19[k[0]] = WORDLIST19[k[0]].dup
|
161
|
+
WORDLIST19[k[0]].state = :expr_arg
|
189
162
|
end
|
190
163
|
end
|
191
164
|
end
|
data/lib/bato/tagatala.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ruby2ruby'
|
2
4
|
require 'ruby_parser'
|
3
5
|
require 'bato/ruby_parser_patches'
|
@@ -6,7 +8,7 @@ module Bato
|
|
6
8
|
class Tagatala
|
7
9
|
def initialize; end
|
8
10
|
|
9
|
-
PASIMULANG_KODIGO = "# encoding: utf-8\nrequire \"bato/core_ext\"\n"
|
11
|
+
PASIMULANG_KODIGO = "# encoding: utf-8\nrequire \"bato/core_ext\"\n"
|
10
12
|
|
11
13
|
def sa_ruby(kodigo)
|
12
14
|
ruby2ruby = Ruby2Ruby.new
|
data/mga_halimbawa/batotris.bt
CHANGED
data/mga_halimbawa/panguri.bt
CHANGED
@@ -1,13 +1,16 @@
|
|
1
|
-
bilang
|
2
|
-
|
1
|
+
bilang Robot
|
2
|
+
katangian :pangalan, :kakayahan
|
3
3
|
|
4
|
-
ang
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
10
|
wakas
|
11
11
|
wakas
|
12
12
|
|
13
|
-
|
13
|
+
robot = Robot.gumawa
|
14
|
+
robot.pangalan = "bot-chukoy"
|
15
|
+
robot.kakayahan = "tambling"
|
16
|
+
robot.magpakilala
|
data/spec/bato/tagatala_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.12
|
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: 2018-
|
11
|
+
date: 2018-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby2ruby
|
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
144
|
version: '0'
|
145
145
|
requirements: []
|
146
146
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.
|
147
|
+
rubygems_version: 2.7.8
|
148
148
|
signing_key:
|
149
149
|
specification_version: 4
|
150
150
|
summary: Ang Bato ay isang programming language sa wikang Filipino
|