taoism 1.0.2 → 1.0.3

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.
data/lib/taoism/parser.rb CHANGED
@@ -8,7 +8,7 @@ require 'racc/parser.rb'
8
8
  module Taoism
9
9
  class Parser < Racc::Parser
10
10
 
11
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 286)
11
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 293)
12
12
 
13
13
  attr_reader :errors
14
14
 
@@ -39,6 +39,14 @@ end
39
39
 
40
40
  private
41
41
 
42
+ def pipe_call(lhs, rhs, start, finish)
43
+ if rhs.is_a?(Nodes::Call)
44
+ Nodes::Call.new(rhs.callee, rhs.args + [lhs], start, finish)
45
+ else
46
+ Nodes::Call.new(rhs, [lhs], start, finish)
47
+ end
48
+ end
49
+
42
50
  def parse_int(tok)
43
51
  tok.lexeme.delete('_').to_i
44
52
  end
@@ -54,437 +62,440 @@ end
54
62
  ##### State transition tables begin ###
55
63
 
56
64
  racc_action_table = [
57
- 50, 28, 31, 30, 29, 32, 33, 167, 23, 174,
58
- 105, 165, 103, 62, 63, 104, 117, 72, 24, 71,
59
- 41, 3, 25, 175, 73, 148, 40, 51, 34, 64,
60
- 65, 66, 62, 63, 41, 44, 149, 147, 42, 45,
61
- 133, 62, 63, 68, 144, 135, 43, 146, 52, 28,
62
- 31, 30, 29, 32, 33, 166, 23, 58, 59, 60,
63
- 61, 72, 56, 71, 57, 72, 24, 71, 73, 46,
64
- 25, 48, 73, 49, 40, 53, 34, 54, 58, 59,
65
- 60, 61, 41, 56, 55, 57, 42, 13, 12, 11,
66
- 16, 15, 62, 63, 43, 28, 31, 30, 29, 32,
67
- 33, 80, 23, 64, 65, 66, 28, 31, 30, 29,
68
- 32, 33, 24, 23, 62, 63, 25, 64, 65, 66,
69
- 40, 81, 34, 24, 62, 63, 82, 25, 41, 62,
70
- 63, 40, 42, 34, 118, 104, 83, 68, 84, 41,
71
- 43, 85, 52, 42, 101, 102, 105, 107, 68, 109,
72
- 112, 43, 28, 31, 30, 29, 32, 33, 113, 23,
73
- 112, 117, 55, 28, 31, 30, 29, 32, 33, 24,
74
- 23, 119, 123, 25, 129, 130, 131, 40, 132, 34,
75
- 24, 136, 155, 156, 25, 41, 157, 105, 40, 42,
76
- 34, 159, 160, 105, 68, 117, 41, 43, 164, 105,
77
- 42, 170, 173, 176, 112, 68, 180, 181, 43, 28,
78
- 31, 30, 29, 32, 33, 182, 23, 183, 105, nil,
79
- 28, 31, 30, 29, 32, 33, 24, 23, nil, nil,
80
- 25, nil, nil, nil, 40, nil, 34, 24, nil, nil,
81
- nil, 25, 41, nil, nil, 40, 42, 34, nil, nil,
82
- nil, 68, nil, 41, 43, nil, nil, 42, nil, nil,
83
- nil, nil, 68, nil, nil, 43, 28, 31, 30, 29,
84
- 32, 33, nil, 23, nil, nil, nil, 28, 31, 30,
85
- 29, 32, 33, 24, nil, nil, nil, 25, nil, nil,
86
- nil, 40, nil, 34, nil, nil, nil, nil, nil, 41,
87
- nil, nil, 40, 42, 34, nil, nil, nil, 68, nil,
88
- 41, 43, nil, nil, 42, nil, nil, nil, nil, 68,
89
- nil, nil, 43, 28, 31, 30, 29, 32, 33, nil,
90
- 23, nil, nil, nil, 28, 31, 30, 29, 32, 33,
91
- 24, 23, nil, nil, 25, nil, nil, nil, 40, nil,
92
- 34, 24, nil, nil, nil, 25, 41, nil, nil, 40,
93
- 42, 34, nil, nil, nil, 68, nil, 41, 43, nil,
94
- nil, 42, nil, nil, nil, nil, 68, nil, nil, 43,
95
- 28, 31, 30, 29, 32, 33, nil, 23, nil, nil,
96
- nil, 28, 31, 30, 29, 32, 33, 24, 23, nil,
97
- nil, 25, nil, nil, nil, 40, nil, 34, 24, nil,
98
- nil, nil, 25, 41, nil, nil, 40, 42, 34, nil,
99
- nil, nil, 68, nil, 41, 43, nil, nil, 42, nil,
100
- nil, nil, nil, 68, nil, nil, 43, 28, 31, 30,
101
- 29, 32, 33, nil, 23, nil, nil, nil, 28, 31,
102
- 30, 29, 32, 33, 24, 23, nil, nil, 25, nil,
103
- nil, nil, 40, nil, 34, 24, nil, nil, nil, 25,
104
- 41, nil, nil, 40, 42, 34, nil, nil, nil, 68,
105
- nil, 41, 43, nil, nil, 42, nil, nil, nil, nil,
106
- 68, nil, nil, 43, 28, 31, 30, 29, 32, 33,
107
- nil, 23, nil, nil, nil, 28, 31, 30, 29, 32,
108
- 33, 24, 23, nil, nil, 25, nil, nil, nil, 40,
109
- nil, 34, 24, nil, nil, nil, 25, 41, nil, nil,
110
- 40, 42, 34, nil, nil, nil, 68, nil, 41, 43,
111
- nil, nil, 42, nil, nil, nil, nil, 68, nil, nil,
112
- 43, 28, 31, 30, 29, 32, 33, nil, 23, nil,
113
- nil, nil, 28, 31, 30, 29, 32, 33, 24, 23,
114
- nil, nil, 25, nil, nil, nil, 40, nil, 34, 24,
115
- nil, nil, nil, 25, 41, nil, nil, 40, 42, 34,
116
- nil, nil, nil, 68, nil, 41, 43, nil, nil, 42,
117
- nil, nil, nil, nil, 68, nil, nil, 43, 28, 31,
118
- 30, 29, 32, 33, nil, 23, nil, nil, nil, 28,
119
- 31, 30, 29, 32, 33, 24, 23, nil, nil, 25,
120
- nil, nil, nil, 40, nil, 34, 24, nil, nil, nil,
121
- 25, 41, nil, nil, 40, 42, 34, nil, nil, nil,
122
- 68, nil, 41, 43, nil, nil, 42, nil, nil, nil,
123
- nil, 68, nil, nil, 43, 28, 31, 30, 29, 32,
124
- 33, nil, 23, nil, nil, nil, 28, 31, 30, 29,
125
- 32, 33, 24, 23, nil, nil, 25, nil, nil, nil,
126
- 40, nil, 34, 24, nil, nil, nil, 25, 41, nil,
127
- nil, 40, 42, 34, nil, nil, nil, 68, nil, 41,
128
- 43, nil, nil, 42, nil, nil, nil, nil, 68, nil,
129
- nil, 43, 28, 31, 30, 29, 32, 33, nil, 23,
130
- nil, nil, nil, 28, 31, 30, 29, 32, 33, 24,
131
- 23, nil, nil, 25, nil, nil, nil, 40, nil, 34,
132
- 24, nil, nil, nil, 25, 41, nil, nil, 40, 42,
133
- 34, nil, nil, nil, 68, nil, 41, 43, nil, nil,
134
- 42, nil, nil, nil, nil, 68, nil, nil, 43, 28,
135
- 31, 30, 29, 32, 33, nil, 23, nil, nil, nil,
136
- nil, nil, nil, nil, nil, nil, 24, nil, nil, nil,
137
- 25, nil, nil, nil, 40, nil, 34, nil, nil, nil,
138
- nil, nil, 41, nil, nil, nil, 42, nil, nil, nil,
139
- nil, 68, nil, nil, 43, 28, 31, 30, 29, 32,
140
- 33, nil, 23, nil, nil, nil, nil, nil, nil, nil,
141
- nil, nil, 24, nil, nil, nil, 25, nil, nil, nil,
142
- 40, nil, 34, nil, nil, nil, nil, nil, 41, 128,
143
- nil, nil, 42, nil, nil, nil, nil, 68, nil, nil,
144
- 43, 28, 31, 30, 29, 32, 33, nil, 23, nil,
145
- nil, nil, 28, 31, 30, 29, 32, 33, 24, 23,
146
- nil, nil, 25, nil, nil, 152, 40, nil, 34, 24,
147
- nil, nil, nil, 25, 41, 128, nil, 40, 42, 34,
148
- nil, nil, nil, 68, nil, 41, 43, nil, nil, 42,
149
- nil, nil, nil, nil, 68, nil, nil, 43, 28, 31,
150
- 30, 29, 32, 33, nil, 23, nil, nil, nil, 28,
151
- 31, 30, 29, 32, 33, 24, 23, nil, nil, 25,
152
- nil, nil, nil, 40, nil, 34, 24, nil, nil, nil,
153
- 25, 41, nil, nil, 40, 42, 34, nil, nil, nil,
154
- 68, nil, 41, 43, nil, nil, 42, nil, nil, nil,
155
- nil, 68, nil, nil, 43, 28, 31, 30, 29, 32,
156
- 33, nil, 23, nil, nil, nil, 28, 31, 30, 29,
157
- 32, 33, 24, 23, nil, nil, 25, nil, nil, nil,
158
- 40, nil, 34, 24, nil, nil, nil, 25, 41, nil,
159
- nil, 40, 42, 34, nil, nil, nil, 68, nil, 41,
160
- 43, nil, nil, 42, nil, nil, nil, nil, 68, nil,
161
- nil, 43, 28, 31, 30, 29, 32, 33, nil, 23,
162
- nil, nil, nil, 28, 31, 30, 29, 32, 33, 24,
163
- 23, nil, nil, 25, nil, nil, nil, 40, nil, 34,
164
- 24, nil, nil, nil, 25, 41, nil, nil, 40, 42,
165
- 34, nil, nil, nil, 68, nil, 41, 43, nil, nil,
166
- 42, nil, nil, nil, nil, 68, nil, nil, 43, 28,
167
- 31, 30, 29, 32, 33, nil, 23, nil, nil, nil,
168
- nil, nil, nil, nil, nil, nil, 24, nil, nil, nil,
169
- 25, nil, nil, nil, 40, nil, 34, nil, nil, nil,
170
- nil, nil, 41, nil, nil, nil, 42, nil, nil, nil,
171
- nil, 68, nil, nil, 43 ]
65
+ 51, 29, 32, 31, 30, 33, 34, 170, 24, 179,
66
+ 110, 3, 74, 108, 73, 45, 109, 46, 25, 75,
67
+ 76, 42, 26, 180, 47, 153, 41, 52, 35, 29,
68
+ 32, 31, 30, 33, 34, 42, 24, 154, 152, 43,
69
+ 66, 67, 68, 49, 70, 149, 25, 44, 151, 53,
70
+ 26, 50, 171, 54, 41, 55, 35, 29, 32, 31,
71
+ 30, 33, 34, 42, 24, 64, 65, 43, 13, 12,
72
+ 11, 16, 15, 56, 25, 44, 64, 65, 26, 57,
73
+ 122, 83, 41, 84, 35, 29, 32, 31, 30, 33,
74
+ 34, 42, 24, 64, 65, 43, 66, 67, 68, 85,
75
+ 70, 86, 25, 44, 138, 87, 26, 64, 65, 140,
76
+ 41, 88, 35, 29, 32, 31, 30, 33, 34, 42,
77
+ 24, 64, 65, 43, 53, 74, 105, 73, 70, 106,
78
+ 25, 44, 75, 76, 26, 66, 67, 68, 41, 107,
79
+ 35, 29, 32, 31, 30, 33, 34, 42, 24, 64,
80
+ 65, 43, 110, 74, 112, 73, 70, 114, 25, 44,
81
+ 75, 76, 26, 64, 65, 117, 41, 118, 35, 29,
82
+ 32, 31, 30, 33, 34, 42, 24, 123, 109, 43,
83
+ 117, 122, 57, 124, 70, 128, 25, 44, 134, 135,
84
+ 26, 136, 137, 141, 41, 160, 35, 29, 32, 31,
85
+ 30, 33, 34, 42, 24, 161, 162, 43, 110, 164,
86
+ 165, 110, 70, 122, 25, 44, 169, 110, 26, 175,
87
+ 178, 181, 41, 117, 35, 29, 32, 31, 30, 33,
88
+ 34, 42, 24, 185, 186, 43, 187, 188, 110, nil,
89
+ 70, nil, 25, 44, nil, nil, 26, nil, nil, nil,
90
+ 41, nil, 35, 29, 32, 31, 30, 33, 34, 42,
91
+ nil, nil, nil, 43, nil, nil, nil, nil, 70, nil,
92
+ nil, 44, 60, 61, 62, 63, nil, 58, 41, 59,
93
+ 35, 29, 32, 31, 30, 33, 34, 42, nil, nil,
94
+ nil, 43, nil, nil, nil, nil, 70, nil, nil, 44,
95
+ 60, 61, 62, 63, nil, 58, 41, 59, 35, 29,
96
+ 32, 31, 30, 33, 34, 42, 24, nil, nil, 43,
97
+ nil, nil, nil, nil, 70, nil, 25, 44, nil, nil,
98
+ 26, nil, nil, nil, 41, nil, 35, 29, 32, 31,
99
+ 30, 33, 34, 42, 24, nil, nil, 43, nil, nil,
100
+ nil, nil, 70, nil, 25, 44, nil, nil, 26, nil,
101
+ nil, nil, 41, nil, 35, 29, 32, 31, 30, 33,
102
+ 34, 42, 24, nil, nil, 43, nil, nil, nil, nil,
103
+ 70, nil, 25, 44, nil, nil, 26, nil, nil, nil,
104
+ 41, nil, 35, 29, 32, 31, 30, 33, 34, 42,
105
+ 24, nil, nil, 43, nil, nil, nil, nil, 70, nil,
106
+ 25, 44, nil, nil, 26, nil, nil, nil, 41, nil,
107
+ 35, 29, 32, 31, 30, 33, 34, 42, 24, nil,
108
+ nil, 43, nil, nil, nil, nil, 70, nil, 25, 44,
109
+ nil, nil, 26, nil, nil, nil, 41, nil, 35, 29,
110
+ 32, 31, 30, 33, 34, 42, 24, nil, nil, 43,
111
+ nil, nil, nil, nil, 70, nil, 25, 44, nil, nil,
112
+ 26, nil, nil, nil, 41, nil, 35, 29, 32, 31,
113
+ 30, 33, 34, 42, 24, nil, nil, 43, nil, nil,
114
+ nil, nil, 70, nil, 25, 44, nil, nil, 26, nil,
115
+ nil, nil, 41, nil, 35, 29, 32, 31, 30, 33,
116
+ 34, 42, 24, nil, nil, 43, nil, nil, nil, nil,
117
+ 70, nil, 25, 44, nil, nil, 26, nil, nil, nil,
118
+ 41, nil, 35, 29, 32, 31, 30, 33, 34, 42,
119
+ 24, nil, nil, 43, nil, nil, nil, nil, 70, nil,
120
+ 25, 44, nil, nil, 26, nil, nil, nil, 41, nil,
121
+ 35, 29, 32, 31, 30, 33, 34, 42, 24, nil,
122
+ nil, 43, nil, nil, nil, nil, 70, nil, 25, 44,
123
+ nil, nil, 26, nil, nil, nil, 41, nil, 35, 29,
124
+ 32, 31, 30, 33, 34, 42, 24, nil, nil, 43,
125
+ nil, nil, nil, nil, 70, nil, 25, 44, nil, nil,
126
+ 26, nil, nil, nil, 41, nil, 35, 29, 32, 31,
127
+ 30, 33, 34, 42, 24, nil, nil, 43, nil, nil,
128
+ nil, nil, 70, nil, 25, 44, nil, nil, 26, nil,
129
+ nil, nil, 41, nil, 35, 29, 32, 31, 30, 33,
130
+ 34, 42, 24, nil, nil, 43, nil, nil, nil, nil,
131
+ 70, nil, 25, 44, nil, nil, 26, nil, nil, nil,
132
+ 41, nil, 35, 29, 32, 31, 30, 33, 34, 42,
133
+ 24, nil, nil, 43, nil, nil, nil, nil, 70, nil,
134
+ 25, 44, nil, nil, 26, nil, nil, nil, 41, nil,
135
+ 35, 29, 32, 31, 30, 33, 34, 42, 24, nil,
136
+ nil, 43, nil, nil, nil, nil, 70, nil, 25, 44,
137
+ nil, nil, 26, nil, nil, nil, 41, nil, 35, 29,
138
+ 32, 31, 30, 33, 34, 42, 24, nil, nil, 43,
139
+ nil, nil, nil, nil, 70, nil, 25, 44, nil, nil,
140
+ 26, nil, nil, nil, 41, nil, 35, 29, 32, 31,
141
+ 30, 33, 34, 42, 24, nil, nil, 43, nil, nil,
142
+ nil, nil, 70, nil, 25, 44, nil, nil, 26, nil,
143
+ nil, nil, 41, nil, 35, 29, 32, 31, 30, 33,
144
+ 34, 42, 24, nil, nil, 43, nil, 172, nil, nil,
145
+ 70, nil, 25, 44, nil, nil, 26, 74, nil, 73,
146
+ 41, nil, 35, nil, 75, 76, nil, nil, nil, 42,
147
+ 133, nil, nil, 43, nil, nil, nil, nil, 70, nil,
148
+ nil, 44, 29, 32, 31, 30, 33, 34, nil, 24,
149
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 25,
150
+ nil, nil, nil, 26, nil, nil, 157, 41, nil, 35,
151
+ nil, nil, nil, nil, nil, nil, 42, 133, nil, nil,
152
+ 43, nil, nil, nil, nil, 70, nil, nil, 44, 29,
153
+ 32, 31, 30, 33, 34, nil, 24, nil, nil, nil,
154
+ nil, nil, nil, nil, nil, nil, 25, nil, nil, nil,
155
+ 26, nil, nil, nil, 41, nil, 35, 29, 32, 31,
156
+ 30, 33, 34, 42, 24, nil, nil, 43, nil, nil,
157
+ nil, nil, 70, nil, 25, 44, nil, nil, 26, nil,
158
+ nil, nil, 41, nil, 35, 29, 32, 31, 30, 33,
159
+ 34, 42, 24, nil, nil, 43, nil, nil, nil, nil,
160
+ 70, nil, 25, 44, nil, nil, 26, nil, nil, nil,
161
+ 41, nil, 35, 29, 32, 31, 30, 33, 34, 42,
162
+ 24, nil, nil, 43, nil, nil, nil, nil, 70, nil,
163
+ 25, 44, nil, nil, 26, nil, nil, nil, 41, nil,
164
+ 35, 29, 32, 31, 30, 33, 34, 42, 24, nil,
165
+ nil, 43, nil, nil, nil, nil, 70, nil, 25, 44,
166
+ nil, nil, 26, nil, nil, nil, 41, nil, 35, 29,
167
+ 32, 31, 30, 33, 34, 42, 24, nil, nil, 43,
168
+ nil, nil, nil, nil, 70, nil, 25, 44, nil, nil,
169
+ 26, nil, nil, nil, 41, nil, 35, 29, 32, 31,
170
+ 30, 33, 34, 42, 24, nil, nil, 43, nil, nil,
171
+ nil, nil, 70, nil, 25, 44, nil, nil, 26, nil,
172
+ nil, nil, 41, nil, 35, 29, 32, 31, 30, 33,
173
+ 34, 42, 24, nil, nil, 43, nil, nil, nil, nil,
174
+ 70, nil, 25, 44, nil, nil, 26, nil, nil, nil,
175
+ 41, nil, 35, nil, nil, nil, nil, nil, nil, 42,
176
+ nil, nil, nil, 43, nil, nil, nil, nil, 70, nil,
177
+ nil, 44 ]
172
178
 
173
179
  racc_action_check = [
174
- 15, 121, 121, 121, 121, 121, 121, 145, 121, 165,
175
- 123, 144, 75, 20, 20, 75, 115, 145, 121, 145,
176
- 123, 1, 121, 165, 145, 121, 121, 15, 121, 21,
177
- 21, 21, 88, 88, 121, 3, 121, 121, 121, 4,
178
- 115, 89, 89, 121, 121, 115, 121, 121, 15, 2,
179
- 2, 2, 2, 2, 2, 144, 2, 19, 19, 19,
180
- 19, 26, 19, 26, 19, 79, 2, 79, 26, 11,
181
- 2, 12, 79, 13, 2, 16, 2, 17, 87, 87,
182
- 87, 87, 2, 87, 18, 87, 2, 2, 2, 2,
183
- 2, 2, 90, 90, 2, 23, 23, 23, 23, 23,
184
- 23, 46, 23, 94, 94, 94, 24, 24, 24, 24,
185
- 24, 24, 23, 24, 91, 91, 23, 95, 95, 95,
186
- 23, 47, 23, 24, 92, 92, 50, 24, 23, 93,
187
- 93, 24, 23, 24, 99, 99, 51, 23, 52, 24,
188
- 23, 53, 68, 24, 73, 74, 77, 78, 24, 81,
189
- 82, 24, 25, 25, 25, 25, 25, 25, 83, 25,
190
- 84, 85, 86, 34, 34, 34, 34, 34, 34, 25,
191
- 34, 100, 106, 25, 110, 111, 113, 25, 114, 25,
192
- 34, 117, 125, 127, 34, 25, 128, 129, 34, 25,
193
- 34, 130, 131, 132, 25, 135, 34, 25, 137, 149,
194
- 34, 153, 160, 166, 173, 34, 175, 176, 34, 40,
195
- 40, 40, 40, 40, 40, 178, 40, 180, 182, nil,
196
- 41, 41, 41, 41, 41, 41, 40, 41, nil, nil,
197
- 40, nil, nil, nil, 40, nil, 40, 41, nil, nil,
198
- nil, 41, 40, nil, nil, 41, 40, 41, nil, nil,
199
- nil, 40, nil, 41, 40, nil, nil, 41, nil, nil,
200
- nil, nil, 41, nil, nil, 41, 42, 42, 42, 42,
201
- 42, 42, nil, 42, nil, nil, nil, 43, 43, 43,
202
- 43, 43, 43, 42, nil, nil, nil, 42, nil, nil,
203
- nil, 42, nil, 42, nil, nil, nil, nil, nil, 42,
204
- nil, nil, 43, 42, 43, nil, nil, nil, 42, nil,
205
- 43, 42, nil, nil, 43, nil, nil, nil, nil, 43,
206
- nil, nil, 43, 54, 54, 54, 54, 54, 54, nil,
207
- 54, nil, nil, nil, 55, 55, 55, 55, 55, 55,
208
- 54, 55, nil, nil, 54, nil, nil, nil, 54, nil,
209
- 54, 55, nil, nil, nil, 55, 54, nil, nil, 55,
210
- 54, 55, nil, nil, nil, 54, nil, 55, 54, nil,
211
- nil, 55, nil, nil, nil, nil, 55, nil, nil, 55,
212
- 56, 56, 56, 56, 56, 56, nil, 56, nil, nil,
213
- nil, 57, 57, 57, 57, 57, 57, 56, 57, nil,
214
- nil, 56, nil, nil, nil, 56, nil, 56, 57, nil,
215
- nil, nil, 57, 56, nil, nil, 57, 56, 57, nil,
180
+ 15, 126, 126, 126, 126, 126, 126, 149, 126, 170,
181
+ 128, 1, 27, 78, 27, 3, 78, 4, 126, 27,
182
+ 27, 128, 126, 170, 11, 126, 126, 15, 126, 2,
183
+ 2, 2, 2, 2, 2, 126, 2, 126, 126, 126,
184
+ 22, 22, 22, 12, 126, 126, 2, 126, 126, 15,
185
+ 2, 13, 149, 16, 2, 17, 2, 24, 24, 24,
186
+ 24, 24, 24, 2, 24, 21, 21, 2, 2, 2,
187
+ 2, 2, 2, 18, 24, 2, 92, 92, 24, 19,
188
+ 120, 47, 24, 48, 24, 25, 25, 25, 25, 25,
189
+ 25, 24, 25, 93, 93, 24, 98, 98, 98, 51,
190
+ 24, 52, 25, 24, 120, 53, 25, 94, 94, 120,
191
+ 25, 54, 25, 26, 26, 26, 26, 26, 26, 25,
192
+ 26, 95, 95, 25, 70, 82, 75, 82, 25, 76,
193
+ 26, 25, 82, 82, 26, 99, 99, 99, 26, 77,
194
+ 26, 35, 35, 35, 35, 35, 35, 26, 35, 96,
195
+ 96, 26, 80, 89, 81, 89, 26, 84, 35, 26,
196
+ 89, 89, 35, 97, 97, 85, 35, 86, 35, 41,
197
+ 41, 41, 41, 41, 41, 35, 41, 103, 103, 35,
198
+ 87, 88, 90, 104, 35, 111, 41, 35, 115, 116,
199
+ 41, 118, 119, 122, 41, 130, 41, 42, 42, 42,
200
+ 42, 42, 42, 41, 42, 132, 133, 41, 134, 135,
201
+ 136, 137, 41, 140, 42, 41, 142, 154, 42, 158,
202
+ 165, 171, 42, 178, 42, 43, 43, 43, 43, 43,
203
+ 43, 42, 43, 180, 181, 42, 183, 185, 187, nil,
204
+ 42, nil, 43, 42, nil, nil, 43, nil, nil, nil,
205
+ 43, nil, 43, 44, 44, 44, 44, 44, 44, 43,
206
+ nil, nil, nil, 43, nil, nil, nil, nil, 43, nil,
207
+ nil, 43, 20, 20, 20, 20, nil, 20, 44, 20,
208
+ 44, 55, 55, 55, 55, 55, 55, 44, nil, nil,
209
+ nil, 44, nil, nil, nil, nil, 44, nil, nil, 44,
210
+ 91, 91, 91, 91, nil, 91, 55, 91, 55, 56,
211
+ 56, 56, 56, 56, 56, 55, 56, nil, nil, 55,
212
+ nil, nil, nil, nil, 55, nil, 56, 55, nil, nil,
213
+ 56, nil, nil, nil, 56, nil, 56, 57, 57, 57,
214
+ 57, 57, 57, 56, 57, nil, nil, 56, nil, nil,
216
215
  nil, nil, 56, nil, 57, 56, nil, nil, 57, nil,
217
- nil, nil, nil, 57, nil, nil, 57, 58, 58, 58,
218
- 58, 58, 58, nil, 58, nil, nil, nil, 59, 59,
219
- 59, 59, 59, 59, 58, 59, nil, nil, 58, nil,
220
- nil, nil, 58, nil, 58, 59, nil, nil, nil, 59,
221
- 58, nil, nil, 59, 58, 59, nil, nil, nil, 58,
222
- nil, 59, 58, nil, nil, 59, nil, nil, nil, nil,
223
- 59, nil, nil, 59, 60, 60, 60, 60, 60, 60,
224
- nil, 60, nil, nil, nil, 61, 61, 61, 61, 61,
225
- 61, 60, 61, nil, nil, 60, nil, nil, nil, 60,
226
- nil, 60, 61, nil, nil, nil, 61, 60, nil, nil,
227
- 61, 60, 61, nil, nil, nil, 60, nil, 61, 60,
228
- nil, nil, 61, nil, nil, nil, nil, 61, nil, nil,
229
- 61, 62, 62, 62, 62, 62, 62, nil, 62, nil,
230
- nil, nil, 63, 63, 63, 63, 63, 63, 62, 63,
231
- nil, nil, 62, nil, nil, nil, 62, nil, 62, 63,
232
- nil, nil, nil, 63, 62, nil, nil, 63, 62, 63,
233
- nil, nil, nil, 62, nil, 63, 62, nil, nil, 63,
234
- nil, nil, nil, nil, 63, nil, nil, 63, 64, 64,
235
- 64, 64, 64, 64, nil, 64, nil, nil, nil, 65,
236
- 65, 65, 65, 65, 65, 64, 65, nil, nil, 64,
237
- nil, nil, nil, 64, nil, 64, 65, nil, nil, nil,
238
- 65, 64, nil, nil, 65, 64, 65, nil, nil, nil,
239
- 64, nil, 65, 64, nil, nil, 65, nil, nil, nil,
240
- nil, 65, nil, nil, 65, 66, 66, 66, 66, 66,
241
- 66, nil, 66, nil, nil, nil, 71, 71, 71, 71,
242
- 71, 71, 66, 71, nil, nil, 66, nil, nil, nil,
243
- 66, nil, 66, 71, nil, nil, nil, 71, 66, nil,
244
- nil, 71, 66, 71, nil, nil, nil, 66, nil, 71,
245
- 66, nil, nil, 71, nil, nil, nil, nil, 71, nil,
246
- nil, 71, 72, 72, 72, 72, 72, 72, nil, 72,
247
- nil, nil, nil, 80, 80, 80, 80, 80, 80, 72,
248
- 80, nil, nil, 72, nil, nil, nil, 72, nil, 72,
249
- 80, nil, nil, nil, 80, 72, nil, nil, 80, 72,
250
- 80, nil, nil, nil, 72, nil, 80, 72, nil, nil,
251
- 80, nil, nil, nil, nil, 80, nil, nil, 80, 104,
252
- 104, 104, 104, 104, 104, nil, 104, nil, nil, nil,
253
- nil, nil, nil, nil, nil, nil, 104, nil, nil, nil,
254
- 104, nil, nil, nil, 104, nil, 104, nil, nil, nil,
255
- nil, nil, 104, nil, nil, nil, 104, nil, nil, nil,
256
- nil, 104, nil, nil, 104, 107, 107, 107, 107, 107,
257
- 107, nil, 107, nil, nil, nil, nil, nil, nil, nil,
258
- nil, nil, 107, nil, nil, nil, 107, nil, nil, nil,
259
- 107, nil, 107, nil, nil, nil, nil, nil, 107, 107,
260
- nil, nil, 107, nil, nil, nil, nil, 107, nil, nil,
261
- 107, 124, 124, 124, 124, 124, 124, nil, 124, nil,
262
- nil, nil, 136, 136, 136, 136, 136, 136, 124, 136,
263
- nil, nil, 124, nil, nil, 124, 124, nil, 124, 136,
264
- nil, nil, nil, 136, 124, 124, nil, 136, 124, 136,
265
- nil, nil, nil, 124, nil, 136, 124, nil, nil, 136,
266
- nil, nil, nil, nil, 136, nil, nil, 136, 146, 146,
267
- 146, 146, 146, 146, nil, 146, nil, nil, nil, 156,
268
- 156, 156, 156, 156, 156, 146, 156, nil, nil, 146,
269
- nil, nil, nil, 146, nil, 146, 156, nil, nil, nil,
270
- 156, 146, nil, nil, 156, 146, 156, nil, nil, nil,
271
- 146, nil, 156, 146, nil, nil, 156, nil, nil, nil,
272
- nil, 156, nil, nil, 156, 157, 157, 157, 157, 157,
273
- 157, nil, 157, nil, nil, nil, 167, 167, 167, 167,
274
- 167, 167, 157, 167, nil, nil, 157, nil, nil, nil,
275
- 157, nil, 157, 167, nil, nil, nil, 167, 157, nil,
276
- nil, 167, 157, 167, nil, nil, nil, 157, nil, 167,
277
- 157, nil, nil, 167, nil, nil, nil, nil, 167, nil,
278
- nil, 167, 174, 174, 174, 174, 174, 174, nil, 174,
279
- nil, nil, nil, 181, 181, 181, 181, 181, 181, 174,
280
- 181, nil, nil, 174, nil, nil, nil, 174, nil, 174,
281
- 181, nil, nil, nil, 181, 174, nil, nil, 181, 174,
282
- 181, nil, nil, nil, 174, nil, 181, 174, nil, nil,
283
- 181, nil, nil, nil, nil, 181, nil, nil, 181, 183,
284
- 183, 183, 183, 183, 183, nil, 183, nil, nil, nil,
285
- nil, nil, nil, nil, nil, nil, 183, nil, nil, nil,
286
- 183, nil, nil, nil, 183, nil, 183, nil, nil, nil,
287
- nil, nil, 183, nil, nil, nil, 183, nil, nil, nil,
288
- nil, 183, nil, nil, 183 ]
216
+ nil, nil, 57, nil, 57, 58, 58, 58, 58, 58,
217
+ 58, 57, 58, nil, nil, 57, nil, nil, nil, nil,
218
+ 57, nil, 58, 57, nil, nil, 58, nil, nil, nil,
219
+ 58, nil, 58, 59, 59, 59, 59, 59, 59, 58,
220
+ 59, nil, nil, 58, nil, nil, nil, nil, 58, nil,
221
+ 59, 58, nil, nil, 59, nil, nil, nil, 59, nil,
222
+ 59, 60, 60, 60, 60, 60, 60, 59, 60, nil,
223
+ nil, 59, nil, nil, nil, nil, 59, nil, 60, 59,
224
+ nil, nil, 60, nil, nil, nil, 60, nil, 60, 61,
225
+ 61, 61, 61, 61, 61, 60, 61, nil, nil, 60,
226
+ nil, nil, nil, nil, 60, nil, 61, 60, nil, nil,
227
+ 61, nil, nil, nil, 61, nil, 61, 62, 62, 62,
228
+ 62, 62, 62, 61, 62, nil, nil, 61, nil, nil,
229
+ nil, nil, 61, nil, 62, 61, nil, nil, 62, nil,
230
+ nil, nil, 62, nil, 62, 63, 63, 63, 63, 63,
231
+ 63, 62, 63, nil, nil, 62, nil, nil, nil, nil,
232
+ 62, nil, 63, 62, nil, nil, 63, nil, nil, nil,
233
+ 63, nil, 63, 64, 64, 64, 64, 64, 64, 63,
234
+ 64, nil, nil, 63, nil, nil, nil, nil, 63, nil,
235
+ 64, 63, nil, nil, 64, nil, nil, nil, 64, nil,
236
+ 64, 65, 65, 65, 65, 65, 65, 64, 65, nil,
237
+ nil, 64, nil, nil, nil, nil, 64, nil, 65, 64,
238
+ nil, nil, 65, nil, nil, nil, 65, nil, 65, 66,
239
+ 66, 66, 66, 66, 66, 65, 66, nil, nil, 65,
240
+ nil, nil, nil, nil, 65, nil, 66, 65, nil, nil,
241
+ 66, nil, nil, nil, 66, nil, 66, 67, 67, 67,
242
+ 67, 67, 67, 66, 67, nil, nil, 66, nil, nil,
243
+ nil, nil, 66, nil, 67, 66, nil, nil, 67, nil,
244
+ nil, nil, 67, nil, 67, 68, 68, 68, 68, 68,
245
+ 68, 67, 68, nil, nil, 67, nil, nil, nil, nil,
246
+ 67, nil, 68, 67, nil, nil, 68, nil, nil, nil,
247
+ 68, nil, 68, 73, 73, 73, 73, 73, 73, 68,
248
+ 73, nil, nil, 68, nil, nil, nil, nil, 68, nil,
249
+ 73, 68, nil, nil, 73, nil, nil, nil, 73, nil,
250
+ 73, 74, 74, 74, 74, 74, 74, 73, 74, nil,
251
+ nil, 73, nil, nil, nil, nil, 73, nil, 74, 73,
252
+ nil, nil, 74, nil, nil, nil, 74, nil, 74, 83,
253
+ 83, 83, 83, 83, 83, 74, 83, nil, nil, 74,
254
+ nil, nil, nil, nil, 74, nil, 83, 74, nil, nil,
255
+ 83, nil, nil, nil, 83, nil, 83, 109, 109, 109,
256
+ 109, 109, 109, 83, 109, nil, nil, 83, nil, nil,
257
+ nil, nil, 83, nil, 109, 83, nil, nil, 109, nil,
258
+ nil, nil, 109, nil, 109, 112, 112, 112, 112, 112,
259
+ 112, 109, 112, nil, nil, 109, nil, 150, nil, nil,
260
+ 109, nil, 112, 109, nil, nil, 112, 150, nil, 150,
261
+ 112, nil, 112, nil, 150, 150, nil, nil, nil, 112,
262
+ 112, nil, nil, 112, nil, nil, nil, nil, 112, nil,
263
+ nil, 112, 129, 129, 129, 129, 129, 129, nil, 129,
264
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 129,
265
+ nil, nil, nil, 129, nil, nil, 129, 129, nil, 129,
266
+ nil, nil, nil, nil, nil, nil, 129, 129, nil, nil,
267
+ 129, nil, nil, nil, nil, 129, nil, nil, 129, 141,
268
+ 141, 141, 141, 141, 141, nil, 141, nil, nil, nil,
269
+ nil, nil, nil, nil, nil, nil, 141, nil, nil, nil,
270
+ 141, nil, nil, nil, 141, nil, 141, 151, 151, 151,
271
+ 151, 151, 151, 141, 151, nil, nil, 141, nil, nil,
272
+ nil, nil, 141, nil, 151, 141, nil, nil, 151, nil,
273
+ nil, nil, 151, nil, 151, 161, 161, 161, 161, 161,
274
+ 161, 151, 161, nil, nil, 151, nil, nil, nil, nil,
275
+ 151, nil, 161, 151, nil, nil, 161, nil, nil, nil,
276
+ 161, nil, 161, 162, 162, 162, 162, 162, 162, 161,
277
+ 162, nil, nil, 161, nil, nil, nil, nil, 161, nil,
278
+ 162, 161, nil, nil, 162, nil, nil, nil, 162, nil,
279
+ 162, 172, 172, 172, 172, 172, 172, 162, 172, nil,
280
+ nil, 162, nil, nil, nil, nil, 162, nil, 172, 162,
281
+ nil, nil, 172, nil, nil, nil, 172, nil, 172, 179,
282
+ 179, 179, 179, 179, 179, 172, 179, nil, nil, 172,
283
+ nil, nil, nil, nil, 172, nil, 179, 172, nil, nil,
284
+ 179, nil, nil, nil, 179, nil, 179, 186, 186, 186,
285
+ 186, 186, 186, 179, 186, nil, nil, 179, nil, nil,
286
+ nil, nil, 179, nil, 186, 179, nil, nil, 186, nil,
287
+ nil, nil, 186, nil, 186, 188, 188, 188, 188, 188,
288
+ 188, 186, 188, nil, nil, 186, nil, nil, nil, nil,
289
+ 186, nil, 188, 186, nil, nil, 188, nil, nil, nil,
290
+ 188, nil, 188, nil, nil, nil, nil, nil, nil, 188,
291
+ nil, nil, nil, 188, nil, nil, nil, nil, 188, nil,
292
+ nil, 188 ]
289
293
 
290
294
  racc_action_pointer = [
291
- nil, 21, 46, 35, 5, nil, nil, nil, nil, nil,
292
- nil, 66, 68, 70, nil, -3, 72, 54, 62, 43,
293
- 4, 18, nil, 92, 103, 149, 33, nil, nil, nil,
294
- nil, nil, nil, nil, 160, nil, nil, nil, nil, nil,
295
- 206, 217, 263, 274, nil, nil, 83, 86, nil, nil,
296
- 96, 133, 108, 115, 320, 331, 377, 388, 434, 445,
297
- 491, 502, 548, 559, 605, 616, 662, nil, 91, nil,
298
- nil, 673, 719, 141, 114, -17, nil, 120, 121, 37,
299
- 730, 146, 147, 155, 157, 158, 140, 64, 23, 32,
300
- 83, 105, 115, 120, 92, 106, nil, nil, nil, 103,
301
- 142, nil, nil, nil, 776, nil, 135, 822, nil, nil,
302
- 143, 143, nil, 145, 147, 13, nil, 163, nil, nil,
303
- nil, -2, nil, -16, 868, 155, nil, 133, 136, 161,
304
- 188, 189, 167, nil, nil, 192, 879, 164, nil, nil,
305
- nil, nil, nil, nil, 8, -11, 925, nil, nil, 173,
306
- nil, nil, nil, 174, nil, nil, 936, 982, nil, nil,
307
- 172, nil, nil, nil, nil, -9, 200, 993, nil, nil,
308
- nil, nil, nil, 201, 1039, 203, 189, nil, 184, nil,
309
- 199, 1050, 192, 1096, nil, nil, nil ]
295
+ nil, 11, 26, 15, -17, nil, nil, nil, nil, nil,
296
+ nil, 21, 40, 48, nil, -3, 50, 30, 50, 57,
297
+ 258, 56, 29, nil, 54, 82, 110, -16, nil, nil,
298
+ nil, nil, nil, nil, nil, 138, nil, nil, nil, nil,
299
+ nil, 166, 194, 222, 250, nil, nil, 63, 48, nil,
300
+ nil, 69, 98, 75, 85, 278, 306, 334, 362, 390,
301
+ 418, 446, 474, 502, 530, 558, 586, 614, 642, nil,
302
+ 72, nil, nil, 670, 698, 123, 126, 108, -16, nil,
303
+ 126, 128, 97, 726, 154, 162, 164, 177, 178, 125,
304
+ 160, 286, 67, 84, 98, 112, 140, 154, 85, 124,
305
+ nil, nil, nil, 146, 154, nil, nil, nil, nil, 754,
306
+ nil, 147, 782, nil, nil, 157, 157, nil, 160, 161,
307
+ 77, nil, 175, nil, nil, nil, -2, nil, -16, 829,
308
+ 168, nil, 154, 155, 182, 206, 207, 185, nil, nil,
309
+ 210, 876, 182, nil, nil, nil, nil, nil, nil, 4,
310
+ 779, 904, nil, nil, 191, nil, nil, nil, 192, nil,
311
+ nil, 932, 960, nil, nil, 190, nil, nil, nil, nil,
312
+ -9, 218, 988, nil, nil, nil, nil, nil, 220, 1016,
313
+ 230, 216, nil, 205, nil, 219, 1044, 212, 1072, nil,
314
+ nil, nil ]
310
315
 
311
316
  racc_action_default = [
312
- -2, -103, -1, -103, -3, -5, -6, -7, -8, -9,
313
- -10, -103, -103, -103, -31, -103, -103, -46, -47, -49,
314
- -51, -58, -61, -103, -103, -103, -68, -69, -70, -74,
315
- -75, -76, -77, -78, -103, -80, -81, -82, -83, -84,
316
- -86, -103, -103, -103, 187, -4, -103, -25, -27, -26,
317
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
318
- -103, -103, -103, -103, -103, -103, -103, -65, -103, -66,
319
- -67, -86, -103, -103, -103, -103, -87, -103, -103, -101,
320
- -103, -103, -34, -103, -34, -39, -48, -50, -52, -53,
321
- -54, -55, -56, -57, -59, -60, -62, -63, -64, -103,
322
- -103, -73, -79, -85, -103, -11, -92, -103, -24, -28,
323
- -103, -35, -36, -103, -103, -103, -40, -43, -71, -72,
324
- -88, -103, -89, -103, -103, -103, -97, -103, -103, -103,
325
- -103, -103, -103, -38, -41, -103, -103, -12, -14, -15,
326
- -16, -17, -18, -19, -103, -68, -103, -30, -45, -103,
327
- -90, -91, -94, -103, -98, -96, -103, -103, -32, -37,
328
- -103, -102, -42, -44, -13, -103, -103, -103, -29, -93,
329
- -95, -99, -100, -34, -103, -103, -103, -23, -103, -20,
330
- -103, -103, -103, -103, -21, -33, -22 ]
317
+ -2, -106, -1, -106, -3, -5, -6, -7, -8, -9,
318
+ -10, -106, -106, -106, -31, -106, -106, -46, -47, -49,
319
+ -51, -53, -60, -63, -106, -106, -106, -70, -71, -72,
320
+ -77, -78, -79, -80, -81, -106, -83, -84, -85, -86,
321
+ -87, -89, -106, -106, -106, 192, -4, -106, -25, -27,
322
+ -26, -106, -106, -106, -106, -106, -106, -106, -106, -106,
323
+ -106, -106, -106, -106, -106, -106, -106, -106, -106, -67,
324
+ -106, -68, -69, -89, -106, -106, -106, -106, -106, -90,
325
+ -106, -106, -104, -106, -106, -34, -106, -34, -39, -48,
326
+ -50, -52, -54, -55, -56, -57, -58, -59, -61, -62,
327
+ -64, -65, -66, -106, -106, -75, -76, -82, -88, -106,
328
+ -11, -95, -106, -24, -28, -106, -35, -36, -106, -106,
329
+ -106, -40, -43, -73, -74, -91, -106, -92, -106, -106,
330
+ -106, -100, -106, -106, -106, -106, -106, -106, -38, -41,
331
+ -106, -106, -12, -14, -15, -16, -17, -18, -19, -106,
332
+ -70, -106, -30, -45, -106, -93, -94, -97, -106, -101,
333
+ -99, -106, -106, -32, -37, -106, -105, -42, -44, -13,
334
+ -106, -106, -106, -29, -96, -98, -102, -103, -34, -106,
335
+ -106, -106, -23, -106, -20, -106, -106, -106, -106, -21,
336
+ -33, -22 ]
331
337
 
332
338
  racc_goto_table = [
333
- 74, 10, 106, 110, 79, 114, 76, 77, 78, 116,
334
- 67, 69, 70, 75, 125, 126, 88, 89, 90, 91,
335
- 92, 93, 94, 95, 1, 2, 4, 5, 6, 7,
336
- 8, 153, 154, 9, 121, 137, 138, 76, 100, 134,
337
- 139, 140, 141, 142, 99, 47, 108, 115, 150, 86,
338
- 87, 96, 97, 98, 158, 151, 122, 161, 124, 162,
339
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
340
- 120, nil, nil, 127, 169, nil, nil, nil, nil, nil,
341
- nil, nil, 145, nil, nil, nil, nil, nil, nil, nil,
342
- 127, nil, nil, nil, 178, nil, nil, nil, nil, nil,
343
- nil, nil, 163, nil, nil, nil, nil, 185, nil, nil,
344
- nil, nil, 168, nil, nil, nil, nil, nil, nil, nil,
345
- 143, nil, 171, 172, nil, nil, nil, nil, nil, nil,
346
- nil, nil, nil, 177, nil, nil, nil, nil, nil, nil,
347
- 179, nil, nil, nil, nil, nil, nil, 184, nil, 186 ]
339
+ 77, 10, 111, 115, 82, 119, 79, 80, 81, 121,
340
+ 69, 71, 72, 78, 130, 89, 131, 92, 93, 94,
341
+ 95, 96, 97, 98, 99, 1, 2, 4, 5, 6,
342
+ 7, 158, 8, 159, 9, 126, 142, 143, 79, 104,
343
+ 144, 139, 145, 146, 147, 103, 48, 120, 113, 90,
344
+ 155, 91, 100, 101, 102, 156, 163, 127, 129, 166,
345
+ nil, 167, nil, nil, nil, nil, nil, nil, nil, nil,
346
+ nil, nil, nil, nil, 125, nil, 174, 132, nil, nil,
347
+ nil, nil, nil, nil, nil, nil, 150, nil, nil, nil,
348
+ nil, nil, nil, nil, 132, nil, 183, nil, nil, nil,
349
+ nil, nil, nil, nil, nil, nil, 168, nil, nil, 190,
350
+ nil, nil, nil, nil, nil, nil, 173, nil, nil, nil,
351
+ nil, nil, nil, nil, nil, 148, 176, 177, nil, nil,
352
+ nil, nil, nil, nil, nil, nil, nil, 182, nil, nil,
353
+ nil, nil, nil, nil, 184, nil, nil, nil, nil, nil,
354
+ nil, 189, nil, 191 ]
348
355
 
349
356
  racc_goto_check = [
350
357
  17, 9, 21, 20, 18, 20, 17, 17, 17, 24,
351
- 30, 30, 30, 32, 40, 41, 28, 28, 28, 28,
352
- 28, 28, 29, 29, 1, 2, 3, 4, 5, 6,
353
- 7, 40, 41, 8, 10, 11, 12, 17, 17, 24,
354
- 13, 14, 15, 16, 32, 19, 17, 23, 21, 26,
355
- 27, 30, 30, 30, 21, 34, 38, 21, 39, 24,
356
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
357
- 17, nil, nil, 17, 21, nil, nil, nil, nil, nil,
358
- nil, nil, 18, nil, nil, nil, nil, nil, nil, nil,
359
- 17, nil, nil, nil, 20, nil, nil, nil, nil, nil,
360
- nil, nil, 17, nil, nil, nil, nil, 21, nil, nil,
361
- nil, nil, 17, nil, nil, nil, nil, nil, nil, nil,
362
- 9, nil, 17, 17, nil, nil, nil, nil, nil, nil,
363
- nil, nil, nil, 17, nil, nil, nil, nil, nil, nil,
364
- 17, nil, nil, nil, nil, nil, nil, 17, nil, 17 ]
358
+ 31, 31, 31, 33, 41, 18, 42, 29, 29, 29,
359
+ 29, 29, 29, 30, 30, 1, 2, 3, 4, 5,
360
+ 6, 41, 7, 42, 8, 10, 11, 12, 17, 17,
361
+ 13, 24, 14, 15, 16, 33, 19, 23, 17, 27,
362
+ 21, 28, 31, 31, 31, 35, 21, 39, 40, 21,
363
+ nil, 24, nil, nil, nil, nil, nil, nil, nil, nil,
364
+ nil, nil, nil, nil, 17, nil, 21, 17, nil, nil,
365
+ nil, nil, nil, nil, nil, nil, 18, nil, nil, nil,
366
+ nil, nil, nil, nil, 17, nil, 20, nil, nil, nil,
367
+ nil, nil, nil, nil, nil, nil, 17, nil, nil, 21,
368
+ nil, nil, nil, nil, nil, nil, 17, nil, nil, nil,
369
+ nil, nil, nil, nil, nil, 9, 17, 17, nil, nil,
370
+ nil, nil, nil, nil, nil, nil, nil, 17, nil, nil,
371
+ nil, nil, nil, nil, 17, nil, nil, nil, nil, nil,
372
+ nil, 17, nil, 17 ]
365
373
 
366
374
  racc_goto_pointer = [
367
- nil, 24, 25, 24, 25, 26, 27, 28, 31, -1,
368
- -71, -86, -85, -81, -80, -79, -78, -34, -39, 33,
369
- -79, -75, nil, -38, -76, nil, -5, -5, -40, -40,
370
- -13, nil, -27, nil, -68, nil, nil, nil, -50, -49,
371
- -93, -92 ]
375
+ nil, 25, 26, 25, 26, 27, 28, 30, 32, -1,
376
+ -75, -90, -89, -86, -84, -83, -82, -35, -40, 34,
377
+ -82, -78, nil, -41, -79, nil, nil, -7, -6, -41,
378
+ -41, -14, nil, -28, nil, -73, nil, nil, nil, -54,
379
+ -54, -98, -96 ]
372
380
 
373
381
  racc_goto_default = [
374
382
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
375
- nil, nil, nil, nil, nil, nil, nil, 14, 26, nil,
376
- nil, nil, 111, nil, nil, 17, 18, 19, 20, 21,
377
- 22, 27, nil, 35, 36, 37, 38, 39, nil, nil,
378
- nil, nil ]
383
+ nil, nil, nil, nil, nil, nil, nil, 14, 27, nil,
384
+ nil, nil, 116, nil, nil, 17, 18, 19, 20, 21,
385
+ 22, 23, 28, nil, 36, 37, 38, 39, 40, nil,
386
+ nil, nil, nil ]
379
387
 
380
388
  racc_reduce_table = [
381
389
  0, 0, :racc_error,
382
- 1, 55, :_reduce_1,
383
- 0, 56, :_reduce_2,
384
- 2, 56, :_reduce_3,
385
- 3, 56, :_reduce_4,
386
- 1, 57, :_reduce_none,
387
- 1, 57, :_reduce_none,
388
- 1, 57, :_reduce_none,
389
- 1, 57, :_reduce_none,
390
- 1, 57, :_reduce_none,
391
- 1, 57, :_reduce_none,
392
- 0, 64, :_reduce_11,
393
- 2, 64, :_reduce_12,
394
- 3, 64, :_reduce_13,
395
- 1, 65, :_reduce_none,
396
- 1, 65, :_reduce_none,
397
- 1, 65, :_reduce_none,
398
- 1, 65, :_reduce_none,
399
- 1, 65, :_reduce_none,
400
- 1, 65, :_reduce_none,
401
- 4, 66, :_reduce_20,
402
- 5, 66, :_reduce_21,
403
- 6, 66, :_reduce_22,
404
- 3, 67, :_reduce_23,
405
- 4, 58, :_reduce_24,
406
- 2, 61, :_reduce_25,
407
- 2, 62, :_reduce_26,
408
- 1, 73, :_reduce_27,
409
- 3, 73, :_reduce_28,
410
- 2, 68, :_reduce_29,
411
- 1, 69, :_reduce_30,
412
- 1, 63, :_reduce_31,
413
- 6, 59, :_reduce_32,
414
- 10, 59, :_reduce_33,
415
- 0, 74, :_reduce_34,
416
- 1, 74, :_reduce_35,
417
- 1, 76, :_reduce_36,
418
- 3, 76, :_reduce_37,
419
- 5, 60, :_reduce_38,
420
- 0, 77, :_reduce_39,
421
- 1, 77, :_reduce_40,
422
- 2, 77, :_reduce_41,
423
- 3, 77, :_reduce_42,
424
- 1, 78, :_reduce_43,
425
- 3, 78, :_reduce_44,
426
- 3, 75, :_reduce_45,
427
- 1, 71, :_reduce_46,
428
- 1, 79, :_reduce_none,
429
- 3, 79, :_reduce_48,
390
+ 1, 56, :_reduce_1,
391
+ 0, 57, :_reduce_2,
392
+ 2, 57, :_reduce_3,
393
+ 3, 57, :_reduce_4,
394
+ 1, 58, :_reduce_none,
395
+ 1, 58, :_reduce_none,
396
+ 1, 58, :_reduce_none,
397
+ 1, 58, :_reduce_none,
398
+ 1, 58, :_reduce_none,
399
+ 1, 58, :_reduce_none,
400
+ 0, 65, :_reduce_11,
401
+ 2, 65, :_reduce_12,
402
+ 3, 65, :_reduce_13,
403
+ 1, 66, :_reduce_none,
404
+ 1, 66, :_reduce_none,
405
+ 1, 66, :_reduce_none,
406
+ 1, 66, :_reduce_none,
407
+ 1, 66, :_reduce_none,
408
+ 1, 66, :_reduce_none,
409
+ 4, 67, :_reduce_20,
410
+ 5, 67, :_reduce_21,
411
+ 6, 67, :_reduce_22,
412
+ 3, 68, :_reduce_23,
413
+ 4, 59, :_reduce_24,
414
+ 2, 62, :_reduce_25,
415
+ 2, 63, :_reduce_26,
416
+ 1, 74, :_reduce_27,
417
+ 3, 74, :_reduce_28,
418
+ 2, 69, :_reduce_29,
419
+ 1, 70, :_reduce_30,
420
+ 1, 64, :_reduce_31,
421
+ 6, 60, :_reduce_32,
422
+ 10, 60, :_reduce_33,
423
+ 0, 75, :_reduce_34,
424
+ 1, 75, :_reduce_35,
425
+ 1, 77, :_reduce_36,
426
+ 3, 77, :_reduce_37,
427
+ 5, 61, :_reduce_38,
428
+ 0, 78, :_reduce_39,
429
+ 1, 78, :_reduce_40,
430
+ 2, 78, :_reduce_41,
431
+ 3, 78, :_reduce_42,
432
+ 1, 79, :_reduce_43,
433
+ 3, 79, :_reduce_44,
434
+ 3, 76, :_reduce_45,
435
+ 1, 72, :_reduce_46,
430
436
  1, 80, :_reduce_none,
431
- 3, 80, :_reduce_50,
437
+ 3, 80, :_reduce_48,
432
438
  1, 81, :_reduce_none,
433
- 3, 81, :_reduce_52,
434
- 3, 81, :_reduce_53,
435
- 3, 81, :_reduce_54,
436
- 3, 81, :_reduce_55,
437
- 3, 81, :_reduce_56,
438
- 3, 81, :_reduce_57,
439
+ 3, 81, :_reduce_50,
439
440
  1, 82, :_reduce_none,
440
- 3, 82, :_reduce_59,
441
- 3, 82, :_reduce_60,
441
+ 3, 82, :_reduce_52,
442
442
  1, 83, :_reduce_none,
443
- 3, 83, :_reduce_62,
444
- 3, 83, :_reduce_63,
445
- 3, 83, :_reduce_64,
446
- 2, 84, :_reduce_65,
447
- 2, 84, :_reduce_66,
448
- 2, 84, :_reduce_67,
443
+ 3, 83, :_reduce_54,
444
+ 3, 83, :_reduce_55,
445
+ 3, 83, :_reduce_56,
446
+ 3, 83, :_reduce_57,
447
+ 3, 83, :_reduce_58,
448
+ 3, 83, :_reduce_59,
449
449
  1, 84, :_reduce_none,
450
- 1, 72, :_reduce_none,
451
- 1, 72, :_reduce_70,
452
- 4, 72, :_reduce_71,
453
- 4, 72, :_reduce_72,
454
- 3, 72, :_reduce_73,
455
- 1, 85, :_reduce_74,
456
- 1, 85, :_reduce_75,
457
- 1, 85, :_reduce_76,
458
- 1, 85, :_reduce_77,
459
- 1, 85, :_reduce_78,
460
- 3, 85, :_reduce_79,
450
+ 3, 84, :_reduce_61,
451
+ 3, 84, :_reduce_62,
461
452
  1, 85, :_reduce_none,
462
- 1, 85, :_reduce_none,
463
- 1, 85, :_reduce_none,
464
- 1, 85, :_reduce_none,
465
- 1, 85, :_reduce_none,
466
- 3, 87, :_reduce_85,
467
- 0, 86, :_reduce_86,
468
- 1, 86, :_reduce_87,
469
- 3, 86, :_reduce_88,
470
- 4, 88, :_reduce_89,
471
- 2, 92, :_reduce_90,
472
- 2, 92, :_reduce_91,
473
- 0, 92, :_reduce_92,
474
- 2, 70, :_reduce_93,
475
- 5, 89, :_reduce_94,
476
- 6, 89, :_reduce_95,
477
- 5, 89, :_reduce_96,
478
- 1, 93, :_reduce_97,
479
- 2, 93, :_reduce_98,
480
- 3, 95, :_reduce_99,
481
- 3, 94, :_reduce_100,
482
- 2, 90, :_reduce_101,
483
- 6, 91, :_reduce_102 ]
484
-
485
- racc_reduce_n = 103
486
-
487
- racc_shift_n = 187
453
+ 3, 85, :_reduce_64,
454
+ 3, 85, :_reduce_65,
455
+ 3, 85, :_reduce_66,
456
+ 2, 86, :_reduce_67,
457
+ 2, 86, :_reduce_68,
458
+ 2, 86, :_reduce_69,
459
+ 1, 86, :_reduce_none,
460
+ 1, 73, :_reduce_none,
461
+ 1, 73, :_reduce_72,
462
+ 4, 73, :_reduce_73,
463
+ 4, 73, :_reduce_74,
464
+ 3, 73, :_reduce_75,
465
+ 3, 73, :_reduce_76,
466
+ 1, 87, :_reduce_77,
467
+ 1, 87, :_reduce_78,
468
+ 1, 87, :_reduce_79,
469
+ 1, 87, :_reduce_80,
470
+ 1, 87, :_reduce_81,
471
+ 3, 87, :_reduce_82,
472
+ 1, 87, :_reduce_none,
473
+ 1, 87, :_reduce_none,
474
+ 1, 87, :_reduce_none,
475
+ 1, 87, :_reduce_none,
476
+ 1, 87, :_reduce_none,
477
+ 3, 89, :_reduce_88,
478
+ 0, 88, :_reduce_89,
479
+ 1, 88, :_reduce_90,
480
+ 3, 88, :_reduce_91,
481
+ 4, 90, :_reduce_92,
482
+ 2, 94, :_reduce_93,
483
+ 2, 94, :_reduce_94,
484
+ 0, 94, :_reduce_95,
485
+ 2, 71, :_reduce_96,
486
+ 5, 91, :_reduce_97,
487
+ 6, 91, :_reduce_98,
488
+ 5, 91, :_reduce_99,
489
+ 1, 95, :_reduce_100,
490
+ 2, 95, :_reduce_101,
491
+ 3, 97, :_reduce_102,
492
+ 3, 96, :_reduce_103,
493
+ 2, 92, :_reduce_104,
494
+ 6, 93, :_reduce_105 ]
495
+
496
+ racc_reduce_n = 106
497
+
498
+ racc_shift_n = 192
488
499
 
489
500
  racc_token_table = {
490
501
  false => 0,
@@ -523,26 +534,27 @@ racc_token_table = {
523
534
  :COLON => 33,
524
535
  :SEMI => 34,
525
536
  :DOT => 35,
526
- :IF => 36,
527
- :ELSE => 37,
528
- :LOOP => 38,
529
- :LEAVE => 39,
530
- :SWITCH => 40,
531
- :PACKAGE => 41,
532
- :IMPORT => 42,
533
- :CONST => 43,
534
- :DATA => 44,
535
- :FUN => 45,
536
- :LET => 46,
537
- :MUT => 47,
538
- :TRY => 48,
539
- :RETURN => 49,
540
- :EQARROW => 50,
541
- :ARROW => 51,
542
- :EOF => 52,
543
- :UMINUS => 53 }
544
-
545
- racc_nt_base = 54
537
+ :QDOT => 36,
538
+ :IF => 37,
539
+ :ELSE => 38,
540
+ :LOOP => 39,
541
+ :LEAVE => 40,
542
+ :SWITCH => 41,
543
+ :PACKAGE => 42,
544
+ :IMPORT => 43,
545
+ :CONST => 44,
546
+ :DATA => 45,
547
+ :FUN => 46,
548
+ :LET => 47,
549
+ :MUT => 48,
550
+ :TRY => 49,
551
+ :RETURN => 50,
552
+ :EQARROW => 51,
553
+ :ARROW => 52,
554
+ :EOF => 53,
555
+ :UMINUS => 54 }
556
+
557
+ racc_nt_base = 55
546
558
 
547
559
  racc_use_result_var = true
548
560
 
@@ -600,6 +612,7 @@ Racc_token_to_s_table = [
600
612
  "COLON",
601
613
  "SEMI",
602
614
  "DOT",
615
+ "QDOT",
603
616
  "IF",
604
617
  "ELSE",
605
618
  "LOOP",
@@ -643,6 +656,7 @@ Racc_token_to_s_table = [
643
656
  "param_list",
644
657
  "field_list",
645
658
  "field",
659
+ "pipe_expr",
646
660
  "or_expr",
647
661
  "and_expr",
648
662
  "cmp_expr",
@@ -956,17 +970,16 @@ module_eval(<<'.,.,', 'parser.y', 138)
956
970
 
957
971
  module_eval(<<'.,.,', 'parser.y', 142)
958
972
  def _reduce_48(val, _values, result)
959
- result = Nodes::BinaryOp.new(val[0], :or, val[2],
960
- val[0].start, val[2].end)
973
+ result = pipe_call(val[0], val[2], val[0].start, val[2].end)
961
974
  result
962
975
  end
963
976
  .,.,
964
977
 
965
978
  # reduce 49 omitted
966
979
 
967
- module_eval(<<'.,.,', 'parser.y', 147)
980
+ module_eval(<<'.,.,', 'parser.y', 146)
968
981
  def _reduce_50(val, _values, result)
969
- result = Nodes::BinaryOp.new(val[0], :and, val[2],
982
+ result = Nodes::BinaryOp.new(val[0], :or, val[2],
970
983
  val[0].start, val[2].end)
971
984
  result
972
985
  end
@@ -974,342 +987,360 @@ module_eval(<<'.,.,', 'parser.y', 147)
974
987
 
975
988
  # reduce 51 omitted
976
989
 
977
- module_eval(<<'.,.,', 'parser.y', 152)
990
+ module_eval(<<'.,.,', 'parser.y', 151)
978
991
  def _reduce_52(val, _values, result)
992
+ result = Nodes::BinaryOp.new(val[0], :and, val[2],
993
+ val[0].start, val[2].end)
994
+ result
995
+ end
996
+ .,.,
997
+
998
+ # reduce 53 omitted
999
+
1000
+ module_eval(<<'.,.,', 'parser.y', 156)
1001
+ def _reduce_54(val, _values, result)
979
1002
  result = Nodes::BinaryOp.new(val[0], :'==', val[2],
980
1003
  val[0].start, val[2].end)
981
1004
  result
982
1005
  end
983
1006
  .,.,
984
1007
 
985
- module_eval(<<'.,.,', 'parser.y', 155)
986
- def _reduce_53(val, _values, result)
1008
+ module_eval(<<'.,.,', 'parser.y', 159)
1009
+ def _reduce_55(val, _values, result)
987
1010
  result = Nodes::BinaryOp.new(val[0], :'!=', val[2],
988
1011
  val[0].start, val[2].end)
989
1012
  result
990
1013
  end
991
1014
  .,.,
992
1015
 
993
- module_eval(<<'.,.,', 'parser.y', 158)
994
- def _reduce_54(val, _values, result)
1016
+ module_eval(<<'.,.,', 'parser.y', 162)
1017
+ def _reduce_56(val, _values, result)
995
1018
  result = Nodes::BinaryOp.new(val[0], :'>', val[2],
996
1019
  val[0].start, val[2].end)
997
1020
  result
998
1021
  end
999
1022
  .,.,
1000
1023
 
1001
- module_eval(<<'.,.,', 'parser.y', 161)
1002
- def _reduce_55(val, _values, result)
1024
+ module_eval(<<'.,.,', 'parser.y', 165)
1025
+ def _reduce_57(val, _values, result)
1003
1026
  result = Nodes::BinaryOp.new(val[0], :'>=', val[2],
1004
1027
  val[0].start, val[2].end)
1005
1028
  result
1006
1029
  end
1007
1030
  .,.,
1008
1031
 
1009
- module_eval(<<'.,.,', 'parser.y', 164)
1010
- def _reduce_56(val, _values, result)
1032
+ module_eval(<<'.,.,', 'parser.y', 168)
1033
+ def _reduce_58(val, _values, result)
1011
1034
  result = Nodes::BinaryOp.new(val[0], :'<', val[2],
1012
1035
  val[0].start, val[2].end)
1013
1036
  result
1014
1037
  end
1015
1038
  .,.,
1016
1039
 
1017
- module_eval(<<'.,.,', 'parser.y', 167)
1018
- def _reduce_57(val, _values, result)
1040
+ module_eval(<<'.,.,', 'parser.y', 171)
1041
+ def _reduce_59(val, _values, result)
1019
1042
  result = Nodes::BinaryOp.new(val[0], :'<=', val[2],
1020
1043
  val[0].start, val[2].end)
1021
1044
  result
1022
1045
  end
1023
1046
  .,.,
1024
1047
 
1025
- # reduce 58 omitted
1048
+ # reduce 60 omitted
1026
1049
 
1027
- module_eval(<<'.,.,', 'parser.y', 172)
1028
- def _reduce_59(val, _values, result)
1050
+ module_eval(<<'.,.,', 'parser.y', 176)
1051
+ def _reduce_61(val, _values, result)
1029
1052
  result = Nodes::BinaryOp.new(val[0], :'+', val[2],
1030
1053
  val[0].start, val[2].end)
1031
1054
  result
1032
1055
  end
1033
1056
  .,.,
1034
1057
 
1035
- module_eval(<<'.,.,', 'parser.y', 175)
1036
- def _reduce_60(val, _values, result)
1058
+ module_eval(<<'.,.,', 'parser.y', 179)
1059
+ def _reduce_62(val, _values, result)
1037
1060
  result = Nodes::BinaryOp.new(val[0], :'-', val[2],
1038
1061
  val[0].start, val[2].end)
1039
1062
  result
1040
1063
  end
1041
1064
  .,.,
1042
1065
 
1043
- # reduce 61 omitted
1066
+ # reduce 63 omitted
1044
1067
 
1045
- module_eval(<<'.,.,', 'parser.y', 180)
1046
- def _reduce_62(val, _values, result)
1068
+ module_eval(<<'.,.,', 'parser.y', 184)
1069
+ def _reduce_64(val, _values, result)
1047
1070
  result = Nodes::BinaryOp.new(val[0], :'*', val[2],
1048
1071
  val[0].start, val[2].end)
1049
1072
  result
1050
1073
  end
1051
1074
  .,.,
1052
1075
 
1053
- module_eval(<<'.,.,', 'parser.y', 183)
1054
- def _reduce_63(val, _values, result)
1076
+ module_eval(<<'.,.,', 'parser.y', 187)
1077
+ def _reduce_65(val, _values, result)
1055
1078
  result = Nodes::BinaryOp.new(val[0], :'/', val[2],
1056
1079
  val[0].start, val[2].end)
1057
1080
  result
1058
1081
  end
1059
1082
  .,.,
1060
1083
 
1061
- module_eval(<<'.,.,', 'parser.y', 186)
1062
- def _reduce_64(val, _values, result)
1084
+ module_eval(<<'.,.,', 'parser.y', 190)
1085
+ def _reduce_66(val, _values, result)
1063
1086
  result = Nodes::BinaryOp.new(val[0], :'%', val[2],
1064
1087
  val[0].start, val[2].end)
1065
1088
  result
1066
1089
  end
1067
1090
  .,.,
1068
1091
 
1069
- module_eval(<<'.,.,', 'parser.y', 190)
1070
- def _reduce_65(val, _values, result)
1092
+ module_eval(<<'.,.,', 'parser.y', 194)
1093
+ def _reduce_67(val, _values, result)
1071
1094
  result = Nodes::UnaryOp.new(:'-', val[1],
1072
1095
  val[0].start, val[1].end)
1073
1096
  result
1074
1097
  end
1075
1098
  .,.,
1076
1099
 
1077
- module_eval(<<'.,.,', 'parser.y', 193)
1078
- def _reduce_66(val, _values, result)
1100
+ module_eval(<<'.,.,', 'parser.y', 197)
1101
+ def _reduce_68(val, _values, result)
1079
1102
  result = Nodes::UnaryOp.new(:'!', val[1],
1080
1103
  val[0].start, val[1].end)
1081
1104
  result
1082
1105
  end
1083
1106
  .,.,
1084
1107
 
1085
- module_eval(<<'.,.,', 'parser.y', 196)
1086
- def _reduce_67(val, _values, result)
1108
+ module_eval(<<'.,.,', 'parser.y', 200)
1109
+ def _reduce_69(val, _values, result)
1087
1110
  result = Nodes::UnaryOp.new(:'!', val[1],
1088
1111
  val[0].start, val[1].end)
1089
1112
  result
1090
1113
  end
1091
1114
  .,.,
1092
1115
 
1093
- # reduce 68 omitted
1116
+ # reduce 70 omitted
1094
1117
 
1095
- # reduce 69 omitted
1118
+ # reduce 71 omitted
1096
1119
 
1097
- module_eval(<<'.,.,', 'parser.y', 202)
1098
- def _reduce_70(val, _values, result)
1120
+ module_eval(<<'.,.,', 'parser.y', 206)
1121
+ def _reduce_72(val, _values, result)
1099
1122
  result = Nodes::Identifier.new(val[0].lexeme,
1100
1123
  val[0].start, val[0].end)
1101
1124
  result
1102
1125
  end
1103
1126
  .,.,
1104
1127
 
1105
- module_eval(<<'.,.,', 'parser.y', 205)
1106
- def _reduce_71(val, _values, result)
1128
+ module_eval(<<'.,.,', 'parser.y', 209)
1129
+ def _reduce_73(val, _values, result)
1107
1130
  result = Nodes::Call.new(val[0], val[2],
1108
1131
  val[0].start, val[3].end)
1109
1132
  result
1110
1133
  end
1111
1134
  .,.,
1112
1135
 
1113
- module_eval(<<'.,.,', 'parser.y', 208)
1114
- def _reduce_72(val, _values, result)
1136
+ module_eval(<<'.,.,', 'parser.y', 212)
1137
+ def _reduce_74(val, _values, result)
1115
1138
  result = Nodes::Index.new(val[0], val[2],
1116
1139
  val[0].start, val[3].end)
1117
1140
  result
1118
1141
  end
1119
1142
  .,.,
1120
1143
 
1121
- module_eval(<<'.,.,', 'parser.y', 211)
1122
- def _reduce_73(val, _values, result)
1144
+ module_eval(<<'.,.,', 'parser.y', 215)
1145
+ def _reduce_75(val, _values, result)
1123
1146
  result = Nodes::DotExpr.new(val[0], val[2].lexeme,
1124
1147
  val[0].start, val[2].end)
1125
1148
  result
1126
1149
  end
1127
1150
  .,.,
1128
1151
 
1129
- module_eval(<<'.,.,', 'parser.y', 215)
1130
- def _reduce_74(val, _values, result)
1152
+ module_eval(<<'.,.,', 'parser.y', 218)
1153
+ def _reduce_76(val, _values, result)
1154
+ result = Nodes::SafeDot.new(val[0], val[2].lexeme,
1155
+ val[0].start, val[2].end)
1156
+ result
1157
+ end
1158
+ .,.,
1159
+
1160
+ module_eval(<<'.,.,', 'parser.y', 222)
1161
+ def _reduce_77(val, _values, result)
1131
1162
  result = Nodes::IntLit.new(parse_int(val[0]),
1132
1163
  val[0].start, val[0].end)
1133
1164
  result
1134
1165
  end
1135
1166
  .,.,
1136
1167
 
1137
- module_eval(<<'.,.,', 'parser.y', 218)
1138
- def _reduce_75(val, _values, result)
1168
+ module_eval(<<'.,.,', 'parser.y', 225)
1169
+ def _reduce_78(val, _values, result)
1139
1170
  result = Nodes::FloatLit.new(parse_float(val[0]),
1140
1171
  val[0].start, val[0].end)
1141
1172
  result
1142
1173
  end
1143
1174
  .,.,
1144
1175
 
1145
- module_eval(<<'.,.,', 'parser.y', 221)
1146
- def _reduce_76(val, _values, result)
1176
+ module_eval(<<'.,.,', 'parser.y', 228)
1177
+ def _reduce_79(val, _values, result)
1147
1178
  result = Nodes::StringLit.new(parse_string(val[0]),
1148
1179
  val[0].start, val[0].end)
1149
1180
  result
1150
1181
  end
1151
1182
  .,.,
1152
1183
 
1153
- module_eval(<<'.,.,', 'parser.y', 224)
1154
- def _reduce_77(val, _values, result)
1184
+ module_eval(<<'.,.,', 'parser.y', 231)
1185
+ def _reduce_80(val, _values, result)
1155
1186
  result = Nodes::BoolLit.new(val[0].lexeme == 'True',
1156
1187
  val[0].start, val[0].end)
1157
1188
  result
1158
1189
  end
1159
1190
  .,.,
1160
1191
 
1161
- module_eval(<<'.,.,', 'parser.y', 227)
1162
- def _reduce_78(val, _values, result)
1192
+ module_eval(<<'.,.,', 'parser.y', 234)
1193
+ def _reduce_81(val, _values, result)
1163
1194
  result = Nodes::NoneLit.new(val[0].start, val[0].end)
1164
1195
  result
1165
1196
  end
1166
1197
  .,.,
1167
1198
 
1168
- module_eval(<<'.,.,', 'parser.y', 229)
1169
- def _reduce_79(val, _values, result)
1199
+ module_eval(<<'.,.,', 'parser.y', 236)
1200
+ def _reduce_82(val, _values, result)
1170
1201
  result = val[1]
1171
1202
  result
1172
1203
  end
1173
1204
  .,.,
1174
1205
 
1175
- # reduce 80 omitted
1206
+ # reduce 83 omitted
1176
1207
 
1177
- # reduce 81 omitted
1208
+ # reduce 84 omitted
1178
1209
 
1179
- # reduce 82 omitted
1210
+ # reduce 85 omitted
1180
1211
 
1181
- # reduce 83 omitted
1212
+ # reduce 86 omitted
1182
1213
 
1183
- # reduce 84 omitted
1214
+ # reduce 87 omitted
1184
1215
 
1185
- module_eval(<<'.,.,', 'parser.y', 237)
1186
- def _reduce_85(val, _values, result)
1216
+ module_eval(<<'.,.,', 'parser.y', 244)
1217
+ def _reduce_88(val, _values, result)
1187
1218
  result = Nodes::ListLit.new(val[1],
1188
1219
  val[0].start, val[2].end)
1189
1220
  result
1190
1221
  end
1191
1222
  .,.,
1192
1223
 
1193
- module_eval(<<'.,.,', 'parser.y', 240)
1194
- def _reduce_86(val, _values, result)
1224
+ module_eval(<<'.,.,', 'parser.y', 247)
1225
+ def _reduce_89(val, _values, result)
1195
1226
  result = []
1196
1227
  result
1197
1228
  end
1198
1229
  .,.,
1199
1230
 
1200
- module_eval(<<'.,.,', 'parser.y', 241)
1201
- def _reduce_87(val, _values, result)
1231
+ module_eval(<<'.,.,', 'parser.y', 248)
1232
+ def _reduce_90(val, _values, result)
1202
1233
  result = [val[0]]
1203
1234
  result
1204
1235
  end
1205
1236
  .,.,
1206
1237
 
1207
- module_eval(<<'.,.,', 'parser.y', 242)
1208
- def _reduce_88(val, _values, result)
1238
+ module_eval(<<'.,.,', 'parser.y', 249)
1239
+ def _reduce_91(val, _values, result)
1209
1240
  val[0] << val[2]; result = val[0]
1210
1241
  result
1211
1242
  end
1212
1243
  .,.,
1213
1244
 
1214
- module_eval(<<'.,.,', 'parser.y', 245)
1215
- def _reduce_89(val, _values, result)
1245
+ module_eval(<<'.,.,', 'parser.y', 252)
1246
+ def _reduce_92(val, _values, result)
1216
1247
  result = Nodes::If.new(val[1], val[2], val[3],
1217
1248
  val[0].start, val[3] ? val[3].end : val[2].end)
1218
1249
  result
1219
1250
  end
1220
1251
  .,.,
1221
1252
 
1222
- module_eval(<<'.,.,', 'parser.y', 248)
1223
- def _reduce_90(val, _values, result)
1253
+ module_eval(<<'.,.,', 'parser.y', 255)
1254
+ def _reduce_93(val, _values, result)
1224
1255
  result = val[1]
1225
1256
  result
1226
1257
  end
1227
1258
  .,.,
1228
1259
 
1229
- module_eval(<<'.,.,', 'parser.y', 249)
1230
- def _reduce_91(val, _values, result)
1260
+ module_eval(<<'.,.,', 'parser.y', 256)
1261
+ def _reduce_94(val, _values, result)
1231
1262
  result = val[1]
1232
1263
  result
1233
1264
  end
1234
1265
  .,.,
1235
1266
 
1236
- module_eval(<<'.,.,', 'parser.y', 250)
1237
- def _reduce_92(val, _values, result)
1267
+ module_eval(<<'.,.,', 'parser.y', 257)
1268
+ def _reduce_95(val, _values, result)
1238
1269
  result = nil
1239
1270
  result
1240
1271
  end
1241
1272
  .,.,
1242
1273
 
1243
- module_eval(<<'.,.,', 'parser.y', 253)
1244
- def _reduce_93(val, _values, result)
1274
+ module_eval(<<'.,.,', 'parser.y', 260)
1275
+ def _reduce_96(val, _values, result)
1245
1276
  result = Nodes::Loop.new(val[1], val[0].start, val[1].end)
1246
1277
  result
1247
1278
  end
1248
1279
  .,.,
1249
1280
 
1250
- module_eval(<<'.,.,', 'parser.y', 256)
1251
- def _reduce_94(val, _values, result)
1281
+ module_eval(<<'.,.,', 'parser.y', 263)
1282
+ def _reduce_97(val, _values, result)
1252
1283
  result = Nodes::Switch.new(val[1], val[3], nil,
1253
1284
  val[0].start, val[4].end)
1254
1285
  result
1255
1286
  end
1256
1287
  .,.,
1257
1288
 
1258
- module_eval(<<'.,.,', 'parser.y', 259)
1259
- def _reduce_95(val, _values, result)
1289
+ module_eval(<<'.,.,', 'parser.y', 266)
1290
+ def _reduce_98(val, _values, result)
1260
1291
  result = Nodes::Switch.new(val[1], val[3], val[4],
1261
1292
  val[0].start, val[5].end)
1262
1293
  result
1263
1294
  end
1264
1295
  .,.,
1265
1296
 
1266
- module_eval(<<'.,.,', 'parser.y', 262)
1267
- def _reduce_96(val, _values, result)
1297
+ module_eval(<<'.,.,', 'parser.y', 269)
1298
+ def _reduce_99(val, _values, result)
1268
1299
  result = Nodes::Switch.new(val[1], [], val[3],
1269
1300
  val[0].start, val[4].end)
1270
1301
  result
1271
1302
  end
1272
1303
  .,.,
1273
1304
 
1274
- module_eval(<<'.,.,', 'parser.y', 265)
1275
- def _reduce_97(val, _values, result)
1305
+ module_eval(<<'.,.,', 'parser.y', 272)
1306
+ def _reduce_100(val, _values, result)
1276
1307
  result = [val[0]]
1277
1308
  result
1278
1309
  end
1279
1310
  .,.,
1280
1311
 
1281
- module_eval(<<'.,.,', 'parser.y', 266)
1282
- def _reduce_98(val, _values, result)
1312
+ module_eval(<<'.,.,', 'parser.y', 273)
1313
+ def _reduce_101(val, _values, result)
1283
1314
  val[0] << val[1]; result = val[0]
1284
1315
  result
1285
1316
  end
1286
1317
  .,.,
1287
1318
 
1288
- module_eval(<<'.,.,', 'parser.y', 269)
1289
- def _reduce_99(val, _values, result)
1319
+ module_eval(<<'.,.,', 'parser.y', 276)
1320
+ def _reduce_102(val, _values, result)
1290
1321
  result = Nodes::SwitchArm.new(val[0], val[2],
1291
1322
  val[0].start, val[2].end)
1292
1323
  result
1293
1324
  end
1294
1325
  .,.,
1295
1326
 
1296
- module_eval(<<'.,.,', 'parser.y', 272)
1297
- def _reduce_100(val, _values, result)
1327
+ module_eval(<<'.,.,', 'parser.y', 279)
1328
+ def _reduce_103(val, _values, result)
1298
1329
  result = val[2]
1299
1330
  result
1300
1331
  end
1301
1332
  .,.,
1302
1333
 
1303
- module_eval(<<'.,.,', 'parser.y', 275)
1304
- def _reduce_101(val, _values, result)
1334
+ module_eval(<<'.,.,', 'parser.y', 282)
1335
+ def _reduce_104(val, _values, result)
1305
1336
  result = Nodes::Try.new(val[1],
1306
1337
  val[0].start, val[1].end)
1307
1338
  result
1308
1339
  end
1309
1340
  .,.,
1310
1341
 
1311
- module_eval(<<'.,.,', 'parser.y', 279)
1312
- def _reduce_102(val, _values, result)
1342
+ module_eval(<<'.,.,', 'parser.y', 286)
1343
+ def _reduce_105(val, _values, result)
1313
1344
  result = Nodes::FunDef.new(nil, val[3], val[5], nil,
1314
1345
  val[0].start, val[5].end)
1315
1346
  result