@@ -190,21 +190,49 @@ class QRegex::P5Regex::Actions is HLL::Actions {
190
190
}
191
191
192
192
method p5backslash :sym <A >($/ ) {
193
- make QAST ::Regex. new ( : rxtype<anchor >, : subtype<bos >, : node($/ ) );
193
+ make QAST ::Regex. new ( : rxtype<anchor >, : subtype<bos >, : node($/ ) );
194
+ }
194
195
196
+ method p5backslash :sym <b >($/ ) {
197
+ make QAST ::Regex. new (: rxtype<subrule >, : subtype<zerowidth >,
198
+ : node($/ ), : negate($ < sym > eq ' B' ), : name(' ' ),
199
+ QAST ::Node. new ( QAST ::SVal. new ( : value(' wb' ) ) ));
195
200
}
196
-
201
+
202
+ method p5backslash :sym <h >($/ ) {
203
+ make QAST ::Regex. new ( " \x[09,20,a0,1680,180e,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,200a,202f,205f,3000]" , : rxtype(' enumcharlist' ),
204
+ : negate($ < sym > eq ' H' ), : node($/ ) );
205
+ }
206
+
207
+ method p5backslash :sym <r >($/ ) {
208
+ make QAST ::Regex. new ( " \r " , : rxtype(' enumcharlist' ), : node($/ ) );
209
+ }
210
+
211
+ method p5backslash :sym <R >($/ ) {
212
+ make QAST ::Regex. new ( : rxtype<cclass >, : name( ' n' ), : node($/ ) );
213
+ }
214
+
197
215
method p5backslash :sym <s >($/ ) {
198
216
make QAST ::Regex. new (: rxtype<cclass >, : name( nqp :: lc (~ $ < sym > ) ),
199
217
: negate($ < sym > le ' Z' ), : node($/ ));
200
218
}
201
219
202
- method p5backslash :sym <b >($/ ) {
203
- make QAST ::Regex. new (: rxtype<subrule >, : subtype<zerowidth >,
204
- : node($/ ), : negate($ < sym > eq ' B' ), : name(' ' ),
205
- QAST ::Node. new ( QAST ::SVal. new ( : value(' wb' ) ) ));
220
+ method p5backslash :sym <t >($/ ) {
221
+ make QAST ::Regex. new ( " \t " , : rxtype(' enumcharlist' ),
222
+ : negate($ < sym > eq ' T' ), : node($/ ) );
206
223
}
207
-
224
+
225
+ method p5backslash :sym <v >($/ ) {
226
+ make QAST ::Regex. new ( " \x[0a,0b,0c,0d,85,2028,2029]" ,
227
+ : rxtype(' enumcharlist' ),
228
+ : negate($ < sym > eq ' V' ), : node($/ ) );
229
+ }
230
+
231
+ method p5backslash :sym <x >($/ ) {
232
+ my $ hexlit := HLL::Actions. ints_to_string( $ < hexint > );
233
+ make QAST ::Regex. new ( $ hexlit , : rxtype(' literal' ), : node($/ ) );
234
+ }
235
+
208
236
method p5backslash :sym <z >($/ ) {
209
237
make QAST ::Regex. new ( : rxtype<anchor >, : subtype<eos >, : node($/ ) );
210
238
}
0 commit comments