113 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# These are:
 | 
						|
#
 | 
						|
# (1) Tests of the match-limiting features. The results are different for
 | 
						|
# interpretive or JIT matching, so this test should not be run with JIT. The
 | 
						|
# same tests are run using JIT in test 16.
 | 
						|
 | 
						|
# (2) Other tests that must not be run with JIT.
 | 
						|
 | 
						|
/(a+)*zz/I
 | 
						|
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\=find_limits
 | 
						|
  aaaaaaaaaaaaaz\=find_limits
 | 
						|
 | 
						|
!((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)!I
 | 
						|
   /* this is a C style comment */\=find_limits
 | 
						|
 | 
						|
/^(?>a)++/
 | 
						|
    aa\=find_limits
 | 
						|
    aaaaaaaaa\=find_limits
 | 
						|
    
 | 
						|
/(a)(?1)++/
 | 
						|
    aa\=find_limits
 | 
						|
    aaaaaaaaa\=find_limits
 | 
						|
 | 
						|
/a(?:.)*?a/ims
 | 
						|
    abbbbbbbbbbbbbbbbbbbbba\=find_limits
 | 
						|
    
 | 
						|
/a(?:.(*THEN))*?a/ims
 | 
						|
    abbbbbbbbbbbbbbbbbbbbba\=find_limits
 | 
						|
 | 
						|
/a(?:.(*THEN:ABC))*?a/ims
 | 
						|
    abbbbbbbbbbbbbbbbbbbbba\=find_limits
 | 
						|
 | 
						|
/^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
 | 
						|
     aabbccddee\=find_limits
 | 
						|
 | 
						|
/^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
 | 
						|
     aabbccddee\=find_limits
 | 
						|
 | 
						|
/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
 | 
						|
     aabbccddee\=find_limits
 | 
						|
 | 
						|
/(*LIMIT_MATCH=12bc)abc/
 | 
						|
 | 
						|
/(*LIMIT_MATCH=4294967290)abc/
 | 
						|
 | 
						|
/(*LIMIT_RECURSION=4294967280)abc/I
 | 
						|
 | 
						|
/(a+)*zz/
 | 
						|
    aaaaaaaaaaaaaz
 | 
						|
    aaaaaaaaaaaaaz\=match_limit=3000
 | 
						|
 | 
						|
/(a+)*zz/
 | 
						|
    aaaaaaaaaaaaaz\=recursion_limit=10
 | 
						|
 | 
						|
/(*LIMIT_MATCH=3000)(a+)*zz/I
 | 
						|
    aaaaaaaaaaaaaz
 | 
						|
    aaaaaaaaaaaaaz\=match_limit=60000
 | 
						|
 | 
						|
/(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
 | 
						|
    aaaaaaaaaaaaaz
 | 
						|
 | 
						|
/(*LIMIT_MATCH=60000)(a+)*zz/I
 | 
						|
    aaaaaaaaaaaaaz
 | 
						|
    aaaaaaaaaaaaaz\=match_limit=3000
 | 
						|
 | 
						|
/(*LIMIT_RECURSION=10)(a+)*zz/I
 | 
						|
    aaaaaaaaaaaaaz
 | 
						|
    aaaaaaaaaaaaaz\=recursion_limit=1000
 | 
						|
 | 
						|
/(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/I
 | 
						|
    aaaaaaaaaaaaaz
 | 
						|
 | 
						|
/(*LIMIT_RECURSION=1000)(a+)*zz/I
 | 
						|
    aaaaaaaaaaaaaz
 | 
						|
    aaaaaaaaaaaaaz\=recursion_limit=10
 | 
						|
    
 | 
						|
# These three have infinitely nested recursions. 
 | 
						|
    
 | 
						|
/((?2))((?1))/
 | 
						|
    abc
 | 
						|
 | 
						|
/((?(R2)a+|(?1)b))/
 | 
						|
    aaaabcde
 | 
						|
 | 
						|
/(?(R)a*(?1)|((?R))b)/
 | 
						|
    aaaabcde
 | 
						|
    
 | 
						|
# The allusedtext modifier does not work with JIT, which does not maintain
 | 
						|
# the leftchar/rightchar data.
 | 
						|
 | 
						|
/abc(?=xyz)/allusedtext
 | 
						|
    abcxyzpqr
 | 
						|
    abcxyzpqr\=aftertext
 | 
						|
    
 | 
						|
/(?<=pqr)abc(?=xyz)/allusedtext
 | 
						|
    xyzpqrabcxyzpqr
 | 
						|
    xyzpqrabcxyzpqr\=aftertext
 | 
						|
    
 | 
						|
/a\b/
 | 
						|
    a.\=allusedtext
 | 
						|
    a\=allusedtext  
 | 
						|
 | 
						|
/abc\Kxyz/
 | 
						|
    abcxyz\=allusedtext
 | 
						|
 | 
						|
/abc(?=xyz(*ACCEPT))/
 | 
						|
    abcxyz\=allusedtext
 | 
						|
 | 
						|
/abc(?=abcde)(?=ab)/allusedtext
 | 
						|
    abcabcdefg
 | 
						|
 | 
						|
# End of testinput14
 |