Author: pmichaud
Date: Sat Apr 14 07:33:25 2007
New Revision: 18191
Added:
trunk/t/compilers/pge/perl6regex/rx_syntax
Modified:
trunk/MANIFEST
trunk/compilers/pge/PGE/Perl6Regex.pir
trunk/t/compilers/pge/perl6regex/01-regex.t
Log:
[pge]:
* Migrate p6regex syntax.t test to perl6regex rx_syntax.
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST (original)
+++ trunk/MANIFEST Sat Apr 14 07:33:25 2007
@@ -2762,6 +2762,7 @@
t/compilers/pge/perl6regex/rx_metachars []
t/compilers/pge/perl6regex/rx_modifiers []
t/compilers/pge/perl6regex/rx_subrules []
+t/compilers/pge/perl6regex/rx_syntax []
t/compilers/pge/pge-hs.t []
t/compilers/pge/pge.t []
t/compilers/pge/pge_examples.t []
Modified: trunk/compilers/pge/PGE/Perl6Regex.pir
==============================================================================
--- trunk/compilers/pge/PGE/Perl6Regex.pir (original)
+++ trunk/compilers/pge/PGE/Perl6Regex.pir Sat Apr 14 07:33:25 2007
@@ -410,6 +410,7 @@
concat charlist, $S1
unless isbracketed goto scan_xdo_end
if $S0 == ']' goto scan_xdo_end
+ if $S0 == '' goto err_missing_bracket
if $S0 != ',' goto err_bracketed
if isnegated goto err_negated_brackets
inc pos
@@ -422,6 +423,8 @@
err_reserved_metachar:
parse_error(mob, pos, 'Alphanumeric metacharacters are reserved')
+ err_missing_bracket:
+ parse_error(mob, pos, 'Missing close bracket for \\x[...] or \\o[...]')
err_bracketed:
parse_error(mob, pos, 'Invalid digit in \\x[...] or \\o[...]')
err_negated_brackets:
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 Sat Apr 14 07:33:25 2007
@@ -79,6 +79,7 @@
push test_files, 'rx_lookarounds'
push test_files, 'rx_captures'
push test_files, 'rx_modifiers'
+ push test_files, 'rx_syntax'
.local pmc interp # a handle to our interpreter object.
interp = getinterp
Added: trunk/t/compilers/pge/perl6regex/rx_syntax
==============================================================================
--- (empty file)
+++ trunk/t/compilers/pge/perl6regex/rx_syntax Sat Apr 14 07:33:25 2007
@@ -0,0 +1,28 @@
+## syntax errors
+
+{{ abcdef /Missing closing braces/ unterminated
closure
+\1 abcdef /reserved/ back references
+\x[ abcdef /Missing close bracket/ unterminated
\x[..]
+\X[ abcdef /Missing close bracket/ unterminated
\X[..]
+
+* abc abcdef /Quantifier follows nothing/ bare * at start
+ * abc abcdef /Quantifier follows nothing/ bare *
after ws
+[*|a] abcdef /Quantifier follows nothing/ bare * after [
+[ *|a] abcdef /Quantifier follows nothing/ bare * after
[+sp
+[a|*] abcdef /Quantifier follows nothing/ bare * after |
+[a| *] abcdef /Quantifier follows nothing/ bare * after
|+sp
+
++ abc abcdef /Quantifier follows nothing/ bare + at start
+ + abc abcdef /Quantifier follows nothing/ bare +
after ws
+[+|a] abcdef /Quantifier follows nothing/ bare + after [
+[ +|a] abcdef /Quantifier follows nothing/ bare + after
[+sp
+[a|+] abcdef /Quantifier follows nothing/ bare + after |
+[a| +] abcdef /Quantifier follows nothing/ bare + after
|+sp
+
+? abc abcdef /Quantifier follows nothing/ bare ? at start
+ ? abc abcdef /Quantifier follows nothing/ bare ?
after ws
+[?|a] abcdef /Quantifier follows nothing/ bare ? after [
+[ ?|a] abcdef /Quantifier follows nothing/ bare ? after
[+sp
+[a|?] abcdef /Quantifier follows nothing/ bare ? after |
+[a| ?] abcdef /Quantifier follows nothing/ bare ? after
|+sp
+