1 This is just a laundry list of items completed and items on the
2 "to do" list for PGE. One of the best incentives for getting a
3 feature off a "to do" list and onto a "done" list is to submit
4 a test for the feature. :-)
6 Perl 6 rule features implemented
7 --------------------------------
8 * standard regular expression constructs
9 * quantifiers (*, +, ?, *?, +?, ??, **{m..n}?)
10 * cut operators (:, ::, :::, <commit>)
13 * capturing and non-capturing groups
14 * modifiers :i, :ignorecase, :s, :sigspace (with synonyms :w and :words)
15 * enumerated character lists (<[abcdef]>, <-[a..f]>)
16 * composed character classes (<+alpha-[aeiou]>)
17 * character classes (., \d, \w, \s, \n, \e, \f, \r, \t, \x[hhh], \o[nnn])
18 * anchors (^, $, ^^, $$, \b, \b)
19 * negated character classes
21 * capturing subrules (<expr>)
22 * non-capturing subrules (<.expr>)
23 * negated subrules (<!expr>)
24 * lookahead and lookbehind (<before> and <after>)
25 * built-in rules: <null>, <fail>, <alpha>, <digit>, <alnum>,
26 <upper>, <lower>, <xdigit>, <space>, <print>, <graph>,
27 <blank>, <cntrl>, <punct>, <sp>, <lt>, <gt>, <dot>, <ws>,
29 * backreferences ($0, $1, $<foo>)
30 * scalar subrule and subpattern aliases ($<foo>:=(...), $0:=(...))
31 * balanced delimited text (<PGE::Text::bracketed>)
32 * embedded closures ({{ puts "hello" }})
34 * firstchar/nextchar optimizations
37 Perl 6 rule features to-do
38 --------------------------
39 * lookbehind according to S05 definition
41 * versions of <commit> and cuts that release backtracking state
43 * literal assertions (<'literal'>)
44 * interpolated assertions (<"literal">)
45 * array and hash aliasing (@<foo>:=(...), %<foo>:=(...))
46 * don't generate unneeded internal data structures (e.g., gpad)
49 Perl 5 regexp features implemented
50 ----------------------------------
51 * basic regular expressions
52 * quantifiers (*, +, ?, *?, +?, ??, {m,n}?)
54 * character classes ([a-z], [^aeiou])
55 * character class shortcuts (\d, \n, \s, \w, .)
58 * non-capturing parens (?:...)
61 Perl 5 regexp features to-do
62 ----------------------------
63 * modifiers (?imxs:...)
64 * lookahead, lookbehind
65 * backreferences (\1, \2, \3)
66 * character class shortcuts in [...] ([^\S\n])
67 * global anchors (\A, \a, \z)
68 * correct implementation of $ anchor
69 * hexadecimal, octal, and other chars (\x{hhhh}, \012, \cX)