@@ -140,7 +140,19 @@ class QRegex::P5Regex::Actions is HLL::Actions {
140
140
QAST ::Regex. new ( : rxtype<altseq >, | @ alts );
141
141
make $ qast ;
142
142
}
143
+
144
+ method p5backslash :sym <s >($/ ) {
145
+ make QAST ::Regex. new (: rxtype<cclass >, ' .CCLASS_WHITESPACE' ,
146
+ : subtype($ < sym > eq ' n' ?? ' nl' !! ~ $ < sym > ),
147
+ : negate($ < sym > le ' Z' ), : node($/ ));
148
+ }
143
149
150
+ method p5backslash :sym <b >($/ ) {
151
+ make QAST ::Regex. new (: rxtype<subrule >, : subtype<method >,
152
+ : node($/ ), PAST::Node. new (' wb' ),
153
+ : negate($ < sym > eq ' B' ), : name(' ' ) );
154
+ }
155
+
144
156
method p5backslash :sym <misc >($/ ) {
145
157
my $ qast := QAST ::Regex. new ( ~ $/ , : rxtype(' literal' ), : node($/ ) );
146
158
make $ qast ;
@@ -262,18 +274,6 @@ class QRegex::P5Regex::Actions is HLL::Actions {
262
274
make $ qast ;
263
275
}
264
276
265
- method backslash :sym <s >($/ ) {
266
- make QAST ::Regex. new (: rxtype<cclass >, ' .CCLASS_WHITESPACE' ,
267
- : subtype($ < sym > eq ' n' ?? ' nl' !! ~ $ < sym > ),
268
- : negate($ < sym > le ' Z' ), : node($/ ));
269
- }
270
-
271
- method backslash :sym <b >($/ ) {
272
- my $ qast := QAST ::Regex. new ( " \b " , : rxtype(' enumcharlist' ),
273
- : negate($ < sym > eq ' B' ), : node($/ ) );
274
- make $ qast ;
275
- }
276
-
277
277
method backslash :sym <e >($/ ) {
278
278
my $ qast := QAST ::Regex. new ( " \c[27]" , : rxtype(' enumcharlist' ),
279
279
: negate($ < sym > eq ' E' ), : node($/ ) );
@@ -333,11 +333,6 @@ class QRegex::P5Regex::Actions is HLL::Actions {
333
333
make QAST ::Regex. new ( $ < charspec > . ast, : rxtype(' literal' ), : node($/ ) );
334
334
}
335
335
336
- method backslash :sym <misc >($/ ) {
337
- my $ qast := QAST ::Regex. new ( ~ $/ , : rxtype(' literal' ), : node($/ ) );
338
- make $ qast ;
339
- }
340
-
341
336
method assertion :sym <? >($/ ) {
342
337
my $ qast ;
343
338
if $ < assertion > {
@@ -363,22 +358,6 @@ class QRegex::P5Regex::Actions is HLL::Actions {
363
358
make $ qast ;
364
359
}
365
360
366
- method assertion :sym <| >($/ ) {
367
- my $ qast ;
368
- my $ name := ~ $ < identifier > ;
369
- if $ name eq ' c' {
370
- # codepoint boundaries alway match in
371
- # our current Unicode abstraction level
372
- $ qast := 0 ;
373
- }
374
- elsif $ name eq ' w' {
375
- $ qast := QAST ::Regex. new (: rxtype<subrule >, : subtype<method >,
376
- : node($/ ), PAST::Node. new (' wb' ),
377
- : name(' ' ) );
378
- }
379
- make $ qast ;
380
- }
381
-
382
361
method assertion :sym <method >($/ ) {
383
362
my $ qast := $ < assertion > . ast;
384
363
$ qast . subtype(' method' );
0 commit comments