hotcell 0.0.1 → 0.1.0
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 +7 -0
- data/.gitignore +4 -1
- data/.rspec +1 -0
- data/.rvmrc +1 -1
- data/.travis.yml +7 -0
- data/Gemfile +4 -1
- data/README.md +361 -2
- data/Rakefile +28 -6
- data/ext/lexerc/extconf.rb +3 -0
- data/ext/lexerc/lexerc.c +618 -0
- data/ext/lexerc/lexerc.h +20 -0
- data/ext/lexerc/lexerc.rl +167 -0
- data/hotcell.gemspec +8 -7
- data/lib/hotcell/commands/case.rb +59 -0
- data/lib/hotcell/commands/cycle.rb +38 -0
- data/lib/hotcell/commands/for.rb +70 -0
- data/lib/hotcell/commands/if.rb +51 -0
- data/lib/hotcell/commands/include.rb +21 -0
- data/lib/hotcell/commands/scope.rb +13 -0
- data/lib/hotcell/commands/unless.rb +23 -0
- data/lib/hotcell/commands.rb +13 -0
- data/lib/hotcell/config.rb +33 -6
- data/lib/hotcell/context.rb +40 -7
- data/lib/hotcell/errors.rb +37 -28
- data/lib/hotcell/extensions.rb +4 -0
- data/lib/hotcell/lexer.rb +19 -635
- data/lib/hotcell/lexerr.rb +572 -0
- data/lib/hotcell/lexerr.rl +137 -0
- data/lib/hotcell/node/assigner.rb +1 -5
- data/lib/hotcell/node/block.rb +17 -40
- data/lib/hotcell/node/command.rb +29 -22
- data/lib/hotcell/node/hasher.rb +1 -1
- data/lib/hotcell/node/summoner.rb +2 -6
- data/lib/hotcell/node/tag.rb +10 -7
- data/lib/hotcell/node.rb +12 -1
- data/lib/hotcell/parser.rb +474 -408
- data/lib/hotcell/parser.y +175 -117
- data/lib/hotcell/resolver.rb +44 -0
- data/lib/hotcell/source.rb +35 -0
- data/lib/hotcell/template.rb +15 -6
- data/lib/hotcell/version.rb +1 -1
- data/lib/hotcell.rb +15 -10
- data/spec/data/templates/simple.hc +1 -0
- data/spec/lib/hotcell/commands/case_spec.rb +39 -0
- data/spec/lib/hotcell/commands/cycle_spec.rb +29 -0
- data/spec/lib/hotcell/commands/for_spec.rb +65 -0
- data/spec/lib/hotcell/commands/if_spec.rb +35 -0
- data/spec/lib/hotcell/commands/include_spec.rb +39 -0
- data/spec/lib/hotcell/commands/scope_spec.rb +16 -0
- data/spec/lib/hotcell/commands/unless_spec.rb +23 -0
- data/spec/lib/hotcell/config_spec.rb +35 -10
- data/spec/lib/hotcell/context_spec.rb +58 -18
- data/spec/lib/hotcell/lexer_spec.rb +37 -28
- data/spec/lib/hotcell/node/block_spec.rb +28 -56
- data/spec/lib/hotcell/node/command_spec.rb +7 -31
- data/spec/lib/hotcell/node/tag_spec.rb +16 -0
- data/spec/lib/hotcell/parser_spec.rb +152 -123
- data/spec/lib/hotcell/resolver_spec.rb +28 -0
- data/spec/lib/hotcell/source_spec.rb +41 -0
- data/spec/lib/hotcell/template_spec.rb +47 -4
- data/spec/lib/hotcell_spec.rb +2 -1
- data/spec/spec_helper.rb +6 -2
- metadata +54 -24
- data/lib/hotcell/.DS_Store +0 -0
- data/lib/hotcell/lexer.rl +0 -299
- data/misc/rage.rl +0 -1999
- data/misc/unicode2ragel.rb +0 -305
data/lib/hotcell/parser.rb
CHANGED
@@ -5,31 +5,59 @@
|
|
5
5
|
#
|
6
6
|
|
7
7
|
require 'racc/parser.rb'
|
8
|
-
|
9
|
-
require 'hotcell/lexer'
|
10
8
|
module Hotcell
|
11
9
|
class Parser < Racc::Parser
|
12
10
|
|
13
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
14
|
-
|
15
|
-
|
11
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 194)
|
12
|
+
OPERATIONS = {
|
13
|
+
'+' => :PLUS, '-' => :MINUS, '*' => :MULTIPLY, '**' => :POWER, '/' => :DIVIDE, '%' => :MODULO,
|
14
|
+
|
15
|
+
'&&' => :AND, '||' => :OR, '!' => :NOT, '==' => :EQUAL, '!=' => :INEQUAL,
|
16
|
+
'>' => :GT, '>=' => :GTE, '<' => :LT, '<=' => :LTE,
|
17
|
+
|
18
|
+
'=' => :ASSIGN, ',' => :COMMA, '.' => :PERIOD, ':' => :COLON, '?' => :QUESTION,
|
19
|
+
';' => :SEMICOLON
|
20
|
+
}
|
21
|
+
|
22
|
+
BOPEN = { '[' => :AOPEN, '{' => :HOPEN, '(' => :POPEN }
|
23
|
+
BCLOSE = { ']' => :ACLOSE, '}' => :HCLOSE, ')' => :PCLOSE }
|
24
|
+
|
25
|
+
NEWLINE_PRED = Set.new(BOPEN.values + OPERATIONS.values)
|
26
|
+
NEWLINE_NEXT = Set.new(BCLOSE.values + [:NEWLINE])
|
16
27
|
|
17
28
|
TAG_MODES = { '{{' => :normal, '{{!' => :silence }
|
18
29
|
|
19
|
-
def initialize
|
20
|
-
@
|
30
|
+
def initialize source, options = {}
|
31
|
+
@source = Source.wrap(source)
|
32
|
+
@lexer = Lexer.new(source)
|
21
33
|
@tokens = @lexer.tokens
|
22
34
|
@position = -1
|
23
35
|
|
24
|
-
@commands =
|
25
|
-
@blocks =
|
26
|
-
@endblocks = Set.new(
|
27
|
-
|
36
|
+
@commands = options[:commands] || {}
|
37
|
+
@blocks = options[:blocks] || {}
|
38
|
+
@endblocks = Set.new(@blocks.keys.map { |identifer| "end#{identifer}" })
|
39
|
+
|
40
|
+
@substack = []
|
41
|
+
@posstack = []
|
42
|
+
end
|
43
|
+
|
44
|
+
def build klass, *args
|
45
|
+
options = args.extract_options!
|
46
|
+
options[:source] = @source
|
47
|
+
klass.build *args.push(options)
|
48
|
+
end
|
49
|
+
|
50
|
+
def pospoppush pop, push = 0
|
51
|
+
# because fuck the brains, that's why!
|
52
|
+
last = @posstack.pop
|
53
|
+
reduced = @posstack.push(@posstack.pop(pop)[push])[-1]
|
54
|
+
@posstack.push last
|
55
|
+
reduced
|
28
56
|
end
|
29
57
|
|
30
58
|
def parse
|
31
59
|
if @tokens.size == 0
|
32
|
-
|
60
|
+
build Joiner, :JOINER, position: 0
|
33
61
|
else
|
34
62
|
do_parse
|
35
63
|
end
|
@@ -37,27 +65,32 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 176)
|
|
37
65
|
|
38
66
|
def next_token
|
39
67
|
@position = @position + 1
|
40
|
-
|
41
68
|
tcurr = @tokens[@position]
|
42
|
-
tnext = @tokens[@position.next]
|
43
|
-
tpred = @tokens[@position.pred]
|
44
69
|
|
45
70
|
if tcurr && (tcurr[0] == :COMMENT || tcurr[0] == :NEWLINE && (
|
46
|
-
(tpred && NEWLINE_PRED.include?(tpred[0])) ||
|
47
|
-
(tnext && NEWLINE_NEXT.include?(tnext[0]))
|
71
|
+
((tpred = @tokens[@position.pred]) && NEWLINE_PRED.include?(tpred[0])) ||
|
72
|
+
((tnext = @tokens[@position.next]) && NEWLINE_NEXT.include?(tnext[0]))
|
48
73
|
))
|
49
74
|
next_token
|
50
75
|
else
|
76
|
+
if tcurr
|
77
|
+
@posstack << tcurr[1][1]
|
78
|
+
tcurr = [tcurr[0], tcurr[1][0]]
|
79
|
+
end
|
80
|
+
|
51
81
|
if tcurr && tcurr[0] == :IDENTIFER
|
52
|
-
if @commands.
|
82
|
+
if @commands.key?(tcurr[1])
|
53
83
|
[:COMMAND, tcurr[1]]
|
54
|
-
elsif @blocks.
|
84
|
+
elsif @blocks.key?(tcurr[1])
|
85
|
+
@substack.push(@blocks[tcurr[1]].subcommands)
|
55
86
|
[:BLOCK, tcurr[1]]
|
87
|
+
elsif @substack.last && @substack.last.key?(tcurr[1])
|
88
|
+
[:SUBCOMMAND, tcurr[1]]
|
56
89
|
elsif @endblocks.include?(tcurr[1])
|
90
|
+
@substack.pop
|
57
91
|
[:ENDBLOCK, tcurr[1]]
|
58
|
-
elsif @subcommands.include?(tcurr[1])
|
59
|
-
[:SUBCOMMAND, tcurr[1]]
|
60
92
|
elsif tcurr[1] == 'end'
|
93
|
+
@substack.pop
|
61
94
|
[:END, tcurr[1]]
|
62
95
|
else
|
63
96
|
tcurr
|
@@ -67,43 +100,48 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 176)
|
|
67
100
|
end
|
68
101
|
end
|
69
102
|
end
|
103
|
+
|
104
|
+
def on_error(token, value, vstack)
|
105
|
+
raise Hotcell::UnexpectedLexem.new("#{token_to_str(token) || '?'} `#{value}`",
|
106
|
+
*@source.info(@posstack.last).values_at(:line, :column))
|
107
|
+
end
|
70
108
|
...end parser.y/module_eval...
|
71
109
|
##### State transition tables begin ###
|
72
110
|
|
73
111
|
racc_action_table = [
|
74
112
|
42, 10, 26, 106, 92, 141, 103, 92, 25, 24,
|
75
|
-
135,
|
76
|
-
90,
|
77
|
-
8,
|
78
|
-
39, 40, 41, 43,
|
79
|
-
27,
|
80
|
-
42, 129, 26,
|
81
|
-
68,
|
82
|
-
|
83
|
-
|
113
|
+
136, 103, 135, 104, 81, 82, 42, 59, 26, 134,
|
114
|
+
90, 60, 21, 22, 25, 24, 60, 132, 65, 7,
|
115
|
+
8, 104, 60, 131, 27, 87, 35, 36, 37, 38,
|
116
|
+
39, 40, 41, 43, 55, 127, 130, 106, 51, 52,
|
117
|
+
27, 105, 35, 36, 37, 38, 39, 40, 41, 43,
|
118
|
+
42, 129, 26, 7, 44, 60, 81, 82, 25, 24,
|
119
|
+
68, 142, 67, 69, 72, 63, 42, 61, 26, 81,
|
120
|
+
82, 49, 21, 22, 25, 24, 12, 14, 16, 106,
|
121
|
+
18, 81, 82, nil, 27, 68, 35, 36, 37, 38,
|
84
122
|
39, 40, 41, 43, 65, 81, 82, 81, 82, 68,
|
85
123
|
27, 68, 35, 36, 37, 38, 39, 40, 41, 43,
|
86
|
-
42,
|
124
|
+
42, nil, 26, 51, 52, 7, 8, 50, 25, 24,
|
87
125
|
nil, 81, 82, 81, 82, 68, 42, 68, 26, 67,
|
88
|
-
69, 72, 70, 71, 25, 24, 81, 82,
|
89
|
-
68,
|
90
|
-
39, 40, 41, 43,
|
126
|
+
69, 72, 70, 71, 25, 24, 81, 82, 65, nil,
|
127
|
+
68, 7, 44, nil, 27, nil, 35, 36, 37, 38,
|
128
|
+
39, 40, 41, 43, 55, nil, nil, nil, nil, nil,
|
91
129
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
92
130
|
42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
|
93
131
|
nil, nil, nil, 81, 82, nil, 42, 68, 26, 67,
|
94
|
-
69, 72, 70, 71, 25, 24, nil, nil,
|
132
|
+
69, 72, 70, 71, 25, 24, nil, nil, 55, nil,
|
95
133
|
nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
|
96
|
-
39, 40, 41, 43,
|
134
|
+
39, 40, 41, 43, 55, nil, nil, nil, nil, nil,
|
97
135
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
98
136
|
42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
|
99
137
|
nil, nil, nil, 81, 82, nil, 42, 68, 26, 67,
|
100
|
-
69, 72, 70, 71, 25, 24, nil, nil,
|
138
|
+
69, 72, 70, 71, 25, 24, nil, nil, 65, nil,
|
101
139
|
nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
|
102
|
-
39, 40, 41, 43,
|
140
|
+
39, 40, 41, 43, 55, nil, nil, nil, nil, nil,
|
103
141
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
104
142
|
42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
|
105
143
|
nil, nil, nil, 81, 82, nil, 42, 68, 26, 67,
|
106
|
-
69, 72, 70, 71, 25, 24, nil, nil,
|
144
|
+
69, 72, 70, 71, 25, 24, nil, nil, 65, nil,
|
107
145
|
nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
|
108
146
|
39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
|
109
147
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
@@ -123,7 +161,7 @@ racc_action_table = [
|
|
123
161
|
nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
|
124
162
|
nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
|
125
163
|
nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
|
126
|
-
39, 40, 41, 43,
|
164
|
+
39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
|
127
165
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
128
166
|
42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
|
129
167
|
nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
|
@@ -133,8 +171,8 @@ racc_action_table = [
|
|
133
171
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
134
172
|
42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
|
135
173
|
nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
|
136
|
-
nil, nil, 21, 22, 25, 24, 12,
|
137
|
-
95, 96,
|
174
|
+
nil, nil, 21, 22, 25, 24, 12, 14, 16, 93,
|
175
|
+
18, 95, 96, nil, 27, nil, 35, 36, 37, 38,
|
138
176
|
39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
|
139
177
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
140
178
|
42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
|
@@ -159,7 +197,7 @@ racc_action_table = [
|
|
159
197
|
nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
|
160
198
|
nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
|
161
199
|
nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
|
162
|
-
39, 40, 41, 43,
|
200
|
+
39, 40, 41, 43, 55, nil, nil, nil, nil, nil,
|
163
201
|
27, 110, 35, 36, 37, 38, 39, 40, 41, 43,
|
164
202
|
42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
|
165
203
|
nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
|
@@ -175,8 +213,8 @@ racc_action_table = [
|
|
175
213
|
27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
|
176
214
|
42, nil, 26, nil, nil, nil, 81, 82, 25, 24,
|
177
215
|
68, nil, 67, 69, 72, 70, 71, 75, 76, 77,
|
178
|
-
78, 79, 80, 73, 74, nil, nil,
|
179
|
-
|
216
|
+
78, 79, 80, 73, 74, nil, nil, 14, 65, nil,
|
217
|
+
18, nil, nil, nil, 27, nil, 35, 36, 37, 38,
|
180
218
|
39, 40, 41, 43, 81, 82, nil, nil, 68, nil,
|
181
219
|
67, 69, 72, 70, 71, 75, 76, 77, 78, 79,
|
182
220
|
80, 73, 74, 81, 82, nil, nil, 68, nil, 67,
|
@@ -188,54 +226,54 @@ racc_action_table = [
|
|
188
226
|
81, 82, nil, nil, 68, nil, 67, 69, 72, 70,
|
189
227
|
71, 75, 76, 77, 78, 79, 80, 73, 81, 82,
|
190
228
|
nil, nil, 68, nil, 67, 69, 72, 70, 71, 75,
|
191
|
-
76, 77, 78,
|
229
|
+
76, 77, 78, 79, 80, 81, 82, nil, nil, 68,
|
192
230
|
nil, 67, 69, 72, 70, 71, 75, 76, 77, 78,
|
193
|
-
-
|
194
|
-
72, 70, 71, 75, 76, 77, 78,
|
231
|
+
-93, -93, 81, 82, nil, nil, 68, nil, 67, 69,
|
232
|
+
72, 70, 71, 75, 76, 77, 78, -93, -93 ]
|
195
233
|
|
196
234
|
racc_action_check = [
|
197
235
|
27, 1, 27, 91, 43, 111, 65, 106, 27, 27,
|
198
|
-
96,
|
199
|
-
43, 65, 27, 27,
|
200
|
-
1,
|
201
|
-
27, 27, 27, 27,
|
202
|
-
|
203
|
-
8, 86, 8,
|
204
|
-
116,
|
205
|
-
|
206
|
-
|
207
|
-
8, 8, 8, 8,
|
208
|
-
|
209
|
-
|
210
|
-
nil, 113, 113, 122, 122, 113,
|
211
|
-
122, 122, 122, 122,
|
212
|
-
112,
|
213
|
-
|
236
|
+
97, 55, 96, 55, 85, 85, 93, 16, 93, 94,
|
237
|
+
43, 65, 27, 27, 93, 93, 55, 91, 27, 1,
|
238
|
+
1, 92, 16, 89, 27, 27, 27, 27, 27, 27,
|
239
|
+
27, 27, 27, 27, 93, 81, 89, 57, 86, 86,
|
240
|
+
93, 56, 93, 93, 93, 93, 93, 93, 93, 93,
|
241
|
+
8, 86, 8, 9, 9, 127, 116, 116, 8, 8,
|
242
|
+
116, 128, 116, 116, 116, 20, 103, 17, 103, 84,
|
243
|
+
84, 10, 8, 8, 103, 103, 8, 8, 8, 139,
|
244
|
+
8, 117, 117, nil, 8, 117, 8, 8, 8, 8,
|
245
|
+
8, 8, 8, 8, 103, 114, 114, 83, 83, 114,
|
246
|
+
103, 83, 103, 103, 103, 103, 103, 103, 103, 103,
|
247
|
+
104, nil, 104, 13, 13, 0, 0, 13, 104, 104,
|
248
|
+
nil, 113, 113, 122, 122, 113, 105, 122, 105, 122,
|
249
|
+
122, 122, 122, 122, 105, 105, 112, 112, 104, nil,
|
250
|
+
112, 45, 45, nil, 104, nil, 104, 104, 104, 104,
|
251
|
+
104, 104, 104, 104, 105, nil, nil, nil, nil, nil,
|
252
|
+
105, nil, 105, 105, 105, 105, 105, 105, 105, 105,
|
253
|
+
14, nil, 14, nil, nil, nil, nil, nil, 14, 14,
|
254
|
+
nil, nil, nil, 123, 123, nil, 82, 123, 82, 123,
|
255
|
+
123, 123, 123, 123, 82, 82, nil, nil, 14, nil,
|
256
|
+
nil, nil, nil, nil, 14, nil, 14, 14, 14, 14,
|
257
|
+
14, 14, 14, 14, 82, nil, nil, nil, nil, nil,
|
214
258
|
82, nil, 82, 82, 82, 82, 82, 82, 82, 82,
|
215
259
|
80, nil, 80, nil, nil, nil, nil, nil, 80, 80,
|
216
|
-
nil, nil, nil,
|
217
|
-
|
260
|
+
nil, nil, nil, 120, 120, nil, 18, 120, 18, 120,
|
261
|
+
120, 120, 120, 120, 18, 18, nil, nil, 80, nil,
|
218
262
|
nil, nil, nil, nil, 80, nil, 80, 80, 80, 80,
|
219
|
-
80, 80, 80, 80,
|
220
|
-
|
221
|
-
|
222
|
-
nil, nil, nil, 121, 121, nil,
|
223
|
-
121, 121, 121, 121,
|
224
|
-
nil, nil, nil, nil,
|
225
|
-
|
226
|
-
79, nil, 79, 79, 79, 79, 79, 79, 79, 79,
|
227
|
-
19, nil, 19, nil, nil, nil, nil, nil, 19, 19,
|
228
|
-
nil, nil, nil, 120, 120, nil, 21, 120, 21, 120,
|
229
|
-
120, 120, 120, 120, 21, 21, nil, nil, 19, nil,
|
230
|
-
nil, nil, nil, nil, 19, nil, 19, 19, 19, 19,
|
231
|
-
19, 19, 19, 19, 21, nil, nil, nil, nil, nil,
|
263
|
+
80, 80, 80, 80, 18, nil, nil, nil, nil, nil,
|
264
|
+
18, nil, 18, 18, 18, 18, 18, 18, 18, 18,
|
265
|
+
131, nil, 131, nil, nil, nil, nil, nil, 131, 131,
|
266
|
+
nil, nil, nil, 121, 121, nil, 21, 121, 21, 121,
|
267
|
+
121, 121, 121, 121, 21, 21, nil, nil, 131, nil,
|
268
|
+
nil, nil, nil, nil, 131, nil, 131, 131, 131, 131,
|
269
|
+
131, 131, 131, 131, 21, nil, nil, nil, nil, nil,
|
232
270
|
21, nil, 21, 21, 21, 21, 21, 21, 21, 21,
|
233
271
|
22, nil, 22, nil, nil, nil, 115, 115, 22, 22,
|
234
|
-
115, nil, 115, 115, 115, nil,
|
235
|
-
nil, nil, nil, nil,
|
272
|
+
115, nil, 115, 115, 115, nil, 79, nil, 79, nil,
|
273
|
+
nil, nil, nil, nil, 79, 79, nil, nil, 22, nil,
|
236
274
|
nil, nil, nil, nil, 22, nil, 22, 22, 22, 22,
|
237
|
-
22, 22, 22, 22,
|
238
|
-
|
275
|
+
22, 22, 22, 22, 79, nil, nil, nil, nil, nil,
|
276
|
+
79, nil, 79, 79, 79, 79, 79, 79, 79, 79,
|
239
277
|
24, nil, 24, nil, nil, nil, nil, nil, 24, 24,
|
240
278
|
nil, nil, nil, nil, nil, nil, 25, nil, 25, nil,
|
241
279
|
nil, nil, nil, nil, 25, 25, nil, nil, 24, nil,
|
@@ -243,11 +281,11 @@ racc_action_check = [
|
|
243
281
|
24, 24, 24, 24, 25, nil, nil, nil, nil, nil,
|
244
282
|
25, nil, 25, 25, 25, 25, 25, 25, 25, 25,
|
245
283
|
26, nil, 26, nil, nil, nil, nil, nil, 26, 26,
|
246
|
-
nil, nil, nil, nil, nil, nil,
|
247
|
-
nil, nil, nil, nil,
|
284
|
+
nil, nil, nil, nil, nil, nil, 78, nil, 78, nil,
|
285
|
+
nil, nil, nil, nil, 78, 78, nil, nil, 26, nil,
|
248
286
|
nil, nil, nil, nil, 26, nil, 26, 26, 26, 26,
|
249
|
-
26, 26, 26, 26,
|
250
|
-
|
287
|
+
26, 26, 26, 26, 78, nil, nil, nil, nil, nil,
|
288
|
+
78, nil, 78, 78, 78, 78, 78, 78, 78, 78,
|
251
289
|
42, nil, 42, nil, nil, nil, nil, nil, 42, 42,
|
252
290
|
nil, nil, nil, nil, nil, nil, 77, nil, 77, nil,
|
253
291
|
nil, nil, nil, nil, 77, 77, nil, nil, 42, nil,
|
@@ -279,11 +317,11 @@ racc_action_check = [
|
|
279
317
|
73, 73, 73, 73, 72, nil, nil, nil, nil, nil,
|
280
318
|
72, nil, 72, 72, 72, 72, 72, 72, 72, 72,
|
281
319
|
70, nil, 70, nil, nil, nil, nil, nil, 70, 70,
|
282
|
-
nil, nil, nil, nil, nil, nil,
|
283
|
-
nil, nil, nil, nil,
|
320
|
+
nil, nil, nil, nil, nil, nil, 60, nil, 60, nil,
|
321
|
+
nil, nil, nil, nil, 60, 60, nil, nil, 70, nil,
|
284
322
|
nil, nil, nil, nil, 70, nil, 70, 70, 70, 70,
|
285
|
-
70, 70, 70, 70,
|
286
|
-
|
323
|
+
70, 70, 70, 70, 60, nil, nil, nil, nil, nil,
|
324
|
+
60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
|
287
325
|
71, nil, 71, nil, nil, nil, nil, nil, 71, 71,
|
288
326
|
nil, nil, nil, nil, nil, nil, 67, nil, 67, nil,
|
289
327
|
nil, nil, nil, nil, 67, 67, nil, nil, 71, nil,
|
@@ -296,97 +334,97 @@ racc_action_check = [
|
|
296
334
|
nil, nil, nil, nil, 68, nil, 68, 68, 68, 68,
|
297
335
|
68, 68, 68, 68, 69, nil, nil, nil, nil, nil,
|
298
336
|
69, nil, 69, 69, 69, 69, 69, 69, 69, 69,
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
|
305
|
-
137, 137, 137, 56, 56, nil, nil, 56, nil, 56,
|
306
|
-
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
|
307
|
-
56, 56, 23, 23, nil, nil, 23, nil, 23, 23,
|
308
|
-
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
|
309
|
-
23, 138, 138, nil, nil, 138, nil, 138, 138, 138,
|
337
|
+
59, nil, 59, nil, nil, nil, 137, 137, 59, 59,
|
338
|
+
137, nil, 137, 137, 137, 137, 137, 137, 137, 137,
|
339
|
+
137, 137, 137, 137, 137, nil, nil, 59, 59, nil,
|
340
|
+
59, nil, nil, nil, 59, nil, 59, 59, 59, 59,
|
341
|
+
59, 59, 59, 59, 138, 138, nil, nil, 138, nil,
|
310
342
|
138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
|
343
|
+
138, 138, 138, 54, 54, nil, nil, 54, nil, 54,
|
344
|
+
54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
|
345
|
+
54, 54, 109, 109, nil, nil, 109, nil, 109, 109,
|
346
|
+
109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
|
347
|
+
109, 23, 23, nil, nil, 23, nil, 23, 23, 23,
|
348
|
+
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
|
311
349
|
119, 119, nil, nil, 119, nil, 119, 119, 119, 119,
|
312
|
-
119, 119, 119, 119, 119, 119, 119, 119,
|
313
|
-
nil, nil,
|
314
|
-
|
350
|
+
119, 119, 119, 119, 119, 119, 119, 119, 118, 118,
|
351
|
+
nil, nil, 118, nil, 118, 118, 118, 118, 118, 118,
|
352
|
+
118, 118, 118, 118, 118, 125, 125, nil, nil, 125,
|
315
353
|
nil, 125, 125, 125, 125, 125, 125, 125, 125, 125,
|
316
|
-
125, 125,
|
317
|
-
|
354
|
+
125, 125, 124, 124, nil, nil, 124, nil, 124, 124,
|
355
|
+
124, 124, 124, 124, 124, 124, 124, 124, 124 ]
|
318
356
|
|
319
357
|
racc_action_pointer = [
|
320
|
-
|
321
|
-
|
322
|
-
|
358
|
+
97, 1, nil, nil, nil, nil, nil, nil, 56, 35,
|
359
|
+
81, nil, nil, 97, 176, nil, -6, 47, 252, nil,
|
360
|
+
45, 312, 356, 1118, 416, 432, 476, -4, nil, nil,
|
323
361
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
324
|
-
nil, nil, 536, -28, 596,
|
325
|
-
nil, 656, 672, nil,
|
326
|
-
nil,
|
327
|
-
836, 896, 792, 776, 732, 716, 612, 552,
|
328
|
-
|
329
|
-
nil, -21,
|
330
|
-
nil, nil, nil,
|
331
|
-
nil, -34, 143, 128, 102, 363, 63, 88,
|
332
|
-
|
333
|
-
nil,
|
362
|
+
nil, nil, 536, -28, 596, 123, nil, nil, nil, nil,
|
363
|
+
nil, 656, 672, nil, 1080, -12, 27, 23, nil, 1016,
|
364
|
+
852, nil, nil, nil, nil, -17, nil, 912, 956, 972,
|
365
|
+
836, 896, 792, 776, 732, 716, 612, 552, 492, 372,
|
366
|
+
236, 13, 192, 104, 76, 11, 22, nil, nil, 9,
|
367
|
+
nil, -21, 6, 12, -11, nil, -22, -20, nil, nil,
|
368
|
+
nil, nil, nil, 72, 116, 132, -25, nil, nil, 1099,
|
369
|
+
nil, -34, 143, 128, 102, 363, 63, 88, 1155, 1137,
|
370
|
+
250, 310, 130, 190, 1189, 1172, nil, 27, 34, nil,
|
371
|
+
nil, 296, nil, nil, nil, nil, nil, 1023, 1061, 65,
|
334
372
|
nil, nil, nil ]
|
335
373
|
|
336
374
|
racc_action_default = [
|
337
|
-
-
|
338
|
-
-
|
339
|
-
-
|
340
|
-
-
|
341
|
-
-
|
342
|
-
-9, -
|
343
|
-
-
|
344
|
-
-
|
345
|
-
-
|
346
|
-
-
|
347
|
-
-
|
348
|
-
-
|
349
|
-
-
|
350
|
-
-
|
351
|
-
-
|
375
|
+
-93, -93, -2, -3, -4, -5, -6, -7, -93, -93,
|
376
|
+
-93, -1, -8, -93, -10, -12, -90, -93, -18, -20,
|
377
|
+
-93, -36, -40, -41, -93, -93, -93, -93, -64, -65,
|
378
|
+
-66, -67, -68, -69, -70, -71, -72, -73, -74, -75,
|
379
|
+
-76, -77, -93, -93, -93, -93, -29, -30, -31, 143,
|
380
|
+
-9, -34, -38, -11, -81, -90, -88, -89, -85, -93,
|
381
|
+
-93, -14, -19, -25, -35, -90, -39, -93, -93, -93,
|
382
|
+
-93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
|
383
|
+
-93, -93, -93, -48, -49, -58, -93, -62, -78, -93,
|
384
|
+
-82, -93, -93, -15, -93, -22, -24, -93, -27, -28,
|
385
|
+
-32, -33, -37, -93, -93, -93, -93, -13, -21, -59,
|
386
|
+
-91, -93, -42, -43, -44, -45, -46, -47, -50, -51,
|
387
|
+
-52, -53, -54, -55, -56, -57, -60, -90, -93, -63,
|
388
|
+
-79, -93, -83, -16, -17, -23, -26, -86, -80, -87,
|
389
|
+
-84, -92, -61 ]
|
352
390
|
|
353
391
|
racc_goto_table = [
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
nil, nil, nil, nil, nil, nil, nil, nil, 100,
|
358
|
-
nil,
|
359
|
-
nil, 112, 113, 114, 115, 116, 117, 118,
|
360
|
-
121, 122, 123, 124, 125,
|
361
|
-
|
362
|
-
nil,
|
363
|
-
|
392
|
+
54, 53, 47, 48, 54, 62, 2, 11, 91, 97,
|
393
|
+
83, 84, 85, 64, 66, 46, 108, 94, 45, 86,
|
394
|
+
107, 126, 89, 1, 140, nil, nil, nil, 54, nil,
|
395
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 99, 100,
|
396
|
+
nil, nil, nil, 101, 102, 109, 54, 111, nil, nil,
|
397
|
+
nil, 98, nil, 112, 113, 114, 115, 116, 117, 118,
|
398
|
+
119, 120, 121, 122, 123, 124, 125, nil, 54, 128,
|
399
|
+
139, nil, nil, nil, nil, nil, nil, nil, nil, 54,
|
400
|
+
133, nil, nil, nil, nil, nil, nil, nil, nil, 109,
|
401
|
+
137, 138, nil, nil, nil, nil, nil, nil, nil, nil,
|
364
402
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
365
|
-
nil, nil, nil, nil, nil, 138 ]
|
403
|
+
nil, nil, nil, nil, nil, nil, nil, 138 ]
|
366
404
|
|
367
405
|
racc_goto_check = [
|
368
|
-
19,
|
369
|
-
19,
|
370
|
-
|
371
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
372
|
-
nil,
|
373
|
-
nil,
|
374
|
-
19, 19, 19, 19, 19,
|
375
|
-
|
376
|
-
nil,
|
377
|
-
|
406
|
+
19, 9, 12, 17, 19, 9, 2, 2, 28, 15,
|
407
|
+
19, 19, 19, 7, 7, 2, 13, 11, 18, 7,
|
408
|
+
8, 20, 27, 1, 29, nil, nil, nil, 19, nil,
|
409
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 12, 17,
|
410
|
+
nil, nil, nil, 7, 7, 19, 19, 9, nil, nil,
|
411
|
+
nil, 2, nil, 19, 19, 19, 19, 19, 19, 19,
|
412
|
+
19, 19, 19, 19, 19, 19, 19, nil, 19, 9,
|
413
|
+
28, nil, nil, nil, nil, nil, nil, nil, nil, 19,
|
414
|
+
9, nil, nil, nil, nil, nil, nil, nil, nil, 19,
|
415
|
+
19, 19, nil, nil, nil, nil, nil, nil, nil, nil,
|
378
416
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
379
|
-
nil, nil, nil, nil, nil, 19 ]
|
417
|
+
nil, nil, nil, nil, nil, nil, nil, 19 ]
|
380
418
|
|
381
419
|
racc_goto_pointer = [
|
382
|
-
nil,
|
383
|
-
nil,
|
384
|
-
-
|
420
|
+
nil, 23, 6, nil, nil, nil, nil, -8, -39, -13,
|
421
|
+
nil, -27, -7, -43, nil, -35, nil, -6, 9, -14,
|
422
|
+
-60, nil, nil, nil, nil, nil, nil, -20, -35, -82 ]
|
385
423
|
|
386
424
|
racc_goto_default = [
|
387
|
-
nil, nil, nil, 3, 4, 5, 6, 13,
|
388
|
-
|
389
|
-
34, 28, 29, 30, 31, 32, 33,
|
425
|
+
nil, nil, nil, 3, 4, 5, 6, 13, 15, nil,
|
426
|
+
17, nil, nil, 19, 20, nil, 9, nil, nil, 23,
|
427
|
+
34, 28, 29, 30, 31, 32, 33, 56, 57, 58 ]
|
390
428
|
|
391
429
|
racc_reduce_table = [
|
392
430
|
0, 0, :racc_error,
|
@@ -397,48 +435,48 @@ racc_reduce_table = [
|
|
397
435
|
1, 51, :_reduce_none,
|
398
436
|
1, 51, :_reduce_none,
|
399
437
|
1, 52, :_reduce_7,
|
400
|
-
2,
|
401
|
-
3,
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
1,
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
1,
|
413
|
-
|
414
|
-
1,
|
415
|
-
|
416
|
-
1,
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
1,
|
423
|
-
2,
|
424
|
-
3,
|
425
|
-
|
438
|
+
2, 53, :_reduce_8,
|
439
|
+
3, 53, :_reduce_9,
|
440
|
+
1, 57, :_reduce_10,
|
441
|
+
2, 57, :_reduce_11,
|
442
|
+
1, 59, :_reduce_none,
|
443
|
+
3, 59, :_reduce_13,
|
444
|
+
3, 55, :_reduce_14,
|
445
|
+
1, 60, :_reduce_15,
|
446
|
+
2, 60, :_reduce_16,
|
447
|
+
3, 61, :_reduce_17,
|
448
|
+
1, 62, :_reduce_18,
|
449
|
+
2, 62, :_reduce_19,
|
450
|
+
1, 63, :_reduce_none,
|
451
|
+
3, 63, :_reduce_21,
|
452
|
+
1, 64, :_reduce_none,
|
453
|
+
2, 64, :_reduce_23,
|
454
|
+
1, 64, :_reduce_none,
|
455
|
+
3, 65, :_reduce_25,
|
456
|
+
3, 66, :_reduce_26,
|
457
|
+
2, 67, :_reduce_27,
|
458
|
+
2, 67, :_reduce_28,
|
459
|
+
1, 67, :_reduce_29,
|
460
|
+
1, 67, :_reduce_30,
|
461
|
+
2, 54, :_reduce_31,
|
462
|
+
3, 54, :_reduce_32,
|
463
|
+
3, 56, :_reduce_33,
|
426
464
|
2, 56, :_reduce_34,
|
427
|
-
|
428
|
-
|
429
|
-
|
465
|
+
2, 56, :_reduce_35,
|
466
|
+
1, 56, :_reduce_36,
|
467
|
+
3, 56, :_reduce_37,
|
430
468
|
2, 56, :_reduce_38,
|
431
|
-
|
469
|
+
2, 56, :_reduce_39,
|
432
470
|
1, 56, :_reduce_40,
|
433
|
-
|
471
|
+
1, 56, :_reduce_41,
|
434
472
|
3, 68, :_reduce_42,
|
435
473
|
3, 68, :_reduce_43,
|
436
474
|
3, 68, :_reduce_44,
|
437
475
|
3, 68, :_reduce_45,
|
438
476
|
3, 68, :_reduce_46,
|
439
|
-
|
477
|
+
3, 68, :_reduce_47,
|
440
478
|
2, 68, :_reduce_48,
|
441
|
-
|
479
|
+
2, 68, :_reduce_49,
|
442
480
|
3, 68, :_reduce_50,
|
443
481
|
3, 68, :_reduce_51,
|
444
482
|
3, 68, :_reduce_52,
|
@@ -446,12 +484,13 @@ racc_reduce_table = [
|
|
446
484
|
3, 68, :_reduce_54,
|
447
485
|
3, 68, :_reduce_55,
|
448
486
|
3, 68, :_reduce_56,
|
449
|
-
|
450
|
-
|
487
|
+
3, 68, :_reduce_57,
|
488
|
+
2, 68, :_reduce_58,
|
451
489
|
3, 68, :_reduce_59,
|
452
|
-
|
453
|
-
|
454
|
-
|
490
|
+
3, 68, :_reduce_60,
|
491
|
+
4, 68, :_reduce_61,
|
492
|
+
2, 68, :_reduce_62,
|
493
|
+
3, 68, :_reduce_63,
|
455
494
|
1, 68, :_reduce_none,
|
456
495
|
1, 70, :_reduce_none,
|
457
496
|
1, 70, :_reduce_none,
|
@@ -466,23 +505,23 @@ racc_reduce_table = [
|
|
466
505
|
1, 72, :_reduce_none,
|
467
506
|
1, 73, :_reduce_none,
|
468
507
|
1, 73, :_reduce_none,
|
469
|
-
2, 74, :
|
470
|
-
3, 74, :
|
471
|
-
3, 76, :
|
472
|
-
1, 76, :
|
473
|
-
2, 75, :
|
474
|
-
3, 75, :
|
475
|
-
3, 77, :
|
476
|
-
1, 77, :
|
477
|
-
3, 78, :
|
478
|
-
3,
|
479
|
-
1,
|
480
|
-
1,
|
481
|
-
1, 69, :
|
482
|
-
3, 69, :
|
483
|
-
4, 69, :
|
484
|
-
|
485
|
-
racc_reduce_n =
|
508
|
+
2, 74, :_reduce_78,
|
509
|
+
3, 74, :_reduce_79,
|
510
|
+
3, 76, :_reduce_80,
|
511
|
+
1, 76, :_reduce_81,
|
512
|
+
2, 75, :_reduce_82,
|
513
|
+
3, 75, :_reduce_83,
|
514
|
+
3, 77, :_reduce_84,
|
515
|
+
1, 77, :_reduce_85,
|
516
|
+
3, 78, :_reduce_86,
|
517
|
+
3, 58, :_reduce_87,
|
518
|
+
1, 58, :_reduce_none,
|
519
|
+
1, 58, :_reduce_89,
|
520
|
+
1, 69, :_reduce_90,
|
521
|
+
3, 69, :_reduce_91,
|
522
|
+
4, 69, :_reduce_92 ]
|
523
|
+
|
524
|
+
racc_reduce_n = 93
|
486
525
|
|
487
526
|
racc_shift_n = 143
|
488
527
|
|
@@ -520,10 +559,10 @@ racc_token_table = {
|
|
520
559
|
:TCLOSE => 30,
|
521
560
|
:COMMAND => 31,
|
522
561
|
:IDENTIFER => 32,
|
523
|
-
:
|
524
|
-
:
|
525
|
-
:
|
526
|
-
:
|
562
|
+
:SUBCOMMAND => 33,
|
563
|
+
:BLOCK => 34,
|
564
|
+
:ENDBLOCK => 35,
|
565
|
+
:END => 36,
|
527
566
|
:ACLOSE => 37,
|
528
567
|
:POPEN => 38,
|
529
568
|
:PCLOSE => 39,
|
@@ -591,10 +630,10 @@ Racc_token_to_s_table = [
|
|
591
630
|
"TCLOSE",
|
592
631
|
"COMMAND",
|
593
632
|
"IDENTIFER",
|
633
|
+
"SUBCOMMAND",
|
594
634
|
"BLOCK",
|
595
635
|
"ENDBLOCK",
|
596
636
|
"END",
|
597
|
-
"SUBCOMMAND",
|
598
637
|
"ACLOSE",
|
599
638
|
"POPEN",
|
600
639
|
"PCLOSE",
|
@@ -611,21 +650,21 @@ Racc_token_to_s_table = [
|
|
611
650
|
"document",
|
612
651
|
"document_unit",
|
613
652
|
"template",
|
614
|
-
"command_tag",
|
615
|
-
"block_tag",
|
616
653
|
"tag",
|
654
|
+
"block_tag",
|
655
|
+
"command_tag",
|
617
656
|
"sequence",
|
618
|
-
"
|
657
|
+
"command_body",
|
658
|
+
"arguments",
|
659
|
+
"command",
|
660
|
+
"subcommand",
|
661
|
+
"subcommand_tag",
|
662
|
+
"block_body",
|
619
663
|
"block_open",
|
620
|
-
"assigned_block",
|
621
664
|
"block_close",
|
622
|
-
"
|
623
|
-
"
|
624
|
-
"
|
625
|
-
"subcommand",
|
626
|
-
"command",
|
627
|
-
"arguments",
|
628
|
-
"block",
|
665
|
+
"block_open_tag",
|
666
|
+
"block_close_tag",
|
667
|
+
"block_subnodes",
|
629
668
|
"expr",
|
630
669
|
"method",
|
631
670
|
"value",
|
@@ -638,7 +677,7 @@ Racc_token_to_s_table = [
|
|
638
677
|
"pairs",
|
639
678
|
"pair" ]
|
640
679
|
|
641
|
-
Racc_debug_parser =
|
680
|
+
Racc_debug_parser = false
|
642
681
|
|
643
682
|
##### State transition tables end #####
|
644
683
|
|
@@ -646,14 +685,14 @@ Racc_debug_parser = true
|
|
646
685
|
|
647
686
|
module_eval(<<'.,.,', 'parser.y', 54)
|
648
687
|
def _reduce_1(val, _values, result)
|
649
|
-
val[0].children.push(val[1])
|
688
|
+
pospoppush(2); val[0].children.push(val[1])
|
650
689
|
result
|
651
690
|
end
|
652
691
|
.,.,
|
653
692
|
|
654
693
|
module_eval(<<'.,.,', 'parser.y', 55)
|
655
694
|
def _reduce_2(val, _values, result)
|
656
|
-
result =
|
695
|
+
result = build Joiner, :JOINER, val[0], position: pospoppush(1)
|
657
696
|
result
|
658
697
|
end
|
659
698
|
.,.,
|
@@ -675,382 +714,406 @@ module_eval(<<'.,.,', 'parser.y', 58)
|
|
675
714
|
|
676
715
|
module_eval(<<'.,.,', 'parser.y', 59)
|
677
716
|
def _reduce_8(val, _values, result)
|
678
|
-
result =
|
717
|
+
result = build Tag, :TAG, mode: TAG_MODES[val[0]], position: pospoppush(2)
|
679
718
|
result
|
680
719
|
end
|
681
720
|
.,.,
|
682
721
|
|
683
|
-
module_eval(<<'.,.,', 'parser.y',
|
722
|
+
module_eval(<<'.,.,', 'parser.y', 61)
|
684
723
|
def _reduce_9(val, _values, result)
|
685
|
-
|
724
|
+
result = build Tag, :TAG, *Array.wrap(val[1]).flatten, mode: TAG_MODES[val[0]], position: pospoppush(3)
|
725
|
+
|
686
726
|
result
|
687
727
|
end
|
688
728
|
.,.,
|
689
729
|
|
690
|
-
module_eval(<<'.,.,', 'parser.y',
|
730
|
+
module_eval(<<'.,.,', 'parser.y', 64)
|
691
731
|
def _reduce_10(val, _values, result)
|
692
|
-
|
693
|
-
assign = val[1][:assign]
|
694
|
-
command.options[:mode] = TAG_MODES[val[0]]
|
695
|
-
command.options[:assign] = assign if assign
|
696
|
-
command.validate!
|
697
|
-
result = command
|
698
|
-
|
732
|
+
result = build @commands[val[0]] || Command, val[0], position: pospoppush(1)
|
699
733
|
result
|
700
734
|
end
|
701
735
|
.,.,
|
702
736
|
|
703
|
-
module_eval(<<'.,.,', 'parser.y',
|
737
|
+
module_eval(<<'.,.,', 'parser.y', 66)
|
704
738
|
def _reduce_11(val, _values, result)
|
705
|
-
|
706
|
-
|
707
|
-
block.options[:mode] = TAG_MODES[val[0]]
|
708
|
-
block.options[:assign] = assign if assign
|
709
|
-
result = block
|
710
|
-
|
739
|
+
result = build @commands[val[0]] || Command, val[0], *val[1], position: pospoppush(2)
|
740
|
+
|
711
741
|
result
|
712
742
|
end
|
713
743
|
.,.,
|
714
744
|
|
715
745
|
# reduce 12 omitted
|
716
746
|
|
717
|
-
module_eval(<<'.,.,', 'parser.y',
|
747
|
+
module_eval(<<'.,.,', 'parser.y', 70)
|
718
748
|
def _reduce_13(val, _values, result)
|
719
|
-
|
720
|
-
|
721
|
-
val[0].push(Joiner.build(:JOINER, val[1]))
|
722
|
-
|
749
|
+
result = build Assigner, val[0], val[2], position: pospoppush(3)
|
750
|
+
|
723
751
|
result
|
724
752
|
end
|
725
753
|
.,.,
|
726
754
|
|
727
|
-
module_eval(<<'.,.,', 'parser.y',
|
755
|
+
module_eval(<<'.,.,', 'parser.y', 73)
|
728
756
|
def _reduce_14(val, _values, result)
|
729
|
-
|
757
|
+
command = val[1].is_a?(Command) ? val[1] : val[1].children[0]
|
758
|
+
command.validate!
|
759
|
+
result = build Tag, :TAG, val[1], mode: TAG_MODES[val[0]], position: pospoppush(3)
|
760
|
+
|
730
761
|
result
|
731
762
|
end
|
732
763
|
.,.,
|
733
764
|
|
734
|
-
module_eval(<<'.,.,', 'parser.y',
|
765
|
+
module_eval(<<'.,.,', 'parser.y', 78)
|
735
766
|
def _reduce_15(val, _values, result)
|
736
|
-
result = [
|
767
|
+
result = build @substack.last[val[0]], val[0], position: pospoppush(1)
|
737
768
|
result
|
738
769
|
end
|
739
770
|
.,.,
|
740
771
|
|
741
|
-
module_eval(<<'.,.,', 'parser.y',
|
772
|
+
module_eval(<<'.,.,', 'parser.y', 80)
|
742
773
|
def _reduce_16(val, _values, result)
|
743
|
-
|
774
|
+
result = build @substack.last[val[0]], val[0], *val[1], position: pospoppush(2)
|
775
|
+
|
744
776
|
result
|
745
777
|
end
|
746
778
|
.,.,
|
747
779
|
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
def _reduce_18(val, _values, result)
|
752
|
-
val[0].options[:subnodes] = val[1]; val[0].validate!
|
780
|
+
module_eval(<<'.,.,', 'parser.y', 82)
|
781
|
+
def _reduce_17(val, _values, result)
|
782
|
+
pospoppush(3); result = val[1]
|
753
783
|
result
|
754
784
|
end
|
755
785
|
.,.,
|
756
786
|
|
757
|
-
module_eval(<<'.,.,', 'parser.y',
|
758
|
-
def
|
759
|
-
result = val[
|
787
|
+
module_eval(<<'.,.,', 'parser.y', 84)
|
788
|
+
def _reduce_18(val, _values, result)
|
789
|
+
result = build @blocks[val[0]] || Block, val[0], position: pospoppush(1)
|
760
790
|
result
|
761
791
|
end
|
762
792
|
.,.,
|
763
793
|
|
764
|
-
module_eval(<<'.,.,', 'parser.y',
|
765
|
-
def
|
766
|
-
|
794
|
+
module_eval(<<'.,.,', 'parser.y', 86)
|
795
|
+
def _reduce_19(val, _values, result)
|
796
|
+
result = build @blocks[val[0]] || Block, val[0], *val[1], position: pospoppush(2)
|
797
|
+
|
767
798
|
result
|
768
799
|
end
|
769
800
|
.,.,
|
770
801
|
|
771
|
-
|
802
|
+
# reduce 20 omitted
|
803
|
+
|
804
|
+
module_eval(<<'.,.,', 'parser.y', 90)
|
772
805
|
def _reduce_21(val, _values, result)
|
773
|
-
|
806
|
+
result = build Assigner, val[0], val[2], position: pospoppush(3)
|
807
|
+
|
774
808
|
result
|
775
809
|
end
|
776
810
|
.,.,
|
777
811
|
|
778
|
-
|
779
|
-
def _reduce_22(val, _values, result)
|
780
|
-
result = { command: val[0] }
|
781
|
-
result
|
782
|
-
end
|
783
|
-
.,.,
|
812
|
+
# reduce 22 omitted
|
784
813
|
|
785
814
|
module_eval(<<'.,.,', 'parser.y', 93)
|
786
815
|
def _reduce_23(val, _values, result)
|
787
|
-
|
816
|
+
pospoppush(2)
|
788
817
|
result
|
789
818
|
end
|
790
819
|
.,.,
|
791
820
|
|
792
|
-
|
793
|
-
def _reduce_24(val, _values, result)
|
794
|
-
result = Block.build val[0]
|
795
|
-
result
|
796
|
-
end
|
797
|
-
.,.,
|
821
|
+
# reduce 24 omitted
|
798
822
|
|
799
|
-
module_eval(<<'.,.,', 'parser.y',
|
823
|
+
module_eval(<<'.,.,', 'parser.y', 96)
|
800
824
|
def _reduce_25(val, _values, result)
|
801
|
-
|
825
|
+
result = build Tag, :TAG, val[1], mode: TAG_MODES[val[0]], position: pospoppush(3)
|
826
|
+
|
802
827
|
result
|
803
828
|
end
|
804
829
|
.,.,
|
805
830
|
|
806
|
-
module_eval(<<'.,.,', 'parser.y',
|
831
|
+
module_eval(<<'.,.,', 'parser.y', 98)
|
807
832
|
def _reduce_26(val, _values, result)
|
808
|
-
|
833
|
+
pospoppush(3)
|
809
834
|
result
|
810
835
|
end
|
811
836
|
.,.,
|
812
837
|
|
813
|
-
module_eval(<<'.,.,', 'parser.y',
|
838
|
+
module_eval(<<'.,.,', 'parser.y', 100)
|
814
839
|
def _reduce_27(val, _values, result)
|
815
|
-
|
840
|
+
pospoppush(2)
|
841
|
+
val[0][-1].is_a?(Joiner) ?
|
842
|
+
val[0][-1].children.push(val[1]) :
|
843
|
+
val[0].push(build(Joiner, :JOINER, val[1]))
|
844
|
+
|
816
845
|
result
|
817
846
|
end
|
818
847
|
.,.,
|
819
848
|
|
820
|
-
|
849
|
+
module_eval(<<'.,.,', 'parser.y', 105)
|
850
|
+
def _reduce_28(val, _values, result)
|
851
|
+
pospoppush(2); val[0].push(val[1])
|
852
|
+
result
|
853
|
+
end
|
854
|
+
.,.,
|
821
855
|
|
822
|
-
|
856
|
+
module_eval(<<'.,.,', 'parser.y', 106)
|
857
|
+
def _reduce_29(val, _values, result)
|
858
|
+
result = [build(Joiner, :JOINER, val[0], position: pospoppush(1))]
|
859
|
+
result
|
860
|
+
end
|
861
|
+
.,.,
|
823
862
|
|
824
|
-
module_eval(<<'.,.,', 'parser.y',
|
863
|
+
module_eval(<<'.,.,', 'parser.y', 107)
|
825
864
|
def _reduce_30(val, _values, result)
|
826
|
-
result =
|
865
|
+
result = [val[0]]
|
827
866
|
result
|
828
867
|
end
|
829
868
|
.,.,
|
830
869
|
|
831
|
-
module_eval(<<'.,.,', 'parser.y',
|
870
|
+
module_eval(<<'.,.,', 'parser.y', 109)
|
832
871
|
def _reduce_31(val, _values, result)
|
833
|
-
|
872
|
+
pospoppush(2)
|
873
|
+
block = val[0].children[0].is_a?(Block) ?
|
874
|
+
val[0].children[0] : val[0].children[0].children[0]
|
875
|
+
block.validate!
|
876
|
+
|
834
877
|
result
|
835
878
|
end
|
836
879
|
.,.,
|
837
880
|
|
838
|
-
module_eval(<<'.,.,', 'parser.y',
|
881
|
+
module_eval(<<'.,.,', 'parser.y', 115)
|
839
882
|
def _reduce_32(val, _values, result)
|
840
|
-
|
883
|
+
pospoppush(3)
|
884
|
+
block = val[0].children[0].is_a?(Block) ?
|
885
|
+
val[0].children[0] : val[0].children[0].children[0]
|
886
|
+
block.options[:subnodes] = val[1]
|
887
|
+
block.validate!
|
888
|
+
|
841
889
|
result
|
842
890
|
end
|
843
891
|
.,.,
|
844
892
|
|
845
|
-
|
893
|
+
module_eval(<<'.,.,', 'parser.y', 122)
|
894
|
+
def _reduce_33(val, _values, result)
|
895
|
+
pospoppush(2); result = val[0].push(val[2])
|
896
|
+
result
|
897
|
+
end
|
898
|
+
.,.,
|
846
899
|
|
847
|
-
module_eval(<<'.,.,', 'parser.y',
|
900
|
+
module_eval(<<'.,.,', 'parser.y', 123)
|
848
901
|
def _reduce_34(val, _values, result)
|
849
|
-
|
902
|
+
pospoppush(2)
|
850
903
|
result
|
851
904
|
end
|
852
905
|
.,.,
|
853
906
|
|
854
|
-
module_eval(<<'.,.,', 'parser.y',
|
907
|
+
module_eval(<<'.,.,', 'parser.y', 124)
|
855
908
|
def _reduce_35(val, _values, result)
|
856
|
-
result = []
|
909
|
+
pospoppush(2, 1); result = val[1]
|
857
910
|
result
|
858
911
|
end
|
859
912
|
.,.,
|
860
913
|
|
861
|
-
module_eval(<<'.,.,', 'parser.y',
|
914
|
+
module_eval(<<'.,.,', 'parser.y', 125)
|
862
915
|
def _reduce_36(val, _values, result)
|
863
|
-
result =
|
916
|
+
result = []
|
864
917
|
result
|
865
918
|
end
|
866
919
|
.,.,
|
867
920
|
|
868
|
-
|
921
|
+
module_eval(<<'.,.,', 'parser.y', 126)
|
922
|
+
def _reduce_37(val, _values, result)
|
923
|
+
pospoppush(2); result = val[0].push(val[2])
|
924
|
+
result
|
925
|
+
end
|
926
|
+
.,.,
|
869
927
|
|
870
|
-
module_eval(<<'.,.,', 'parser.y',
|
928
|
+
module_eval(<<'.,.,', 'parser.y', 127)
|
871
929
|
def _reduce_38(val, _values, result)
|
872
|
-
|
930
|
+
pospoppush(2)
|
873
931
|
result
|
874
932
|
end
|
875
933
|
.,.,
|
876
934
|
|
877
|
-
module_eval(<<'.,.,', 'parser.y',
|
935
|
+
module_eval(<<'.,.,', 'parser.y', 128)
|
878
936
|
def _reduce_39(val, _values, result)
|
879
|
-
result = []
|
937
|
+
pospoppush(2, 1); result = val[1]
|
880
938
|
result
|
881
939
|
end
|
882
940
|
.,.,
|
883
941
|
|
884
|
-
module_eval(<<'.,.,', 'parser.y',
|
942
|
+
module_eval(<<'.,.,', 'parser.y', 129)
|
885
943
|
def _reduce_40(val, _values, result)
|
886
|
-
result = [
|
944
|
+
result = []
|
887
945
|
result
|
888
946
|
end
|
889
947
|
.,.,
|
890
948
|
|
891
|
-
module_eval(<<'.,.,', 'parser.y',
|
949
|
+
module_eval(<<'.,.,', 'parser.y', 130)
|
892
950
|
def _reduce_41(val, _values, result)
|
893
|
-
result =
|
951
|
+
result = [val[0]]
|
894
952
|
result
|
895
953
|
end
|
896
954
|
.,.,
|
897
955
|
|
898
|
-
module_eval(<<'.,.,', 'parser.y',
|
956
|
+
module_eval(<<'.,.,', 'parser.y', 132)
|
899
957
|
def _reduce_42(val, _values, result)
|
900
|
-
result =
|
958
|
+
result = build Calculator, :MULTIPLY, val[0], val[2], position: pospoppush(3)
|
901
959
|
result
|
902
960
|
end
|
903
961
|
.,.,
|
904
962
|
|
905
|
-
module_eval(<<'.,.,', 'parser.y',
|
963
|
+
module_eval(<<'.,.,', 'parser.y', 133)
|
906
964
|
def _reduce_43(val, _values, result)
|
907
|
-
result =
|
965
|
+
result = build Calculator, :POWER, val[0], val[2], position: pospoppush(3)
|
908
966
|
result
|
909
967
|
end
|
910
968
|
.,.,
|
911
969
|
|
912
|
-
module_eval(<<'.,.,', 'parser.y',
|
970
|
+
module_eval(<<'.,.,', 'parser.y', 134)
|
913
971
|
def _reduce_44(val, _values, result)
|
914
|
-
result =
|
972
|
+
result = build Calculator, :DIVIDE, val[0], val[2], position: pospoppush(3)
|
915
973
|
result
|
916
974
|
end
|
917
975
|
.,.,
|
918
976
|
|
919
|
-
module_eval(<<'.,.,', 'parser.y',
|
977
|
+
module_eval(<<'.,.,', 'parser.y', 135)
|
920
978
|
def _reduce_45(val, _values, result)
|
921
|
-
result =
|
979
|
+
result = build Calculator, :PLUS, val[0], val[2], position: pospoppush(3)
|
922
980
|
result
|
923
981
|
end
|
924
982
|
.,.,
|
925
983
|
|
926
|
-
module_eval(<<'.,.,', 'parser.y',
|
984
|
+
module_eval(<<'.,.,', 'parser.y', 136)
|
927
985
|
def _reduce_46(val, _values, result)
|
928
|
-
result =
|
986
|
+
result = build Calculator, :MINUS, val[0], val[2], position: pospoppush(3)
|
929
987
|
result
|
930
988
|
end
|
931
989
|
.,.,
|
932
990
|
|
933
|
-
module_eval(<<'.,.,', 'parser.y',
|
991
|
+
module_eval(<<'.,.,', 'parser.y', 137)
|
934
992
|
def _reduce_47(val, _values, result)
|
935
|
-
result =
|
993
|
+
result = build Calculator, :MODULO, val[0], val[2], position: pospoppush(3)
|
936
994
|
result
|
937
995
|
end
|
938
996
|
.,.,
|
939
997
|
|
940
|
-
module_eval(<<'.,.,', 'parser.y',
|
998
|
+
module_eval(<<'.,.,', 'parser.y', 138)
|
941
999
|
def _reduce_48(val, _values, result)
|
942
|
-
result =
|
1000
|
+
result = build Calculator, :UMINUS, val[1], position: pospoppush(2)
|
943
1001
|
result
|
944
1002
|
end
|
945
1003
|
.,.,
|
946
1004
|
|
947
|
-
module_eval(<<'.,.,', 'parser.y',
|
1005
|
+
module_eval(<<'.,.,', 'parser.y', 139)
|
948
1006
|
def _reduce_49(val, _values, result)
|
949
|
-
result =
|
1007
|
+
result = build Calculator, :UPLUS, val[1], position: pospoppush(2)
|
950
1008
|
result
|
951
1009
|
end
|
952
1010
|
.,.,
|
953
1011
|
|
954
|
-
module_eval(<<'.,.,', 'parser.y',
|
1012
|
+
module_eval(<<'.,.,', 'parser.y', 140)
|
955
1013
|
def _reduce_50(val, _values, result)
|
956
|
-
result =
|
1014
|
+
result = build Calculator, :AND, val[0], val[2], position: pospoppush(3)
|
957
1015
|
result
|
958
1016
|
end
|
959
1017
|
.,.,
|
960
1018
|
|
961
|
-
module_eval(<<'.,.,', 'parser.y',
|
1019
|
+
module_eval(<<'.,.,', 'parser.y', 141)
|
962
1020
|
def _reduce_51(val, _values, result)
|
963
|
-
result =
|
1021
|
+
result = build Calculator, :OR, val[0], val[2], position: pospoppush(3)
|
964
1022
|
result
|
965
1023
|
end
|
966
1024
|
.,.,
|
967
1025
|
|
968
|
-
module_eval(<<'.,.,', 'parser.y',
|
1026
|
+
module_eval(<<'.,.,', 'parser.y', 142)
|
969
1027
|
def _reduce_52(val, _values, result)
|
970
|
-
result =
|
1028
|
+
result = build Calculator, :GT, val[0], val[2], position: pospoppush(3)
|
971
1029
|
result
|
972
1030
|
end
|
973
1031
|
.,.,
|
974
1032
|
|
975
|
-
module_eval(<<'.,.,', 'parser.y',
|
1033
|
+
module_eval(<<'.,.,', 'parser.y', 143)
|
976
1034
|
def _reduce_53(val, _values, result)
|
977
|
-
result =
|
1035
|
+
result = build Calculator, :GTE, val[0], val[2], position: pospoppush(3)
|
978
1036
|
result
|
979
1037
|
end
|
980
1038
|
.,.,
|
981
1039
|
|
982
|
-
module_eval(<<'.,.,', 'parser.y',
|
1040
|
+
module_eval(<<'.,.,', 'parser.y', 144)
|
983
1041
|
def _reduce_54(val, _values, result)
|
984
|
-
result =
|
1042
|
+
result = build Calculator, :LT, val[0], val[2], position: pospoppush(3)
|
985
1043
|
result
|
986
1044
|
end
|
987
1045
|
.,.,
|
988
1046
|
|
989
|
-
module_eval(<<'.,.,', 'parser.y',
|
1047
|
+
module_eval(<<'.,.,', 'parser.y', 145)
|
990
1048
|
def _reduce_55(val, _values, result)
|
991
|
-
result =
|
1049
|
+
result = build Calculator, :LTE, val[0], val[2], position: pospoppush(3)
|
992
1050
|
result
|
993
1051
|
end
|
994
1052
|
.,.,
|
995
1053
|
|
996
|
-
module_eval(<<'.,.,', 'parser.y',
|
1054
|
+
module_eval(<<'.,.,', 'parser.y', 146)
|
997
1055
|
def _reduce_56(val, _values, result)
|
998
|
-
result =
|
1056
|
+
result = build Calculator, :EQUAL, val[0], val[2], position: pospoppush(3)
|
999
1057
|
result
|
1000
1058
|
end
|
1001
1059
|
.,.,
|
1002
1060
|
|
1003
|
-
module_eval(<<'.,.,', 'parser.y',
|
1061
|
+
module_eval(<<'.,.,', 'parser.y', 147)
|
1004
1062
|
def _reduce_57(val, _values, result)
|
1005
|
-
result =
|
1063
|
+
result = build Calculator, :INEQUAL, val[0], val[2], position: pospoppush(3)
|
1006
1064
|
result
|
1007
1065
|
end
|
1008
1066
|
.,.,
|
1009
1067
|
|
1010
|
-
module_eval(<<'.,.,', 'parser.y',
|
1068
|
+
module_eval(<<'.,.,', 'parser.y', 148)
|
1011
1069
|
def _reduce_58(val, _values, result)
|
1012
|
-
result =
|
1070
|
+
result = build Calculator, :NOT, val[1], position: pospoppush(2)
|
1013
1071
|
result
|
1014
1072
|
end
|
1015
1073
|
.,.,
|
1016
1074
|
|
1017
|
-
module_eval(<<'.,.,', 'parser.y',
|
1075
|
+
module_eval(<<'.,.,', 'parser.y', 149)
|
1018
1076
|
def _reduce_59(val, _values, result)
|
1019
|
-
|
1077
|
+
result = build Assigner, val[0], val[2], position: pospoppush(3)
|
1020
1078
|
result
|
1021
1079
|
end
|
1022
1080
|
.,.,
|
1023
1081
|
|
1024
|
-
module_eval(<<'.,.,', 'parser.y',
|
1082
|
+
module_eval(<<'.,.,', 'parser.y', 150)
|
1025
1083
|
def _reduce_60(val, _values, result)
|
1026
|
-
|
1084
|
+
pospoppush(3); val[2].children[0] = val[0]; result = val[2]
|
1027
1085
|
result
|
1028
1086
|
end
|
1029
1087
|
.,.,
|
1030
1088
|
|
1031
|
-
module_eval(<<'.,.,', 'parser.y',
|
1089
|
+
module_eval(<<'.,.,', 'parser.y', 152)
|
1032
1090
|
def _reduce_61(val, _values, result)
|
1033
|
-
|
1091
|
+
result = build Summoner, 'manipulator_brackets', val[0], *val[2], position: pospoppush(4)
|
1092
|
+
|
1034
1093
|
result
|
1035
1094
|
end
|
1036
1095
|
.,.,
|
1037
1096
|
|
1038
|
-
module_eval(<<'.,.,', 'parser.y',
|
1097
|
+
module_eval(<<'.,.,', 'parser.y', 154)
|
1039
1098
|
def _reduce_62(val, _values, result)
|
1040
|
-
|
1041
|
-
when 0
|
1042
|
-
nil
|
1043
|
-
when 1
|
1044
|
-
val[1][0]
|
1045
|
-
else
|
1046
|
-
Sequencer.build :SEQUENCE, *val[1].flatten
|
1047
|
-
end
|
1048
|
-
|
1099
|
+
pospoppush(2); result = nil
|
1049
1100
|
result
|
1050
1101
|
end
|
1051
1102
|
.,.,
|
1052
1103
|
|
1053
|
-
|
1104
|
+
module_eval(<<'.,.,', 'parser.y', 156)
|
1105
|
+
def _reduce_63(val, _values, result)
|
1106
|
+
position = pospoppush(3)
|
1107
|
+
result = case val[1].size
|
1108
|
+
when 1
|
1109
|
+
val[1][0]
|
1110
|
+
else
|
1111
|
+
build Sequencer, :SEQUENCE, *val[1].flatten, position: position
|
1112
|
+
end
|
1113
|
+
|
1114
|
+
result
|
1115
|
+
end
|
1116
|
+
.,.,
|
1054
1117
|
|
1055
1118
|
# reduce 64 omitted
|
1056
1119
|
|
@@ -1078,102 +1141,105 @@ module_eval(<<'.,.,', 'parser.y', 135)
|
|
1078
1141
|
|
1079
1142
|
# reduce 76 omitted
|
1080
1143
|
|
1081
|
-
|
1082
|
-
def _reduce_77(val, _values, result)
|
1083
|
-
result = Arrayer.build :ARRAY
|
1084
|
-
result
|
1085
|
-
end
|
1086
|
-
.,.,
|
1144
|
+
# reduce 77 omitted
|
1087
1145
|
|
1088
|
-
module_eval(<<'.,.,', 'parser.y',
|
1146
|
+
module_eval(<<'.,.,', 'parser.y', 172)
|
1089
1147
|
def _reduce_78(val, _values, result)
|
1090
|
-
result =
|
1148
|
+
result = build Arrayer, :ARRAY, position: pospoppush(2)
|
1091
1149
|
result
|
1092
1150
|
end
|
1093
1151
|
.,.,
|
1094
1152
|
|
1095
|
-
module_eval(<<'.,.,', 'parser.y',
|
1153
|
+
module_eval(<<'.,.,', 'parser.y', 173)
|
1096
1154
|
def _reduce_79(val, _values, result)
|
1097
|
-
val[
|
1155
|
+
result = build Arrayer, :ARRAY, *val[1], position: pospoppush(3)
|
1098
1156
|
result
|
1099
1157
|
end
|
1100
1158
|
.,.,
|
1101
1159
|
|
1102
|
-
module_eval(<<'.,.,', 'parser.y',
|
1160
|
+
module_eval(<<'.,.,', 'parser.y', 174)
|
1103
1161
|
def _reduce_80(val, _values, result)
|
1104
|
-
|
1162
|
+
pospoppush(3); val[0].push(val[2])
|
1105
1163
|
result
|
1106
1164
|
end
|
1107
1165
|
.,.,
|
1108
1166
|
|
1109
|
-
module_eval(<<'.,.,', 'parser.y',
|
1167
|
+
module_eval(<<'.,.,', 'parser.y', 175)
|
1110
1168
|
def _reduce_81(val, _values, result)
|
1111
|
-
result =
|
1169
|
+
result = [val[0]]
|
1112
1170
|
result
|
1113
1171
|
end
|
1114
1172
|
.,.,
|
1115
1173
|
|
1116
|
-
module_eval(<<'.,.,', 'parser.y',
|
1174
|
+
module_eval(<<'.,.,', 'parser.y', 177)
|
1117
1175
|
def _reduce_82(val, _values, result)
|
1118
|
-
result =
|
1176
|
+
result = build Hasher, :HASH, position: pospoppush(2)
|
1119
1177
|
result
|
1120
1178
|
end
|
1121
1179
|
.,.,
|
1122
1180
|
|
1123
|
-
module_eval(<<'.,.,', 'parser.y',
|
1181
|
+
module_eval(<<'.,.,', 'parser.y', 178)
|
1124
1182
|
def _reduce_83(val, _values, result)
|
1125
|
-
val[
|
1183
|
+
result = build Hasher, :HASH, *val[1], position: pospoppush(3)
|
1126
1184
|
result
|
1127
1185
|
end
|
1128
1186
|
.,.,
|
1129
1187
|
|
1130
|
-
module_eval(<<'.,.,', 'parser.y',
|
1188
|
+
module_eval(<<'.,.,', 'parser.y', 179)
|
1131
1189
|
def _reduce_84(val, _values, result)
|
1132
|
-
|
1190
|
+
pospoppush(3); val[0].push(val[2])
|
1133
1191
|
result
|
1134
1192
|
end
|
1135
1193
|
.,.,
|
1136
1194
|
|
1137
|
-
module_eval(<<'.,.,', 'parser.y',
|
1195
|
+
module_eval(<<'.,.,', 'parser.y', 180)
|
1138
1196
|
def _reduce_85(val, _values, result)
|
1139
|
-
result =
|
1197
|
+
result = [val[0]]
|
1140
1198
|
result
|
1141
1199
|
end
|
1142
1200
|
.,.,
|
1143
1201
|
|
1144
|
-
module_eval(<<'.,.,', 'parser.y',
|
1202
|
+
module_eval(<<'.,.,', 'parser.y', 181)
|
1145
1203
|
def _reduce_86(val, _values, result)
|
1146
|
-
result =
|
1204
|
+
result = build Arrayer, :PAIR, val[0], val[2], position: pospoppush(3)
|
1147
1205
|
result
|
1148
1206
|
end
|
1149
1207
|
.,.,
|
1150
1208
|
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
def _reduce_88(val, _values, result)
|
1155
|
-
result = Hasher.build(:HASH, *val[0])
|
1209
|
+
module_eval(<<'.,.,', 'parser.y', 183)
|
1210
|
+
def _reduce_87(val, _values, result)
|
1211
|
+
result = [*val[0], build(Hasher, :HASH, *val[2], position: pospoppush(3))]
|
1156
1212
|
result
|
1157
1213
|
end
|
1158
1214
|
.,.,
|
1159
1215
|
|
1160
|
-
|
1216
|
+
# reduce 88 omitted
|
1217
|
+
|
1218
|
+
module_eval(<<'.,.,', 'parser.y', 185)
|
1161
1219
|
def _reduce_89(val, _values, result)
|
1162
|
-
result =
|
1220
|
+
result = build Hasher, :HASH, *val[0], position: pospoppush(1)
|
1163
1221
|
result
|
1164
1222
|
end
|
1165
1223
|
.,.,
|
1166
1224
|
|
1167
|
-
module_eval(<<'.,.,', 'parser.y',
|
1225
|
+
module_eval(<<'.,.,', 'parser.y', 186)
|
1168
1226
|
def _reduce_90(val, _values, result)
|
1169
|
-
result =
|
1227
|
+
result = build Summoner, val[0], position: pospoppush(1)
|
1170
1228
|
result
|
1171
1229
|
end
|
1172
1230
|
.,.,
|
1173
1231
|
|
1174
|
-
module_eval(<<'.,.,', 'parser.y',
|
1232
|
+
module_eval(<<'.,.,', 'parser.y', 187)
|
1175
1233
|
def _reduce_91(val, _values, result)
|
1176
|
-
result =
|
1234
|
+
result = build Summoner, val[0], position: pospoppush(3)
|
1235
|
+
result
|
1236
|
+
end
|
1237
|
+
.,.,
|
1238
|
+
|
1239
|
+
module_eval(<<'.,.,', 'parser.y', 189)
|
1240
|
+
def _reduce_92(val, _values, result)
|
1241
|
+
result = build Summoner, val[0], nil, *val[2], position: pospoppush(4)
|
1242
|
+
|
1177
1243
|
result
|
1178
1244
|
end
|
1179
1245
|
.,.,
|