@@ -187,6 +187,22 @@ QAST::Operations.add_core_op('list', -> $qastcomp, $op {
187
187
$ ops
188
188
});
189
189
190
+ QAST ::Operations. add_core_op(' qlist' , -> $ qastcomp , $ op {
191
+ # Create register for the resulting list and make an empty one.
192
+ my $ list_reg := $ * REGALLOC . fresh_p();
193
+ my $ ops := $ qastcomp . post_new(' Ops' , : result($ list_reg ));
194
+ $ ops . push_pirop(' new' , $ list_reg , " 'QRPA'" );
195
+
196
+ # Push all the things.
197
+ for $ op . list {
198
+ my $ post := $ qastcomp . coerce($ qastcomp . as_post($ _ ), ' P' );
199
+ $ ops . push ($ post );
200
+ $ ops . push_pirop(' push' , $ list_reg , $ post . result);
201
+ }
202
+
203
+ $ ops
204
+ });
205
+
190
206
QAST ::Operations. add_core_op(' list_i' , -> $ qastcomp , $ op {
191
207
# Create register for the resulting list and make an empty one.
192
208
my $ list_reg := $ * REGALLOC . fresh_p();
@@ -1155,6 +1171,7 @@ QAST::Operations.add_core_pirop_mapping('lc', 'downcase', 'Ss');
1155
1171
QAST ::Operations. add_core_pirop_mapping(' uc' , ' upcase' , ' Ss' );
1156
1172
QAST ::Operations. add_core_pirop_mapping(' x' , ' repeat' , ' Ssi' );
1157
1173
QAST ::Operations. add_core_pirop_mapping(' iscclass' , ' is_cclass' , ' Iisi' );
1174
+ QAST ::Operations. add_core_pirop_mapping(' findnotcclass' , ' find_not_cclass' , ' Iisii' );
1158
1175
QAST ::Operations. add_core_pirop_mapping(' sprintf' , ' sprintf' , ' SsP' );
1159
1176
1160
1177
# substr can take 2 or 3 args, so needs special handling.
0 commit comments