Author: pmichaud
Date: Thu Apr 5 06:46:39 2007
New Revision: 17995
Added:
trunk/t/compilers/pge/perl6regex/rx_lookarounds
- copied, changed from r17993,
/trunk/t/compilers/pge/p6regex/rx_lookarounds
trunk/t/compilers/pge/perl6regex/rx_modifiers
- copied, changed from r17993, /trunk/t/compilers/pge/p6regex/rx_modifiers
Modified:
trunk/MANIFEST
trunk/t/compilers/pge/perl6regex/01-regex.t
Log:
[pge]:
* Add rx_lookarounds and rx_modifiers merged from p6regex and pugs test
suites (and updated to new syntax).
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST (original)
+++ trunk/MANIFEST Thu Apr 5 06:46:39 2007
@@ -2749,7 +2749,9 @@
t/compilers/pge/perl6regex/rx_backtrack []
t/compilers/pge/perl6regex/rx_captures []
t/compilers/pge/perl6regex/rx_charclass []
+t/compilers/pge/perl6regex/rx_lookarounds []
t/compilers/pge/perl6regex/rx_metachars []
+t/compilers/pge/perl6regex/rx_modifiers []
t/compilers/pge/pge-hs.t []
t/compilers/pge/pge.t []
t/compilers/pge/pge_examples.t []
Modified: trunk/t/compilers/pge/perl6regex/01-regex.t
==============================================================================
--- trunk/t/compilers/pge/perl6regex/01-regex.t (original)
+++ trunk/t/compilers/pge/perl6regex/01-regex.t Thu Apr 5 06:46:39 2007
@@ -76,9 +76,9 @@
push test_files, 'rx_backtrack'
push test_files, 'rx_charclass'
# push test_files, 'rx_subrules'
- # push test_files, 'rx_lookarounds'
+ push test_files, 'rx_lookarounds'
push test_files, 'rx_captures'
- # push test_files, 'rx_modifiers'
+ push test_files, 'rx_modifiers'
.local pmc interp # a handle to our interpreter object.
interp = getinterp
Copied: trunk/t/compilers/pge/perl6regex/rx_lookarounds (from r17993,
/trunk/t/compilers/pge/p6regex/rx_lookarounds)
==============================================================================
--- /trunk/t/compilers/pge/p6regex/rx_lookarounds (original)
+++ trunk/t/compilers/pge/perl6regex/rx_lookarounds Thu Apr 5 06:46:39 2007
@@ -3,18 +3,26 @@
<before c> .... abacad n
lookahead <before>
<before> . abcd n null
<before>
<!before ..b> aa aabaaa /mob: <aa @ 3>/ negated
lookahead
+# todo :pugs<feature>
<after a>b ab y
lookbehind <after>
<after a>b cb n
lookbehind <after>
<after a>b b n
lookbehind <after>
+# todo :pugs<feature>
<!after c>b ab y
lookbehind <!after>
<!after c>b cb n
lookbehind <!after>
+# todo :pugs<feature>
<!after c>b b y
lookbehind <!after>
<!after <[cd]>>b dbcb n
lookbehind <!after>
+# todo :pugs<feature>
<!after <[cd]>><[ab]> dbaacb y
lookbehind <!after>
<!after c|d>b dbcb n
lookbehind <!after>
+# todo :pugs<feature>
<!after c|d><[ab]> dbaacb y
lookbehind <!after>
+# todo :pugs<feature>
<!after cd><[ab]> cbaccb y
lookbehind <!after>
+# todo :pugs<feature>
$ <after ^a> a y
lookbehind <after>
+# todo :pugs<feature>
<after x+>y axxbxxyc y
lookbehind <after>
<[a..z]>+ az y
metasyntax with leading + (<+...>)
<+[a..z]>+ az y
metasyntax with leading + (<+...>)
Copied: trunk/t/compilers/pge/perl6regex/rx_modifiers (from r17993,
/trunk/t/compilers/pge/p6regex/rx_modifiers)
==============================================================================
--- /trunk/t/compilers/pge/p6regex/rx_modifiers (original)
+++ trunk/t/compilers/pge/perl6regex/rx_modifiers Thu Apr 5 06:46:39 2007
@@ -7,15 +7,22 @@
:ignorecase bcd abcdef y ignorecase (:ignorecase)
:ignorecase bcd aBCDef y ignorecase (:ignorecase)
:ignorecase bcd abc-ef n ignorecase (:ignorecase)
+# todo :pugs<feature>
:i(0) bcd abcdef y ignorecase, repetition (:i(0))
:i(0) bcd abCdef n ignorecase, repetition (:i(0))
+# todo :pugs<feature>
:i(1) bcd abcdef y ignorecase, repetition (:i(1))
+# todo :pugs<feature>
:i(1) bcd abCdef y ignorecase, repetition (:i(1))
:i(1) bcd aBxDef n ignorecase, repetition (:i(1))
+# todo :pugs<feature>
:0i bcd abcdef y ignorecase, repetition (:0i)
:0i bcd abCdef n ignorecase, repetition (:0i)
+# todo :pugs<feature>
:1i bcd abcdef y ignorecase, repetition (:1i)
+# todo :pugs<feature>
:1i bcd abCdef y ignorecase, repetition (:1i)
+# todo :pugs<feature>
:1i bcd aBCDef y ignorecase, repetition (:1i)
:1i bcd aBxDef n ignorecase, repetition (:1i)
ab [:i cd ] ef abcdef y ignorecase, lexical (:i)
@@ -27,74 +34,120 @@
:i ab [:i cd ] ef abCDef y ignorecase, lexical (:i)
:i ab [:i cd ] ef AbCDeF y ignorecase, lexical (:i)
:i ab [:i cd ] ef AbcdeF y ignorecase, lexical (:i)
+# todo :pugs<feature>
:i a [:i(0) b [:i(1) c [:0i d [:1i e [:i(0) f ] ] ] ] ] AbCdEf
y ignorecase, lexical (:i)
+# todo :pugs<feature>
:i aa [:i(0) bb [:i(1) cc [:0i dd [:1i ee [:i(0) ff ] ] ] ] ] AabbCcddEeff
y ignorecase, lexical (:i)
:i a [:i(0) b [:i(1) c [:0i d [:1i e [:i(0) f ] ] ] ] ] AbCdEF
n ignorecase, lexical (:i)
:i aa [:i(0) bb [:i(1) cc [:0i dd [:1i ee [:i(0) ff ] ] ] ] ] AabbCcddEeFf
n ignorecase, lexical (:i)
+# todo :pugs<feature>
:i ab [:i(0) cd ] ef AbcdeF y ignorecase, lexical repetition (:i)
+# todo :pugs<feature> :pge<feature>
+:i ab [:!i cd ] ef AbcdeF y ignorecase, lexical repetition (:i)
+# todo :pugs<feature>
:i ab [:0i cd ] ef AbcdeF y ignorecase, lexical repetition (:i)
+# todo :pugs<feature>
:0i ab [:1i cd ] ef abCDef y ignorecase, lexical repetition (:i)
:0i ab [:1i cd ] ef AbCDeF n ignorecase, lexical repetition (:i)
:0i ab [:1i cd ] ef AbcdeF n ignorecase, lexical repetition (:i)
+# todo :pugs<feature>
:0i ab [:i(0) cd ] ef abcdef y ignorecase, lexical repetition (:i)
:0i ab [:1i cd ] ef AbcdeF n ignorecase, lexical repetition (:i)
+# todo :pugs<feature>
:i(1) ab [:1i cd ] ef AbCdeF y ignorecase, lexical repetition (:i)
+# todo :pugs<feature>
:i(1) ab [:i(0) cd ] ef AbcdeF y ignorecase, lexical repetition
(:i)
:i(1) ab [:i(0) cd ] ef AbcDeF n ignorecase, lexical repetition
(:i)
+# todo :pugs<feature>
:i(2) ab [:i(999) cd ] ef ABCDEF y ignorecase, lexical repetition
(:i)
+# todo :pugs<feature>
:1i ab [:i(1) cd ] ef ABCDEF y ignorecase, lexical repetition
(:i)
:0i ab [:1i cd ] ef abcDeF n ignorecase, lexical repetition
(:i)
+# todo :pugs<feature>
:2i ab [:999i cd ] ef ABCDEF y ignorecase, lexical repetition
(:i)
ab [:ignorecase cd ] ef abCDef y ignorecase, lexical
(:ignorecase)
ab [:ignorecase cd ] ef aBCDef n ignorecase, lexical
(:ignorecase)
+# todo :pugs<feature>
:1ignorecase ab [:ignorecase(1) cd ] ef ABCDEF y ignorecase,
lexical repetition (:ignorecase)
+# todo :pugs<feature>
:s bcd a bcdef y sigspace (:s)
+# todo :pugs<feature>
:s bcd a bcd ef y sigspace (:s)
:s bcd abcdef n sigspace (:s)
:s bcd abcd ef n sigspace (:s)
:s bcd ab cdef n sigspace (:s)
+# todo :pugs<feature>
:s b c d a b c d ef y sigspace (:s)
+# todo :pugs<feature>
:s b c d a b c def y sigspace (:s)
:s b c d ab c d ef n sigspace (:s)
:s b c d a bcdef n sigspace (:s)
:s b c d abcdef n sigspace (:s)
+# todo :pugs<feature>
:sigspace bcd a bcdef y sigspace (:sigspace)
+# todo :pugs<feature>
:sigspace bcd a bcd ef y sigspace (:sigspace)
:sigspace bcd abcdef n sigspace (:sigspace)
+# todo :pugs<feature>
:sigspace b c d a b c d ef y sigspace (:sigspace)
+# todo :pugs<feature>
:sigspace b c d a b c def y sigspace (:sigspace)
:sigspace b c d ab c d ef n sigspace (:sigspace)
+# todo :pugs<feature>
:s(1) b c [:s(0) d e f ] a b c def y sigspace, lexical
repetition (:s)
+# todo :pugs<feature> :pge<feature>
+:s b c [:!s d e f ] a b c def y sigspace, lexical repetition
(:s)
:s(0) b c [:s(1) d e f ] a b c def n sigspace, lexical
repetition (:s)
+# todo :pge<feature>
+:!s b c [:s d e f ] a b c def n sigspace, lexical repetition
(:s)
:s(0) b c [:s(0) d e f ] a b c def n sigspace, lexical
repetition (:s)
+# todo :pge<feature>
+:!s b c [:!s d e f ] a b c def n sigspace, lexical repetition
(:s)
+# todo :pugs<feature>
:s ab ab y sigspace, trailing ws
-foo\s*-?\s*bar foo\t \n-\n\t bar y basic match
-foo\s*-?\s*bar foo - bar y basic match
-foo\s+-?\s*bar foo bar y basic match \s+ \s*
-foo\s+-?\s*bar foo -bar y basic match \s+ \s*
-foo\s*-?\s+bar foo- bar y basic match \s* \s+
-foo -? bar foo-bar y basic match \s* \s*
-foo -? bar foobar y basic match
-foo -? bar foo - bar n basic non-match
-:s foo -? bar foo\n \t- \t\t\nbar y basic ws match
-:s foo -? bar foo - bar y basic ws match
-:s foo -? bar foo bar y basic ws match \s+ \s*
-:s foo -? bar foo -bar y basic ws match \s+ \s*
-:s foo -? bar foo- bar y basic ws match \s* \s+
-:s foo -? bar foo-bar y basic ws match \s* \s*
-:s foo -? bar foobar n basic ws non-match
-:s()foo -? bar foo - bar n basic ws match
-:s[]foo -? bar foo - bar y basic ws match
-:s<?wb>foo -? bar foo - bar y basic ws match with
boundary modifier separation
-:s::foo -? bar foo - bar y basic ws match with
backtrack no-op modifier separation
-:s::(\w+) \:= (\S+) dog := spot /mob 0: <dog @ 0>/
sigspace and capture together
-:s::(\w+) \:= (\S+) dog := spot /mob 1: <spot @ 7>/
sigspace and capture together
+foo\s*'-'?\s*bar foo\t \n-\n\t bar y basic match
+foo\s*'-'?\s*bar foo - bar y basic match
+foo\s+'-'?\s*bar foo bar y basic match \s+ \s*
+foo\s+'-'?\s*bar foo -bar y basic match \s+ \s*
+foo\s*'-'?\s+bar foo- bar y basic match \s* \s+
+foo '-'? bar foo-bar y basic match \s* \s*
+foo '-'? bar foobar y basic match
+foo '-'? bar foo - bar n basic non-match
+# todo :pugs<feature>
+:s foo '-'? bar foo\n \t- \t\t\nbar y basic
ws match
+# todo :pugs<feature>
+:s foo '-'? bar foo - bar y basic ws match
+# todo :pugs<feature>
+:s foo '-'? bar foo bar y basic ws match
\s+ \s*
+# todo :pugs<feature>
+:s foo '-'? bar foo -bar y basic ws match
\s+ \s*
+# todo :pugs<feature>
+:s foo '-'? bar foo- bar y basic ws match
\s* \s+
+# todo :pugs<feature>
+:s foo '-'? bar foo-bar y basic ws match
\s* \s*
+:s foo '-'? bar foobar n basic ws
non-match
+:s()foo '-'? bar foo - bar n basic ws match
+# todo :pugs<feature> :pge<feature>
+:s[]foo '-'? bar foo - bar y basic ws match
+# todo :pugs<feature>
+:s<?wb>foo '-'? bar foo - bar y basic ws match with
boundary modifier separation
+# todo :pugs<feature>
+:s::foo '-'? bar foo - bar y basic ws match
with backtrack no-op modifier separation
+:s::(\w+) ':=' (\S+) dog := spot /mob 0: <dog @ 0>/
sigspace and capture together
+:s::(\w+) ':=' (\S+) dog := spot /mob 1: <spot @ 7>/
sigspace and capture together
+# todo :pugs<feature> :pge<feature>
:perl5 \A.*? bcd\Q$\E..\z a bcd$ef y perl5 syntax (:perl5)
+# todo :pugs<feature>
:x(6) \d 123456 y repetition (:x)
+# todo :pugs<feature>
:x(3) \d 123456 y repetition (:x)
+# todo :pugs<feature>
:x(0) \d 123456 y repetition (:x)
+# todo :pugs<feature>
:nth(3) a \d a1a2a3 y nth occurance (:nth)
+# todo :pge<feature>
:nth(4) a \d a1a2a3 n nth occurance (:nth)
+# todo :pge<feature>
:nth(0) a \d a1a2a3 n nth occurance (:nth)
:s^[\d+ ]* abc 11 12 13 abc y <?ws> before closing
bracket