rgo-lang 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/Rakefile +3 -3
- data/lib/rgo/compile.rb +51 -10
- data/lib/rgo/parser.rb +466 -403
- data/lib/rgo/tokenizer.rb +3 -1
- data/lib/rgo/version.rb +1 -1
- data/parse.y +19 -3
- data/samples/8_interfaces.go +8 -0
- data/samples/8_interfaces.rgo +11 -0
- data/samples/example_01_http_servers.go +13 -0
- data/samples/example_01_http_servers.rgo +14 -0
- data/std/fmt.rgo +3 -0
- data/std/net.rgo +3 -0
- data/std/net/http.rgo +16 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45475abf9aea59749c6fff727ecf17c9d51f70c695bbb6b280e654e4cba6454c
|
4
|
+
data.tar.gz: 713db746d12b2ae8aea7dd7c74fe01c97ee68393287f84b254f52369e9f401df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23a3b97263dbf705d7df8a993c9d8fcace61d981ecfeaa56380fcb4c7534df1f76ebe737ef234a66a3fd2eca04aa9b088abb0b51927293cb5bc893ed69307ee6
|
7
|
+
data.tar.gz: c2db49be007612b3e5f7d0c7245af2cd692d6d0775270131b2469e5f930cf5122584e8e1ac7ab2c55d37cc2a4ac5a9a48f04d99dd7e79d00eb59173053cfce85
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -12,7 +12,7 @@ task :default => :spec
|
|
12
12
|
|
13
13
|
task :dev do
|
14
14
|
`racc parse.y -o lib/rgo/parser.rb`
|
15
|
-
statements = Rgo::Parser.new.parse(File.read("./samples/
|
15
|
+
statements = Rgo::Parser.new.parse(File.read("./samples/example_01_http_servers.rgo"))
|
16
16
|
|
17
17
|
require 'pp'
|
18
18
|
|
@@ -23,6 +23,6 @@ task :dev do
|
|
23
23
|
|
24
24
|
puts out
|
25
25
|
|
26
|
-
puts compile.functions
|
27
|
-
puts compile.function_to_module_map
|
26
|
+
puts "compile functions : #{compile.functions}"
|
27
|
+
puts "compile functions_to_module_map : #{compile.function_to_module_map}"
|
28
28
|
end
|
data/lib/rgo/compile.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Rgo
|
2
2
|
class Compile
|
3
|
-
attr_reader :functions, :function_to_module_map, :aliases
|
3
|
+
attr_reader :functions, :function_to_module_map, :aliases,
|
4
|
+
:classes
|
4
5
|
|
5
6
|
def initialize(statements)
|
6
7
|
@statements = statements
|
@@ -8,7 +9,9 @@ module Rgo
|
|
8
9
|
@function_access_type = :public
|
9
10
|
@current_module = nil
|
10
11
|
@aliases = {}
|
12
|
+
@classes = []
|
11
13
|
@function_to_module_map = {}
|
14
|
+
@class_to_module_map = {}
|
12
15
|
@next_func_type = nil
|
13
16
|
@local_variables = []
|
14
17
|
@next_instance_variable_type = nil
|
@@ -44,22 +47,40 @@ module Rgo
|
|
44
47
|
pretty out, indent
|
45
48
|
end
|
46
49
|
|
50
|
+
def compile_interface(node, indent)
|
51
|
+
@inside_interface = true
|
52
|
+
out = []
|
53
|
+
out << "type #{node.name.downcase} interface {"
|
54
|
+
out << ""
|
55
|
+
out << compile_statements(node.children, indent +1)
|
56
|
+
out << "}"
|
57
|
+
|
58
|
+
@inside_interface = false
|
59
|
+
|
60
|
+
pretty out, indent
|
61
|
+
end
|
62
|
+
|
47
63
|
def compile_include(node, indent)
|
48
64
|
# compile included module to get list of functions
|
65
|
+
filepath = node.name.map(&:downcase).join("/")
|
49
66
|
|
50
|
-
statements = Rgo::Parser.new.parse(File.read("std/" +
|
67
|
+
statements = Rgo::Parser.new.parse(File.read("std/" + filepath + ".rgo"))
|
51
68
|
compile = Rgo::Compile.new(statements)
|
52
69
|
compile.compile
|
53
70
|
|
54
71
|
compile.functions[:public].each do |func|
|
55
|
-
@function_to_module_map[func] = [
|
72
|
+
@function_to_module_map[func] = [filepath, func]
|
56
73
|
end
|
57
74
|
|
58
75
|
compile.aliases.each do |name, func|
|
59
|
-
@function_to_module_map[name] = [
|
76
|
+
@function_to_module_map[name] = [filepath, func]
|
77
|
+
end
|
78
|
+
|
79
|
+
compile.classes.each do |name, func|
|
80
|
+
@class_to_module_map[name] = filepath.split("/").last
|
60
81
|
end
|
61
82
|
|
62
|
-
"import \"#{
|
83
|
+
"import \"#{filepath}\""
|
63
84
|
end
|
64
85
|
|
65
86
|
def pretty(lines, indent = 0)
|
@@ -85,13 +106,14 @@ module Rgo
|
|
85
106
|
|
86
107
|
def compile_func_call(node, indent)
|
87
108
|
mod, func = @function_to_module_map[node.name]
|
109
|
+
mod = mod.split("/").last unless mod.nil?
|
88
110
|
|
89
111
|
out = ""
|
90
112
|
|
91
113
|
if mod.nil?
|
92
114
|
out << func
|
93
115
|
else
|
94
|
-
out << mod.downcase + "." + func.capitalize
|
116
|
+
out << mod.downcase + "." + func.split("_").map(&:capitalize).join
|
95
117
|
end
|
96
118
|
|
97
119
|
out << "(" + compile_args(node.children) + ")"
|
@@ -115,6 +137,7 @@ module Rgo
|
|
115
137
|
|
116
138
|
args = compile_func_def_args(node.children[0])
|
117
139
|
return_type = @next_func_type.nil? ? "" : @next_func_type[:return].to_s + " "
|
140
|
+
return_type = "" if return_type == "nil "
|
118
141
|
|
119
142
|
|
120
143
|
method_receiver =
|
@@ -125,9 +148,14 @@ module Rgo
|
|
125
148
|
end
|
126
149
|
|
127
150
|
out = []
|
128
|
-
|
129
|
-
|
130
|
-
|
151
|
+
|
152
|
+
if @inside_interface
|
153
|
+
out << "#{method_receiver}#{node.name}(#{args}) #{return_type.strip}"
|
154
|
+
else
|
155
|
+
out << "func #{method_receiver}#{node.name}(#{args}) #{return_type}{"
|
156
|
+
out << compile_statements(node.children[1], indent + 1)
|
157
|
+
out << "}"
|
158
|
+
end
|
131
159
|
|
132
160
|
@next_func_type = nil
|
133
161
|
@local_variables = []
|
@@ -145,7 +173,18 @@ module Rgo
|
|
145
173
|
|
146
174
|
out = []
|
147
175
|
nodes.each_with_index do |node, i|
|
148
|
-
|
176
|
+
type = @next_func_type[:args][i]
|
177
|
+
|
178
|
+
pointer = false
|
179
|
+
if type[0] == "*"
|
180
|
+
pointer = true
|
181
|
+
type = type[1..-1]
|
182
|
+
end
|
183
|
+
|
184
|
+
mod = @class_to_module_map[type].to_s
|
185
|
+
mod = mod + "." unless mod.empty?
|
186
|
+
|
187
|
+
out << node.name + " " + (pointer ? "*" : "" ) + mod + type
|
149
188
|
@local_variables << node.name
|
150
189
|
end
|
151
190
|
|
@@ -276,6 +315,8 @@ module Rgo
|
|
276
315
|
end
|
277
316
|
|
278
317
|
def compile_class(node, indent)
|
318
|
+
@classes << node.name
|
319
|
+
|
279
320
|
@current_class = node.name.downcase
|
280
321
|
|
281
322
|
out = []
|
data/lib/rgo/parser.rb
CHANGED
@@ -14,7 +14,7 @@ require_relative './node.rb'
|
|
14
14
|
module Rgo
|
15
15
|
class Parser < Racc::Parser
|
16
16
|
|
17
|
-
module_eval(<<'...end parse.y/module_eval...', 'parse.y',
|
17
|
+
module_eval(<<'...end parse.y/module_eval...', 'parse.y', 221)
|
18
18
|
|
19
19
|
def parse(str)
|
20
20
|
@q = Tokenizer.new(str).tokens
|
@@ -39,288 +39,312 @@ end
|
|
39
39
|
##### State transition tables begin ###
|
40
40
|
|
41
41
|
racc_action_table = [
|
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
|
-
nil,
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
nil, nil, nil, nil,
|
90
|
-
nil,
|
91
|
-
|
92
|
-
nil, nil,
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
nil,
|
97
|
-
|
98
|
-
nil,
|
99
|
-
nil, nil,
|
42
|
+
19, 24, 101, 41, 26, 20, 30, 21, 27, 22,
|
43
|
+
23, 102, 24, 25, 43, 26, 44, 29, 54, -30,
|
44
|
+
31, 33, 36, 37, 24, 40, 55, 26, -30, 45,
|
45
|
+
46, 51, 19, 95, 38, 39, 40, 20, 30, 21,
|
46
|
+
27, 22, 23, 53, 24, 25, 65, 26, 40, 29,
|
47
|
+
121, 133, 31, 33, 36, 37, 70, 26, 71, 122,
|
48
|
+
102, 82, 83, 95, 19, 47, 38, 39, 40, 20,
|
49
|
+
30, 21, 27, 22, 23, 86, 24, 25, 40, 26,
|
50
|
+
48, 29, 49, 137, 31, 33, 36, 37, 50, 88,
|
51
|
+
90, 55, 138, 103, 53, 110, 19, 47, 38, 39,
|
52
|
+
40, 20, 30, 21, 27, 22, 23, 106, 24, 25,
|
53
|
+
111, 26, 86, 29, 49, 108, 31, 33, 36, 37,
|
54
|
+
50, 127, -71, -69, 108, 139, 127, nil, 19, 85,
|
55
|
+
38, 39, 40, 20, 30, 21, 27, 22, 23, nil,
|
56
|
+
24, 25, nil, 26, nil, 29, nil, nil, 31, 33,
|
57
|
+
36, 37, -54, -54, -54, -54, -54, -54, -54, -54,
|
58
|
+
nil, nil, 38, 39, 40, 19, 98, nil, 99, nil,
|
59
|
+
20, 30, 21, 27, 22, 23, nil, 24, 25, nil,
|
60
|
+
26, nil, 29, nil, nil, 31, 33, 36, 37, nil,
|
61
|
+
57, 58, 59, 60, 61, 62, 63, 64, nil, 38,
|
62
|
+
39, 40, 19, 47, -31, 100, nil, 20, 30, 21,
|
63
|
+
27, 22, 23, -31, 24, 25, nil, 26, nil, 29,
|
64
|
+
49, nil, 31, 33, 36, 37, 50, 57, 58, 59,
|
65
|
+
60, 61, 62, 63, 64, nil, 38, 39, 40, 19,
|
66
|
+
nil, nil, 104, nil, 20, 30, 21, 27, 22, 23,
|
67
|
+
nil, 24, 25, nil, 26, nil, 29, nil, nil, 31,
|
68
|
+
33, 36, 37, 57, 58, 59, 60, 61, 62, 63,
|
69
|
+
64, 19, nil, 38, 39, 40, 20, 30, 21, 27,
|
70
|
+
22, 23, nil, 24, 25, nil, 26, nil, 29, nil,
|
71
|
+
nil, 31, 33, 36, 37, 57, 58, 59, 60, 61,
|
72
|
+
62, 63, 64, 19, nil, 38, 39, 40, 20, 30,
|
73
|
+
21, 27, 22, 23, nil, 24, 25, nil, 26, nil,
|
74
|
+
29, nil, nil, 31, 33, 36, 37, 57, 58, 59,
|
75
|
+
60, 61, 62, 63, 64, nil, nil, 38, 39, 40,
|
76
|
+
19, nil, nil, 131, 132, 20, 30, 21, 27, 22,
|
77
|
+
23, nil, 24, 25, nil, 26, nil, 29, nil, nil,
|
78
|
+
31, 33, 36, 37, 57, 58, 59, 60, 61, 62,
|
79
|
+
63, 64, 19, nil, 38, 39, 40, 20, 30, 21,
|
80
|
+
27, 22, 23, nil, 24, 25, nil, 26, nil, 29,
|
81
|
+
nil, nil, 31, 33, 36, 37, 57, 58, 59, 60,
|
82
|
+
61, 62, 63, 64, nil, nil, 38, 39, 40, 19,
|
83
|
+
nil, nil, 136, nil, 20, 30, 21, 27, 22, 23,
|
84
|
+
nil, 24, 25, nil, 26, nil, 29, nil, nil, 31,
|
85
|
+
33, 36, 37, 57, 58, 59, 60, 61, 62, 63,
|
86
|
+
64, 19, nil, 38, 39, 40, 20, 30, 21, 27,
|
87
|
+
22, 23, nil, 24, 25, nil, 26, nil, 29, nil,
|
88
|
+
nil, 31, 33, 36, 37, nil, nil, nil, nil, nil,
|
89
|
+
nil, nil, nil, nil, nil, 38, 39, 40, 19, nil,
|
90
|
+
nil, 141, nil, 20, 30, 21, 27, 22, 23, nil,
|
91
|
+
24, 25, nil, 26, nil, 29, nil, nil, 31, 33,
|
92
|
+
36, 37, nil, nil, nil, nil, nil, nil, nil, nil,
|
93
|
+
nil, nil, 38, 39, 40, 19, nil, nil, 144, nil,
|
94
|
+
20, 30, 21, 27, 22, 23, nil, 24, 25, 30,
|
95
|
+
26, 68, 29, 66, nil, 31, 33, 36, 37, nil,
|
96
|
+
nil, nil, nil, 31, 33, nil, nil, nil, nil, 38,
|
97
|
+
39, 40, 30, nil, 68, nil, 66, 38, 39, 79,
|
98
|
+
nil, 68, nil, 75, nil, nil, 31, 33, 30, nil,
|
99
|
+
68, nil, 66, 31, 33, 30, nil, 68, nil, 66,
|
100
|
+
38, 39, 31, 33, nil, nil, nil, 38, 39, 31,
|
101
|
+
33, 30, nil, 68, nil, 66, 38, 39, 79, nil,
|
102
|
+
68, nil, 75, 38, 39, 31, 33, 79, nil, 68,
|
103
|
+
nil, 75, 31, 33, 30, nil, 68, nil, 66, 38,
|
104
|
+
39, 31, 33, nil, nil, nil, 38, 39, 31, 33,
|
105
|
+
nil, nil, nil, nil, nil, 38, 39, nil, nil, nil,
|
106
|
+
nil, nil, 38, 39 ]
|
100
107
|
|
101
108
|
racc_action_check = [
|
102
|
-
0,
|
103
|
-
|
104
|
-
0, 0,
|
105
|
-
2,
|
106
|
-
|
107
|
-
2, 2,
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
nil, nil,
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
nil, nil, nil, nil,
|
150
|
-
nil,
|
151
|
-
|
152
|
-
nil, nil,
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
nil,
|
157
|
-
|
158
|
-
nil,
|
159
|
-
nil, nil,
|
109
|
+
0, 112, 76, 1, 112, 0, 0, 0, 0, 0,
|
110
|
+
0, 76, 0, 0, 19, 0, 20, 0, 27, 79,
|
111
|
+
0, 0, 0, 0, 93, 112, 27, 93, 79, 21,
|
112
|
+
22, 24, 2, 93, 0, 0, 0, 2, 2, 2,
|
113
|
+
2, 2, 2, 25, 2, 2, 29, 2, 93, 2,
|
114
|
+
105, 120, 2, 2, 2, 2, 37, 70, 41, 105,
|
115
|
+
120, 49, 50, 70, 45, 23, 2, 2, 2, 45,
|
116
|
+
45, 45, 45, 45, 45, 52, 45, 45, 70, 45,
|
117
|
+
23, 45, 23, 124, 45, 45, 45, 45, 23, 55,
|
118
|
+
65, 68, 124, 83, 86, 88, 46, 66, 45, 45,
|
119
|
+
45, 46, 46, 46, 46, 46, 46, 85, 46, 46,
|
120
|
+
91, 46, 109, 46, 66, 85, 46, 46, 46, 46,
|
121
|
+
66, 110, 114, 115, 122, 127, 138, nil, 51, 51,
|
122
|
+
46, 46, 46, 51, 51, 51, 51, 51, 51, nil,
|
123
|
+
51, 51, nil, 51, nil, 51, nil, nil, 51, 51,
|
124
|
+
51, 51, 8, 8, 8, 8, 8, 8, 8, 8,
|
125
|
+
nil, nil, 51, 51, 51, 73, 72, nil, 73, nil,
|
126
|
+
73, 73, 73, 73, 73, 73, nil, 73, 73, nil,
|
127
|
+
73, nil, 73, nil, nil, 73, 73, 73, 73, nil,
|
128
|
+
72, 72, 72, 72, 72, 72, 72, 72, nil, 73,
|
129
|
+
73, 73, 74, 75, 75, 74, nil, 74, 74, 74,
|
130
|
+
74, 74, 74, 75, 74, 74, nil, 74, nil, 74,
|
131
|
+
75, nil, 74, 74, 74, 74, 75, 28, 28, 28,
|
132
|
+
28, 28, 28, 28, 28, nil, 74, 74, 74, 84,
|
133
|
+
nil, nil, 84, nil, 84, 84, 84, 84, 84, 84,
|
134
|
+
nil, 84, 84, nil, 84, nil, 84, nil, nil, 84,
|
135
|
+
84, 84, 84, 67, 67, 67, 67, 67, 67, 67,
|
136
|
+
67, 98, nil, 84, 84, 84, 98, 98, 98, 98,
|
137
|
+
98, 98, nil, 98, 98, nil, 98, nil, 98, nil,
|
138
|
+
nil, 98, 98, 98, 98, 80, 80, 80, 80, 80,
|
139
|
+
80, 80, 80, 106, nil, 98, 98, 98, 106, 106,
|
140
|
+
106, 106, 106, 106, nil, 106, 106, nil, 106, nil,
|
141
|
+
106, nil, nil, 106, 106, 106, 106, 81, 81, 81,
|
142
|
+
81, 81, 81, 81, 81, nil, nil, 106, 106, 106,
|
143
|
+
118, nil, nil, 118, 118, 118, 118, 118, 118, 118,
|
144
|
+
118, nil, 118, 118, nil, 118, nil, 118, nil, nil,
|
145
|
+
118, 118, 118, 118, 87, 87, 87, 87, 87, 87,
|
146
|
+
87, 87, 121, nil, 118, 118, 118, 121, 121, 121,
|
147
|
+
121, 121, 121, nil, 121, 121, nil, 121, nil, 121,
|
148
|
+
nil, nil, 121, 121, 121, 121, 89, 89, 89, 89,
|
149
|
+
89, 89, 89, 89, nil, nil, 121, 121, 121, 123,
|
150
|
+
nil, nil, 123, nil, 123, 123, 123, 123, 123, 123,
|
151
|
+
nil, 123, 123, nil, 123, nil, 123, nil, nil, 123,
|
152
|
+
123, 123, 123, 143, 143, 143, 143, 143, 143, 143,
|
153
|
+
143, 132, nil, 123, 123, 123, 132, 132, 132, 132,
|
154
|
+
132, 132, nil, 132, 132, nil, 132, nil, 132, nil,
|
155
|
+
nil, 132, 132, 132, 132, nil, nil, nil, nil, nil,
|
156
|
+
nil, nil, nil, nil, nil, 132, 132, 132, 134, nil,
|
157
|
+
nil, 134, nil, 134, 134, 134, 134, 134, 134, nil,
|
158
|
+
134, 134, nil, 134, nil, 134, nil, nil, 134, 134,
|
159
|
+
134, 134, nil, nil, nil, nil, nil, nil, nil, nil,
|
160
|
+
nil, nil, 134, 134, 134, 140, nil, nil, 140, nil,
|
161
|
+
140, 140, 140, 140, 140, 140, nil, 140, 140, 36,
|
162
|
+
140, 36, 140, 36, nil, 140, 140, 140, 140, nil,
|
163
|
+
nil, nil, nil, 36, 36, nil, nil, nil, nil, 140,
|
164
|
+
140, 140, 43, nil, 43, nil, 43, 36, 36, 47,
|
165
|
+
nil, 47, nil, 47, nil, nil, 43, 43, 48, nil,
|
166
|
+
48, nil, 48, 47, 47, 54, nil, 54, nil, 54,
|
167
|
+
43, 43, 48, 48, nil, nil, nil, 47, 47, 54,
|
168
|
+
54, 56, nil, 56, nil, 56, 48, 48, 102, nil,
|
169
|
+
102, nil, 102, 54, 54, 56, 56, 103, nil, 103,
|
170
|
+
nil, 103, 102, 102, 139, nil, 139, nil, 139, 56,
|
171
|
+
56, 103, 103, nil, nil, nil, 102, 102, 139, 139,
|
172
|
+
nil, nil, nil, nil, nil, 103, 103, nil, nil, nil,
|
173
|
+
nil, nil, 139, 139 ]
|
160
174
|
|
161
175
|
racc_action_pointer = [
|
162
|
-
-8,
|
163
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
164
|
-
|
165
|
-
nil, nil, nil, nil,
|
166
|
-
nil,
|
167
|
-
|
168
|
-
nil,
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
+
-8, 3, 24, nil, nil, nil, nil, nil, 118, nil,
|
177
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 5,
|
178
|
+
2, 13, 14, 56, 13, 27, nil, -6, 193, 28,
|
179
|
+
nil, nil, nil, nil, nil, nil, 515, 40, nil, nil,
|
180
|
+
nil, 58, nil, 538, nil, 56, 88, 545, 554, 34,
|
181
|
+
44, 120, 53, nil, 561, 71, 577, nil, nil, nil,
|
182
|
+
nil, nil, nil, nil, nil, 72, 88, 229, 59, nil,
|
183
|
+
34, nil, 156, 157, 194, 194, -8, nil, nil, 9,
|
184
|
+
261, 293, nil, 84, 231, 97, 78, 330, 86, 362,
|
185
|
+
nil, 99, nil, 4, nil, nil, nil, nil, 263, nil,
|
186
|
+
nil, nil, 584, 593, nil, 40, 295, nil, nil, 90,
|
187
|
+
103, nil, -19, nil, 111, 112, nil, nil, 332, nil,
|
188
|
+
41, 364, 106, 401, 73, nil, nil, 92, nil, nil,
|
189
|
+
nil, nil, 433, nil, 470, nil, nil, nil, 108, 600,
|
190
|
+
507, nil, nil, 399, nil ]
|
176
191
|
|
177
192
|
racc_action_default = [
|
178
|
-
-4, -
|
179
|
-
-11, -12, -13, -14, -15, -16, -17, -18, -
|
180
|
-
-
|
181
|
-
-
|
182
|
-
-3, -
|
183
|
-
-
|
184
|
-
-
|
185
|
-
-
|
186
|
-
-
|
187
|
-
|
188
|
-
-
|
189
|
-
|
190
|
-
-
|
191
|
-
-
|
193
|
+
-4, -90, -1, -2, -5, -6, -7, -8, -9, -10,
|
194
|
+
-11, -12, -13, -14, -15, -16, -17, -18, -19, -90,
|
195
|
+
-90, -90, -90, -48, -90, -90, -42, -53, -45, -90,
|
196
|
+
-49, -50, -51, -55, -56, -57, -90, -90, -86, -87,
|
197
|
+
-88, -90, -3, -90, -23, -4, -4, -89, -90, -90,
|
198
|
+
-90, -4, -39, -40, -90, -90, -90, -78, -79, -80,
|
199
|
+
-81, -82, -83, -84, -85, -90, -48, -58, -53, -54,
|
200
|
+
-89, 145, -90, -90, -90, -48, -90, -27, -29, -49,
|
201
|
+
-32, -43, -47, -90, -90, -90, -90, -44, -90, -52,
|
202
|
+
-46, -90, -60, -90, -62, -64, -65, -66, -4, -24,
|
203
|
+
-25, -26, -89, -89, -35, -90, -4, -36, -38, -41,
|
204
|
+
-89, -59, -61, -63, -65, -66, -67, -70, -90, -28,
|
205
|
+
-90, -4, -90, -90, -90, -73, -75, -90, -68, -69,
|
206
|
+
-71, -20, -4, -77, -90, -37, -34, -72, -89, -90,
|
207
|
+
-90, -33, -74, -76, -21 ]
|
192
208
|
|
193
209
|
racc_goto_table = [
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
nil, nil,
|
199
|
-
|
200
|
-
|
201
|
-
nil,
|
202
|
-
nil, nil,
|
203
|
-
nil,
|
204
|
-
nil, nil, nil, nil, nil,
|
205
|
-
|
206
|
-
nil, nil,
|
210
|
+
42, 2, 69, 52, 76, 92, 97, 107, 96, 69,
|
211
|
+
125, 94, 67, 69, 69, 1, 117, 116, 119, 72,
|
212
|
+
69, 105, 69, 80, 81, 91, 93, 112, 124, 115,
|
213
|
+
87, 114, 89, nil, 113, 117, 128, nil, 142, nil,
|
214
|
+
nil, nil, nil, nil, 135, 126, 73, 74, 129, nil,
|
215
|
+
130, nil, 84, nil, nil, nil, nil, nil, nil, nil,
|
216
|
+
120, nil, nil, nil, 109, nil, nil, nil, 69, 69,
|
217
|
+
nil, 42, 42, 126, nil, nil, nil, nil, 80, 80,
|
218
|
+
nil, nil, 42, nil, nil, nil, nil, nil, nil, nil,
|
219
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 118,
|
220
|
+
nil, nil, nil, nil, nil, 69, nil, 123, nil, nil,
|
221
|
+
nil, nil, nil, nil, nil, 143, 42, nil, nil, nil,
|
222
|
+
nil, 42, 134, nil, nil, nil, nil, nil, nil, nil,
|
223
|
+
nil, nil, 42, 140, nil, nil, nil, nil, 42 ]
|
207
224
|
|
208
225
|
racc_goto_check = [
|
209
|
-
3, 2,
|
210
|
-
34,
|
211
|
-
|
212
|
-
|
213
|
-
nil, nil,
|
214
|
-
|
215
|
-
nil,
|
216
|
-
nil,
|
217
|
-
nil, nil,
|
218
|
-
nil,
|
219
|
-
nil, nil, nil, nil, nil,
|
220
|
-
|
226
|
+
3, 2, 8, 26, 21, 23, 4, 25, 13, 8,
|
227
|
+
37, 34, 19, 8, 8, 1, 9, 35, 22, 19,
|
228
|
+
8, 24, 8, 19, 19, 31, 32, 33, 36, 4,
|
229
|
+
19, 13, 19, nil, 34, 9, 35, nil, 37, nil,
|
230
|
+
nil, nil, nil, nil, 25, 23, 2, 2, 4, nil,
|
231
|
+
13, nil, 2, nil, nil, nil, nil, nil, nil, nil,
|
232
|
+
21, nil, nil, nil, 26, nil, nil, nil, 8, 8,
|
233
|
+
nil, 3, 3, 23, nil, nil, nil, nil, 19, 19,
|
234
|
+
nil, nil, 3, nil, nil, nil, nil, nil, nil, nil,
|
235
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 2,
|
236
|
+
nil, nil, nil, nil, nil, 8, nil, 2, nil, nil,
|
237
|
+
nil, nil, nil, nil, nil, 19, 3, nil, nil, nil,
|
238
|
+
nil, 3, 2, nil, nil, nil, nil, nil, nil, nil,
|
221
239
|
nil, nil, 3, 2, nil, nil, nil, nil, 3 ]
|
222
240
|
|
223
241
|
racc_goto_pointer = [
|
224
|
-
nil,
|
225
|
-
nil, nil, -
|
226
|
-
-
|
227
|
-
-
|
242
|
+
nil, 15, 1, -2, -64, nil, nil, nil, -34, -77,
|
243
|
+
nil, nil, nil, -62, nil, nil, nil, nil, nil, -24,
|
244
|
+
nil, -43, -84, -65, -64, -78, -22, nil, nil, nil,
|
245
|
+
nil, -45, -44, -66, -59, -76, -82, -100 ]
|
228
246
|
|
229
247
|
racc_goto_default = [
|
230
248
|
nil, nil, nil, 3, 4, 5, 6, 7, 8, 9,
|
231
|
-
10, 11, 12, 13, 14, 15, 16, 17,
|
232
|
-
nil,
|
233
|
-
nil, nil, nil, nil, nil ]
|
249
|
+
10, 11, 12, 13, 14, 15, 16, 17, 18, 28,
|
250
|
+
nil, nil, 77, 78, nil, nil, nil, 32, 56, 34,
|
251
|
+
35, nil, nil, nil, nil, nil, nil, nil ]
|
234
252
|
|
235
253
|
racc_reduce_table = [
|
236
254
|
0, 0, :racc_error,
|
237
|
-
1, 44, :_reduce_none,
|
238
|
-
1, 45, :_reduce_none,
|
239
|
-
2, 45, :_reduce_3,
|
240
|
-
0, 46, :_reduce_none,
|
241
255
|
1, 46, :_reduce_none,
|
242
|
-
1,
|
243
|
-
|
244
|
-
|
245
|
-
1,
|
246
|
-
1,
|
247
|
-
1,
|
248
|
-
1,
|
249
|
-
1,
|
250
|
-
1,
|
251
|
-
1,
|
252
|
-
1,
|
253
|
-
1,
|
254
|
-
1,
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
256
|
+
1, 47, :_reduce_none,
|
257
|
+
2, 47, :_reduce_3,
|
258
|
+
0, 48, :_reduce_none,
|
259
|
+
1, 48, :_reduce_none,
|
260
|
+
1, 48, :_reduce_none,
|
261
|
+
1, 48, :_reduce_none,
|
262
|
+
1, 48, :_reduce_none,
|
263
|
+
1, 48, :_reduce_none,
|
264
|
+
1, 48, :_reduce_none,
|
265
|
+
1, 48, :_reduce_none,
|
266
|
+
1, 48, :_reduce_none,
|
267
|
+
1, 48, :_reduce_none,
|
268
|
+
1, 48, :_reduce_none,
|
269
|
+
1, 48, :_reduce_none,
|
270
|
+
1, 48, :_reduce_none,
|
271
|
+
1, 48, :_reduce_none,
|
272
|
+
1, 48, :_reduce_none,
|
273
|
+
1, 48, :_reduce_none,
|
274
|
+
6, 59, :_reduce_20,
|
275
|
+
8, 59, :_reduce_21,
|
276
|
+
2, 65, :_reduce_none,
|
277
|
+
2, 52, :_reduce_23,
|
260
278
|
4, 50, :_reduce_24,
|
261
|
-
|
262
|
-
|
279
|
+
4, 51, :_reduce_25,
|
280
|
+
4, 53, :_reduce_26,
|
281
|
+
1, 66, :_reduce_27,
|
282
|
+
3, 66, :_reduce_28,
|
283
|
+
1, 67, :_reduce_none,
|
284
|
+
1, 67, :_reduce_30,
|
285
|
+
1, 67, :_reduce_31,
|
286
|
+
1, 67, :_reduce_32,
|
287
|
+
7, 54, :_reduce_33,
|
288
|
+
6, 54, :_reduce_34,
|
289
|
+
4, 54, :_reduce_35,
|
290
|
+
1, 69, :_reduce_36,
|
291
|
+
3, 69, :_reduce_37,
|
292
|
+
1, 70, :_reduce_38,
|
293
|
+
2, 55, :_reduce_39,
|
294
|
+
1, 71, :_reduce_40,
|
295
|
+
3, 71, :_reduce_41,
|
296
|
+
1, 49, :_reduce_42,
|
297
|
+
3, 56, :_reduce_43,
|
298
|
+
3, 57, :_reduce_44,
|
299
|
+
1, 60, :_reduce_45,
|
300
|
+
3, 61, :_reduce_46,
|
301
|
+
3, 64, :_reduce_47,
|
302
|
+
1, 64, :_reduce_48,
|
303
|
+
1, 64, :_reduce_49,
|
304
|
+
1, 64, :_reduce_50,
|
305
|
+
1, 64, :_reduce_none,
|
306
|
+
3, 64, :_reduce_52,
|
307
|
+
1, 64, :_reduce_53,
|
263
308
|
1, 64, :_reduce_none,
|
264
|
-
1, 64, :
|
265
|
-
1, 64, :
|
266
|
-
1, 64, :
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
3, 66, :_reduce_35,
|
272
|
-
1, 67, :_reduce_36,
|
273
|
-
2, 52, :_reduce_37,
|
274
|
-
1, 47, :_reduce_38,
|
275
|
-
3, 53, :_reduce_39,
|
276
|
-
3, 54, :_reduce_40,
|
277
|
-
1, 57, :_reduce_41,
|
278
|
-
3, 58, :_reduce_42,
|
279
|
-
3, 61, :_reduce_43,
|
280
|
-
1, 61, :_reduce_44,
|
281
|
-
1, 61, :_reduce_45,
|
282
|
-
1, 61, :_reduce_46,
|
283
|
-
1, 61, :_reduce_none,
|
284
|
-
3, 61, :_reduce_48,
|
285
|
-
1, 61, :_reduce_49,
|
286
|
-
1, 61, :_reduce_none,
|
287
|
-
1, 61, :_reduce_51,
|
288
|
-
1, 61, :_reduce_none,
|
289
|
-
1, 61, :_reduce_none,
|
290
|
-
2, 59, :_reduce_54,
|
291
|
-
5, 60, :_reduce_55,
|
292
|
-
1, 72, :_reduce_none,
|
293
|
-
2, 72, :_reduce_57,
|
294
|
-
1, 74, :_reduce_58,
|
295
|
-
1, 74, :_reduce_none,
|
296
|
-
1, 74, :_reduce_none,
|
297
|
-
1, 73, :_reduce_none,
|
298
|
-
2, 73, :_reduce_62,
|
299
|
-
1, 75, :_reduce_none,
|
300
|
-
1, 75, :_reduce_none,
|
301
|
-
1, 75, :_reduce_none,
|
302
|
-
6, 70, :_reduce_66,
|
303
|
-
1, 76, :_reduce_none,
|
304
|
-
3, 76, :_reduce_68,
|
309
|
+
1, 64, :_reduce_55,
|
310
|
+
1, 64, :_reduce_none,
|
311
|
+
1, 64, :_reduce_none,
|
312
|
+
2, 62, :_reduce_58,
|
313
|
+
4, 63, :_reduce_59,
|
314
|
+
1, 76, :_reduce_60,
|
315
|
+
2, 76, :_reduce_61,
|
305
316
|
1, 77, :_reduce_none,
|
306
|
-
|
307
|
-
|
308
|
-
1,
|
309
|
-
1,
|
310
|
-
1,
|
311
|
-
|
312
|
-
1,
|
313
|
-
1,
|
314
|
-
1,
|
315
|
-
|
316
|
-
1,
|
317
|
-
|
318
|
-
1,
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
317
|
+
2, 77, :_reduce_63,
|
318
|
+
1, 79, :_reduce_64,
|
319
|
+
1, 79, :_reduce_none,
|
320
|
+
1, 79, :_reduce_none,
|
321
|
+
1, 78, :_reduce_none,
|
322
|
+
2, 78, :_reduce_68,
|
323
|
+
1, 80, :_reduce_none,
|
324
|
+
1, 80, :_reduce_none,
|
325
|
+
1, 80, :_reduce_none,
|
326
|
+
6, 74, :_reduce_72,
|
327
|
+
1, 81, :_reduce_none,
|
328
|
+
3, 81, :_reduce_74,
|
329
|
+
1, 82, :_reduce_none,
|
330
|
+
3, 82, :_reduce_76,
|
331
|
+
6, 75, :_reduce_77,
|
332
|
+
1, 73, :_reduce_78,
|
333
|
+
1, 73, :_reduce_79,
|
334
|
+
1, 73, :_reduce_80,
|
335
|
+
1, 73, :_reduce_81,
|
336
|
+
1, 73, :_reduce_82,
|
337
|
+
1, 73, :_reduce_83,
|
338
|
+
1, 73, :_reduce_84,
|
339
|
+
1, 73, :_reduce_85,
|
340
|
+
1, 72, :_reduce_86,
|
341
|
+
1, 72, :_reduce_87,
|
342
|
+
1, 58, :_reduce_88,
|
343
|
+
0, 68, :_reduce_none ]
|
344
|
+
|
345
|
+
racc_reduce_n = 90
|
346
|
+
|
347
|
+
racc_shift_n = 145
|
324
348
|
|
325
349
|
racc_token_table = {
|
326
350
|
false => 0,
|
@@ -340,34 +364,36 @@ racc_token_table = {
|
|
340
364
|
:STRING => 14,
|
341
365
|
:KEYWORD_MODULE => 15,
|
342
366
|
:CONSTANT => 16,
|
343
|
-
:
|
344
|
-
:
|
345
|
-
:
|
346
|
-
:
|
347
|
-
:
|
348
|
-
:
|
349
|
-
:
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
:
|
355
|
-
:
|
356
|
-
:
|
357
|
-
:
|
358
|
-
:
|
359
|
-
:
|
360
|
-
:
|
361
|
-
:
|
362
|
-
:
|
363
|
-
:
|
364
|
-
:
|
365
|
-
:
|
366
|
-
:
|
367
|
-
:
|
368
|
-
:
|
369
|
-
|
370
|
-
|
367
|
+
:KEYWORD_INTERFACE => 17,
|
368
|
+
:IDENTIFIER => 18,
|
369
|
+
:COMMA => 19,
|
370
|
+
:KEYWORD_DEF => 20,
|
371
|
+
:KEYWORD_INCLUDE => 21,
|
372
|
+
:DCOLON => 22,
|
373
|
+
:COMMENT => 23,
|
374
|
+
:KEYWORD_ASSIGN => 24,
|
375
|
+
:KEYWORD_ALIAS => 25,
|
376
|
+
"(" => 26,
|
377
|
+
")" => 27,
|
378
|
+
:INTEGER => 28,
|
379
|
+
:INSTANCE_VARIABLE => 29,
|
380
|
+
:KEYWORD_RETURN => 30,
|
381
|
+
:KEYWORD_CLASS => 31,
|
382
|
+
:DOT => 32,
|
383
|
+
:COLON => 33,
|
384
|
+
:PLUS => 34,
|
385
|
+
:MINUS => 35,
|
386
|
+
:MULTIPLY => 36,
|
387
|
+
:DIVIDE => 37,
|
388
|
+
:GREATER => 38,
|
389
|
+
:LESS => 39,
|
390
|
+
:EQUAL => 40,
|
391
|
+
:MOD => 41,
|
392
|
+
:KEYWORD_TRUE => 42,
|
393
|
+
:KEYWORD_FALSE => 43,
|
394
|
+
:BLANK_LINE => 44 }
|
395
|
+
|
396
|
+
racc_nt_base = 45
|
371
397
|
|
372
398
|
racc_use_result_var = false
|
373
399
|
|
@@ -405,10 +431,12 @@ Racc_token_to_s_table = [
|
|
405
431
|
"STRING",
|
406
432
|
"KEYWORD_MODULE",
|
407
433
|
"CONSTANT",
|
434
|
+
"KEYWORD_INTERFACE",
|
408
435
|
"IDENTIFIER",
|
409
436
|
"COMMA",
|
410
437
|
"KEYWORD_DEF",
|
411
438
|
"KEYWORD_INCLUDE",
|
439
|
+
"DCOLON",
|
412
440
|
"COMMENT",
|
413
441
|
"KEYWORD_ASSIGN",
|
414
442
|
"KEYWORD_ALIAS",
|
@@ -437,6 +465,7 @@ Racc_token_to_s_table = [
|
|
437
465
|
"statement",
|
438
466
|
"comment_statement",
|
439
467
|
"module_statement",
|
468
|
+
"interface_statement",
|
440
469
|
"require_statement",
|
441
470
|
"func_call",
|
442
471
|
"func_def",
|
@@ -456,10 +485,12 @@ Racc_token_to_s_table = [
|
|
456
485
|
"none",
|
457
486
|
"func_def_args",
|
458
487
|
"func_def_arg",
|
488
|
+
"constant_tree",
|
459
489
|
"boolean",
|
460
490
|
"number_operator",
|
461
491
|
"class_new",
|
462
492
|
"class_instance_method_call",
|
493
|
+
"class_body",
|
463
494
|
"instance_variables_def",
|
464
495
|
"methods_def",
|
465
496
|
"instance_variable_def",
|
@@ -513,331 +544,363 @@ module_eval(<<'.,.,', 'parse.y', 17)
|
|
513
544
|
|
514
545
|
# reduce 18 omitted
|
515
546
|
|
516
|
-
|
517
|
-
|
547
|
+
# reduce 19 omitted
|
548
|
+
|
549
|
+
module_eval(<<'.,.,', 'parse.y', 41)
|
550
|
+
def _reduce_20(val, _values)
|
518
551
|
Node.new(:if, val[2], val[4])
|
519
552
|
end
|
520
553
|
.,.,
|
521
554
|
|
522
|
-
module_eval(<<'.,.,', 'parse.y',
|
523
|
-
def
|
555
|
+
module_eval(<<'.,.,', 'parse.y', 44)
|
556
|
+
def _reduce_21(val, _values)
|
524
557
|
Node.new(:if_else, val[2], [val[4], val[6]])
|
525
558
|
end
|
526
559
|
.,.,
|
527
560
|
|
528
|
-
# reduce
|
529
|
-
|
530
|
-
module_eval(<<'.,.,', 'parse.y', 49)
|
531
|
-
def _reduce_22(val, _values)
|
532
|
-
Node.new(:require, val[1])
|
533
|
-
end
|
534
|
-
.,.,
|
561
|
+
# reduce 22 omitted
|
535
562
|
|
536
|
-
module_eval(<<'.,.,', 'parse.y',
|
563
|
+
module_eval(<<'.,.,', 'parse.y', 50)
|
537
564
|
def _reduce_23(val, _values)
|
538
|
-
Node.new(:
|
565
|
+
Node.new(:require, val[1])
|
539
566
|
end
|
540
567
|
.,.,
|
541
568
|
|
542
|
-
module_eval(<<'.,.,', 'parse.y',
|
569
|
+
module_eval(<<'.,.,', 'parse.y', 54)
|
543
570
|
def _reduce_24(val, _values)
|
544
|
-
Node.new(:
|
571
|
+
Node.new(:module, val[1], val[2])
|
545
572
|
end
|
546
573
|
.,.,
|
547
574
|
|
548
575
|
module_eval(<<'.,.,', 'parse.y', 59)
|
549
576
|
def _reduce_25(val, _values)
|
550
|
-
|
577
|
+
Node.new(:interface, val[1], val[2])
|
551
578
|
end
|
552
579
|
.,.,
|
553
580
|
|
554
|
-
module_eval(<<'.,.,', 'parse.y',
|
581
|
+
module_eval(<<'.,.,', 'parse.y', 62)
|
555
582
|
def _reduce_26(val, _values)
|
556
|
-
|
583
|
+
Node.new(:func_call, val[0], val[2])
|
557
584
|
end
|
558
585
|
.,.,
|
559
586
|
|
560
|
-
# reduce 27 omitted
|
561
|
-
|
562
587
|
module_eval(<<'.,.,', 'parse.y', 65)
|
563
|
-
def
|
564
|
-
|
588
|
+
def _reduce_27(val, _values)
|
589
|
+
Array(val[0]).flatten
|
565
590
|
end
|
566
591
|
.,.,
|
567
592
|
|
568
593
|
module_eval(<<'.,.,', 'parse.y', 66)
|
569
|
-
def
|
570
|
-
|
594
|
+
def _reduce_28(val, _values)
|
595
|
+
[val[0], val[2]].flatten
|
571
596
|
end
|
572
597
|
.,.,
|
573
598
|
|
574
|
-
|
599
|
+
# reduce 29 omitted
|
600
|
+
|
601
|
+
module_eval(<<'.,.,', 'parse.y', 71)
|
575
602
|
def _reduce_30(val, _values)
|
576
|
-
val[0]
|
603
|
+
Node.new(:string, val[0])
|
577
604
|
end
|
578
605
|
.,.,
|
579
606
|
|
580
|
-
module_eval(<<'.,.,', 'parse.y',
|
607
|
+
module_eval(<<'.,.,', 'parse.y', 72)
|
581
608
|
def _reduce_31(val, _values)
|
582
|
-
Node.new(:
|
609
|
+
Node.new(:variable, val[0])
|
583
610
|
end
|
584
611
|
.,.,
|
585
612
|
|
586
|
-
module_eval(<<'.,.,', 'parse.y',
|
613
|
+
module_eval(<<'.,.,', 'parse.y', 73)
|
587
614
|
def _reduce_32(val, _values)
|
588
|
-
|
615
|
+
val[0]
|
589
616
|
end
|
590
617
|
.,.,
|
591
618
|
|
592
619
|
module_eval(<<'.,.,', 'parse.y', 79)
|
593
620
|
def _reduce_33(val, _values)
|
594
|
-
Node.new(:func_def, val[1], [
|
621
|
+
Node.new(:func_def, val[1], [val[3], val[5]])
|
595
622
|
end
|
596
623
|
.,.,
|
597
624
|
|
598
|
-
module_eval(<<'.,.,', 'parse.y',
|
625
|
+
module_eval(<<'.,.,', 'parse.y', 82)
|
599
626
|
def _reduce_34(val, _values)
|
600
|
-
val[
|
627
|
+
Node.new(:func_def, val[1], [nil, val[4]])
|
601
628
|
end
|
602
629
|
.,.,
|
603
630
|
|
604
631
|
module_eval(<<'.,.,', 'parse.y', 85)
|
605
632
|
def _reduce_35(val, _values)
|
606
|
-
|
633
|
+
Node.new(:func_def, val[1], [nil, val[2]])
|
607
634
|
end
|
608
635
|
.,.,
|
609
636
|
|
610
|
-
module_eval(<<'.,.,', 'parse.y',
|
637
|
+
module_eval(<<'.,.,', 'parse.y', 90)
|
611
638
|
def _reduce_36(val, _values)
|
612
|
-
|
639
|
+
val[0]
|
613
640
|
end
|
614
641
|
.,.,
|
615
642
|
|
616
|
-
module_eval(<<'.,.,', 'parse.y',
|
643
|
+
module_eval(<<'.,.,', 'parse.y', 91)
|
617
644
|
def _reduce_37(val, _values)
|
618
|
-
|
645
|
+
[val[0], val[2]].flatten
|
619
646
|
end
|
620
647
|
.,.,
|
621
648
|
|
622
|
-
module_eval(<<'.,.,', 'parse.y',
|
649
|
+
module_eval(<<'.,.,', 'parse.y', 95)
|
623
650
|
def _reduce_38(val, _values)
|
624
|
-
Node.new(:
|
651
|
+
Node.new(:variable, val[0])
|
625
652
|
end
|
626
653
|
.,.,
|
627
654
|
|
628
|
-
module_eval(<<'.,.,', 'parse.y',
|
655
|
+
module_eval(<<'.,.,', 'parse.y', 98)
|
629
656
|
def _reduce_39(val, _values)
|
630
|
-
Node.new(:
|
657
|
+
Node.new(:include, val[1])
|
631
658
|
end
|
632
659
|
.,.,
|
633
660
|
|
634
|
-
module_eval(<<'.,.,', 'parse.y',
|
661
|
+
module_eval(<<'.,.,', 'parse.y', 101)
|
635
662
|
def _reduce_40(val, _values)
|
636
|
-
|
663
|
+
[val[0]]
|
637
664
|
end
|
638
665
|
.,.,
|
639
666
|
|
640
|
-
module_eval(<<'.,.,', 'parse.y',
|
667
|
+
module_eval(<<'.,.,', 'parse.y', 102)
|
641
668
|
def _reduce_41(val, _values)
|
642
|
-
|
669
|
+
[val[0], val[2]].flatten
|
643
670
|
end
|
644
671
|
.,.,
|
645
672
|
|
646
673
|
module_eval(<<'.,.,', 'parse.y', 105)
|
647
674
|
def _reduce_42(val, _values)
|
648
|
-
Node.new(:
|
675
|
+
Node.new(:comment, val[0])
|
649
676
|
end
|
650
677
|
.,.,
|
651
678
|
|
652
|
-
module_eval(<<'.,.,', 'parse.y',
|
679
|
+
module_eval(<<'.,.,', 'parse.y', 107)
|
653
680
|
def _reduce_43(val, _values)
|
654
|
-
val[0,
|
681
|
+
Node.new(:assignment, val[0], [val[2]])
|
655
682
|
end
|
656
683
|
.,.,
|
657
684
|
|
658
|
-
module_eval(<<'.,.,', 'parse.y',
|
685
|
+
module_eval(<<'.,.,', 'parse.y', 109)
|
659
686
|
def _reduce_44(val, _values)
|
660
|
-
Node.new(:
|
687
|
+
Node.new(:constant_assignment, val[0], [val[2]])
|
661
688
|
end
|
662
689
|
.,.,
|
663
690
|
|
664
|
-
module_eval(<<'.,.,', 'parse.y',
|
691
|
+
module_eval(<<'.,.,', 'parse.y', 112)
|
665
692
|
def _reduce_45(val, _values)
|
666
|
-
Node.new(:
|
693
|
+
Node.new(:return, nil, val[0])
|
667
694
|
end
|
668
695
|
.,.,
|
669
696
|
|
670
|
-
module_eval(<<'.,.,', 'parse.y',
|
697
|
+
module_eval(<<'.,.,', 'parse.y', 116)
|
671
698
|
def _reduce_46(val, _values)
|
672
|
-
Node.new(:
|
699
|
+
Node.new(:alias, val[1], val[2])
|
673
700
|
end
|
674
701
|
.,.,
|
675
702
|
|
676
|
-
|
703
|
+
module_eval(<<'.,.,', 'parse.y', 120)
|
704
|
+
def _reduce_47(val, _values)
|
705
|
+
val[0,3].join
|
706
|
+
end
|
707
|
+
.,.,
|
677
708
|
|
678
|
-
module_eval(<<'.,.,', 'parse.y',
|
709
|
+
module_eval(<<'.,.,', 'parse.y', 121)
|
679
710
|
def _reduce_48(val, _values)
|
680
|
-
Node.new(
|
711
|
+
Node.new(:variable, val[0])
|
681
712
|
end
|
682
713
|
.,.,
|
683
714
|
|
684
|
-
module_eval(<<'.,.,', 'parse.y',
|
715
|
+
module_eval(<<'.,.,', 'parse.y', 122)
|
685
716
|
def _reduce_49(val, _values)
|
717
|
+
Node.new(:string, val[0])
|
718
|
+
end
|
719
|
+
.,.,
|
720
|
+
|
721
|
+
module_eval(<<'.,.,', 'parse.y', 123)
|
722
|
+
def _reduce_50(val, _values)
|
723
|
+
Node.new(:integer, val[0].to_i)
|
724
|
+
end
|
725
|
+
.,.,
|
726
|
+
|
727
|
+
# reduce 51 omitted
|
728
|
+
|
729
|
+
module_eval(<<'.,.,', 'parse.y', 125)
|
730
|
+
def _reduce_52(val, _values)
|
731
|
+
Node.new(val[1], nil, [val[0], val[2]])
|
732
|
+
end
|
733
|
+
.,.,
|
734
|
+
|
735
|
+
module_eval(<<'.,.,', 'parse.y', 126)
|
736
|
+
def _reduce_53(val, _values)
|
686
737
|
Node.new(:constant, val[0])
|
687
738
|
end
|
688
739
|
.,.,
|
689
740
|
|
690
|
-
# reduce
|
741
|
+
# reduce 54 omitted
|
691
742
|
|
692
|
-
module_eval(<<'.,.,', 'parse.y',
|
693
|
-
def
|
743
|
+
module_eval(<<'.,.,', 'parse.y', 128)
|
744
|
+
def _reduce_55(val, _values)
|
694
745
|
Node.new(:instance_variable_get, val[0])
|
695
746
|
end
|
696
747
|
.,.,
|
697
748
|
|
698
|
-
# reduce
|
749
|
+
# reduce 56 omitted
|
699
750
|
|
700
|
-
# reduce
|
751
|
+
# reduce 57 omitted
|
701
752
|
|
702
|
-
module_eval(<<'.,.,', 'parse.y',
|
703
|
-
def
|
753
|
+
module_eval(<<'.,.,', 'parse.y', 135)
|
754
|
+
def _reduce_58(val, _values)
|
704
755
|
Node.new(:return, nil, val[1])
|
705
756
|
end
|
706
757
|
.,.,
|
707
758
|
|
708
|
-
module_eval(<<'.,.,', 'parse.y',
|
709
|
-
def
|
710
|
-
Node.new(:class, val[1], [val[2], val[
|
759
|
+
module_eval(<<'.,.,', 'parse.y', 140)
|
760
|
+
def _reduce_59(val, _values)
|
761
|
+
Node.new(:class, val[1], [val[2][0], val[2][1]])
|
711
762
|
end
|
712
763
|
.,.,
|
713
764
|
|
714
|
-
|
765
|
+
module_eval(<<'.,.,', 'parse.y', 144)
|
766
|
+
def _reduce_60(val, _values)
|
767
|
+
[nil, nil]
|
768
|
+
end
|
769
|
+
.,.,
|
715
770
|
|
716
|
-
module_eval(<<'.,.,', 'parse.y',
|
717
|
-
def
|
771
|
+
module_eval(<<'.,.,', 'parse.y', 145)
|
772
|
+
def _reduce_61(val, _values)
|
773
|
+
val
|
774
|
+
end
|
775
|
+
.,.,
|
776
|
+
|
777
|
+
# reduce 62 omitted
|
778
|
+
|
779
|
+
module_eval(<<'.,.,', 'parse.y', 151)
|
780
|
+
def _reduce_63(val, _values)
|
718
781
|
val.flatten
|
719
782
|
end
|
720
783
|
.,.,
|
721
784
|
|
722
|
-
module_eval(<<'.,.,', 'parse.y',
|
723
|
-
def
|
785
|
+
module_eval(<<'.,.,', 'parse.y', 155)
|
786
|
+
def _reduce_64(val, _values)
|
724
787
|
Node.new(:instance_variable_def, val[0])
|
725
788
|
end
|
726
789
|
.,.,
|
727
790
|
|
728
|
-
# reduce
|
791
|
+
# reduce 65 omitted
|
729
792
|
|
730
|
-
# reduce
|
793
|
+
# reduce 66 omitted
|
731
794
|
|
732
|
-
# reduce
|
795
|
+
# reduce 67 omitted
|
733
796
|
|
734
|
-
module_eval(<<'.,.,', 'parse.y',
|
735
|
-
def
|
797
|
+
module_eval(<<'.,.,', 'parse.y', 163)
|
798
|
+
def _reduce_68(val, _values)
|
736
799
|
val.flatten
|
737
800
|
end
|
738
801
|
.,.,
|
739
802
|
|
740
|
-
# reduce
|
803
|
+
# reduce 69 omitted
|
741
804
|
|
742
|
-
# reduce
|
805
|
+
# reduce 70 omitted
|
743
806
|
|
744
|
-
# reduce
|
807
|
+
# reduce 71 omitted
|
745
808
|
|
746
|
-
module_eval(<<'.,.,', 'parse.y',
|
747
|
-
def
|
809
|
+
module_eval(<<'.,.,', 'parse.y', 174)
|
810
|
+
def _reduce_72(val, _values)
|
748
811
|
Node.new(:class_method_call, val[0], [val[2], val[4]])
|
749
812
|
end
|
750
813
|
.,.,
|
751
814
|
|
752
|
-
# reduce
|
815
|
+
# reduce 73 omitted
|
753
816
|
|
754
|
-
module_eval(<<'.,.,', 'parse.y',
|
755
|
-
def
|
817
|
+
module_eval(<<'.,.,', 'parse.y', 179)
|
818
|
+
def _reduce_74(val, _values)
|
756
819
|
[val[0], val[2]]
|
757
820
|
end
|
758
821
|
.,.,
|
759
822
|
|
760
|
-
# reduce
|
823
|
+
# reduce 75 omitted
|
761
824
|
|
762
|
-
module_eval(<<'.,.,', 'parse.y',
|
763
|
-
def
|
825
|
+
module_eval(<<'.,.,', 'parse.y', 184)
|
826
|
+
def _reduce_76(val, _values)
|
764
827
|
[val[0], val[2]]
|
765
828
|
end
|
766
829
|
.,.,
|
767
830
|
|
768
|
-
module_eval(<<'.,.,', 'parse.y',
|
769
|
-
def
|
831
|
+
module_eval(<<'.,.,', 'parse.y', 188)
|
832
|
+
def _reduce_77(val, _values)
|
770
833
|
Node.new(:class_instance_method_call, val[0], [val[2], val[4]])
|
771
834
|
end
|
772
835
|
.,.,
|
773
836
|
|
774
|
-
module_eval(<<'.,.,', 'parse.y',
|
775
|
-
def
|
837
|
+
module_eval(<<'.,.,', 'parse.y', 191)
|
838
|
+
def _reduce_78(val, _values)
|
776
839
|
:plus
|
777
840
|
end
|
778
841
|
.,.,
|
779
842
|
|
780
|
-
module_eval(<<'.,.,', 'parse.y',
|
781
|
-
def
|
843
|
+
module_eval(<<'.,.,', 'parse.y', 192)
|
844
|
+
def _reduce_79(val, _values)
|
782
845
|
:minus
|
783
846
|
end
|
784
847
|
.,.,
|
785
848
|
|
786
|
-
module_eval(<<'.,.,', 'parse.y',
|
787
|
-
def
|
849
|
+
module_eval(<<'.,.,', 'parse.y', 193)
|
850
|
+
def _reduce_80(val, _values)
|
788
851
|
:multiply
|
789
852
|
end
|
790
853
|
.,.,
|
791
854
|
|
792
|
-
module_eval(<<'.,.,', 'parse.y',
|
793
|
-
def
|
855
|
+
module_eval(<<'.,.,', 'parse.y', 194)
|
856
|
+
def _reduce_81(val, _values)
|
794
857
|
:divide
|
795
858
|
end
|
796
859
|
.,.,
|
797
860
|
|
798
|
-
module_eval(<<'.,.,', 'parse.y',
|
799
|
-
def
|
861
|
+
module_eval(<<'.,.,', 'parse.y', 195)
|
862
|
+
def _reduce_82(val, _values)
|
800
863
|
:greater
|
801
864
|
end
|
802
865
|
.,.,
|
803
866
|
|
804
|
-
module_eval(<<'.,.,', 'parse.y',
|
805
|
-
def
|
867
|
+
module_eval(<<'.,.,', 'parse.y', 196)
|
868
|
+
def _reduce_83(val, _values)
|
806
869
|
:less
|
807
870
|
end
|
808
871
|
.,.,
|
809
872
|
|
810
|
-
module_eval(<<'.,.,', 'parse.y',
|
811
|
-
def
|
873
|
+
module_eval(<<'.,.,', 'parse.y', 197)
|
874
|
+
def _reduce_84(val, _values)
|
812
875
|
:equal
|
813
876
|
end
|
814
877
|
.,.,
|
815
878
|
|
816
|
-
module_eval(<<'.,.,', 'parse.y',
|
817
|
-
def
|
879
|
+
module_eval(<<'.,.,', 'parse.y', 198)
|
880
|
+
def _reduce_85(val, _values)
|
818
881
|
:mod
|
819
882
|
end
|
820
883
|
.,.,
|
821
884
|
|
822
|
-
module_eval(<<'.,.,', 'parse.y',
|
823
|
-
def
|
885
|
+
module_eval(<<'.,.,', 'parse.y', 202)
|
886
|
+
def _reduce_86(val, _values)
|
824
887
|
Node.new(:boolean, true)
|
825
888
|
end
|
826
889
|
.,.,
|
827
890
|
|
828
|
-
module_eval(<<'.,.,', 'parse.y',
|
829
|
-
def
|
891
|
+
module_eval(<<'.,.,', 'parse.y', 203)
|
892
|
+
def _reduce_87(val, _values)
|
830
893
|
Node.new(:boolean, false)
|
831
894
|
end
|
832
895
|
.,.,
|
833
896
|
|
834
|
-
module_eval(<<'.,.,', 'parse.y',
|
835
|
-
def
|
897
|
+
module_eval(<<'.,.,', 'parse.y', 206)
|
898
|
+
def _reduce_88(val, _values)
|
836
899
|
Node.new(:blank_line, "")
|
837
900
|
end
|
838
901
|
.,.,
|
839
902
|
|
840
|
-
# reduce
|
903
|
+
# reduce 89 omitted
|
841
904
|
|
842
905
|
def _reduce_none(val, _values)
|
843
906
|
val[0]
|