Detect missing closing parentheses during the pre-pass.
This commit is contained in:
parent
6bb132265b
commit
94e07de498
|
@ -62,6 +62,9 @@ callout was taken, making the program appearing to loop.
|
|||
nested set of parentheses of sufficient size caused an overflow of the
|
||||
compiling workspace (which was diagnosed, but of course is not desirable).
|
||||
|
||||
13. Detect missing closing parentheses during the pre-pass for group
|
||||
identification.
|
||||
|
||||
|
||||
Version 10.21 12-January-2016
|
||||
-----------------------------
|
||||
|
|
|
@ -3180,13 +3180,13 @@ uint32_t c;
|
|||
uint32_t delimiter;
|
||||
uint32_t nest_depth = 0;
|
||||
uint32_t set, unset, *optset;
|
||||
uint32_t skiptoket = 0;
|
||||
int errorcode = 0;
|
||||
int escape;
|
||||
int namelen;
|
||||
int i;
|
||||
BOOL inescq = FALSE;
|
||||
BOOL isdupname;
|
||||
BOOL skiptoket = FALSE;
|
||||
BOOL utf = (options & PCRE2_UTF) != 0;
|
||||
BOOL negate_class;
|
||||
PCRE2_SPTR name;
|
||||
|
@ -3213,10 +3213,10 @@ for (; ptr < cb->end_pattern; ptr++)
|
|||
next closing parenthesis must be ignored. The parenthesis itself must be
|
||||
processed (to end the nested parenthesized item). */
|
||||
|
||||
if (skiptoket)
|
||||
if (skiptoket != 0)
|
||||
{
|
||||
if (c != CHAR_RIGHT_PARENTHESIS) continue;
|
||||
skiptoket = FALSE;
|
||||
skiptoket = 0;
|
||||
}
|
||||
|
||||
/* Skip over literals */
|
||||
|
@ -3231,17 +3231,16 @@ for (; ptr < cb->end_pattern; ptr++)
|
|||
continue;
|
||||
}
|
||||
|
||||
/* Skip over comments and whitespace in extended mode. Need a loop to handle
|
||||
whitespace after a comment. */
|
||||
/* Skip over # comments and whitespace in extended mode. */
|
||||
|
||||
if ((options & PCRE2_EXTENDED) != 0)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
PCRE2_SPTR wscptr = ptr;
|
||||
while (MAX_255(c) && (cb->ctypes[c] & ctype_space) != 0) c = *(++ptr);
|
||||
if (c != CHAR_NUMBER_SIGN) break;
|
||||
if (c == CHAR_NUMBER_SIGN)
|
||||
{
|
||||
ptr++;
|
||||
while (*ptr != CHAR_NULL)
|
||||
while (ptr < cb->end_pattern)
|
||||
{
|
||||
if (IS_NEWLINE(ptr)) /* For non-fixed-length newline cases, */
|
||||
{ /* IS_NEWLINE sets cb->nllen. */
|
||||
|
@ -3253,7 +3252,15 @@ for (; ptr < cb->end_pattern; ptr++)
|
|||
if (utf) FORWARDCHAR(ptr);
|
||||
#endif
|
||||
}
|
||||
c = *ptr; /* Either NULL or the char after a newline */
|
||||
}
|
||||
|
||||
/* If we skipped any characters, restart the loop. Otherwise, we didn't see
|
||||
a comment. */
|
||||
|
||||
if (ptr > wscptr)
|
||||
{
|
||||
ptr--;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3411,7 +3418,7 @@ for (; ptr < cb->end_pattern; ptr++)
|
|||
IS_DIGIT(ptr[0]) || /* (?n) */
|
||||
(ptr[0] == CHAR_MINUS && IS_DIGIT(ptr[1]))) /* (?-n) */
|
||||
{
|
||||
skiptoket = TRUE;
|
||||
skiptoket = ptr[0];
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -3755,8 +3762,16 @@ for (; ptr < cb->end_pattern; ptr++)
|
|||
}
|
||||
}
|
||||
|
||||
cb->final_bracount = cb->bracount;
|
||||
return 0;
|
||||
if (nest_depth == 0)
|
||||
{
|
||||
cb->final_bracount = cb->bracount;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* We give a special error for a missing closing parentheses after (?# because
|
||||
it might otherwise be hard to see where the missing character is. */
|
||||
|
||||
errorcode = (skiptoket == CHAR_NUMBER_SIGN)? ERR18 : ERR14;
|
||||
|
||||
FAILED:
|
||||
*ptrptr = ptr;
|
||||
|
@ -7056,7 +7071,9 @@ for (;; ptr++)
|
|||
}
|
||||
}
|
||||
|
||||
/* Error if hit end of pattern */
|
||||
/* At the end of a group, it's an error if we hit end of pattern or
|
||||
any non-closing parenthesis. This check also happens in the pre-scan,
|
||||
so should not trigger here, but leave this code as an insurance. */
|
||||
|
||||
if (*ptr != CHAR_RIGHT_PARENTHESIS)
|
||||
{
|
||||
|
|
|
@ -95,6 +95,8 @@
|
|||
|
||||
"(?(?C)"
|
||||
|
||||
"(?(?C))"
|
||||
|
||||
/abcd/substitute_extended
|
||||
|
||||
/\[A]{1000000}**/expand,regerror_buffsize=31
|
||||
|
|
|
@ -4428,6 +4428,8 @@
|
|||
|
||||
/(?R-:(?</
|
||||
|
||||
/(?R-:(?<)/
|
||||
|
||||
/(?(?C{\Q})(?!(?'/
|
||||
|
||||
/(?(?C{\Q})(?!(?'abc')))/I
|
||||
|
|
|
@ -184,4 +184,6 @@
|
|||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -142,6 +142,9 @@ No match: POSIX code 17: match failed
|
|||
Failed: POSIX code 9: bad escape sequence at offset 3
|
||||
|
||||
"(?(?C)"
|
||||
Failed: POSIX code 11: unbalanced () at offset 6
|
||||
|
||||
"(?(?C))"
|
||||
Failed: POSIX code 3: pattern error at offset 2
|
||||
|
||||
/abcd/substitute_extended
|
||||
|
|
|
@ -545,7 +545,7 @@ Failed: error 127 at offset 13: conditional group contains more than two branche
|
|||
Failed: error 127 at offset 12: conditional group contains more than two branches
|
||||
|
||||
/(?(1a)/
|
||||
Failed: error 126 at offset 4: malformed number or name after (?(
|
||||
Failed: error 114 at offset 6: missing closing parenthesis
|
||||
|
||||
/(?(1a))/
|
||||
Failed: error 126 at offset 4: malformed number or name after (?(
|
||||
|
@ -14401,6 +14401,9 @@ Failed: error 106 at offset 353: missing terminating ] for character class
|
|||
------------------------------------------------------------------
|
||||
|
||||
/(?R-:(?</
|
||||
Failed: error 114 at offset 8: missing closing parenthesis
|
||||
|
||||
/(?R-:(?<)/
|
||||
Failed: error 129 at offset 3: (?R or (?[+-]digits must be followed by )
|
||||
|
||||
/(?(?C{\Q})(?!(?'/
|
||||
|
@ -14502,7 +14505,7 @@ No match
|
|||
0: ab
|
||||
|
||||
/(?(8000000000/
|
||||
Failed: error 161 at offset 13: number is too big
|
||||
Failed: error 114 at offset 13: missing closing parenthesis
|
||||
|
||||
/((?(R8000000000)))/
|
||||
Failed: error 161 at offset 16: number is too big
|
||||
|
|
|
@ -1028,6 +1028,9 @@ May match empty string
|
|||
Subject length lower bound = 0
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
Failed: error 186 at offset 490: regular expression is too complicated
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1026,4 +1026,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1026,4 +1026,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1026,4 +1026,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1026,4 +1026,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1026,4 +1026,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1029,4 +1029,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1027,4 +1027,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
|
@ -1025,4 +1025,6 @@ Subject length lower bound = 0
|
|||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
|
||||
Failed: error 114 at offset 509: missing closing parenthesis
|
||||
|
||||
/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
||||
|
||||
# End of testinput8
|
||||
|
|
Loading…
Reference in New Issue