-/* Generated by re2c 0.13.5 on Sun Apr 20 17:14:40 2014 */
+/* Generated by re2c 0.13.5 on Tue Apr 22 16:55:12 2014 */
#line 1 "ext/phar/phar_path_check.re"
/*
+----------------------------------------------------------------------+
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
- if (yych <= '>') {
- if (yych <= 0x19) {
- if (yych <= 0x00) goto yy16;
- if (yych == '\n') goto yy15;
- goto yy14;
+ if (yych <= '[') {
+ if (yych <= ')') {
+ if (yych <= '\t') {
+ if (yych <= 0x00) goto yy21;
+ goto yy23;
+ } else {
+ if (yych <= '\n') goto yy2;
+ if (yych <= 0x19) goto yy23;
+ goto yy11;
+ }
} else {
- if (yych <= '*') {
- if (yych <= ')') goto yy18;
- goto yy6;
+ if (yych <= '/') {
+ if (yych <= '*') goto yy7;
+ if (yych <= '.') goto yy11;
+ goto yy3;
} else {
- if (yych != '/') goto yy18;
+ if (yych == '?') goto yy9;
+ goto yy11;
}
}
} else {
- if (yych <= 0x7F) {
- if (yych <= '?') goto yy8;
- if (yych == '\\') goto yy4;
- goto yy18;
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\') goto yy5;
+ if (yych <= 0x7F) goto yy11;
+ goto yy23;
+ } else {
+ if (yych <= 0xDF) goto yy12;
+ if (yych <= 0xE0) goto yy14;
+ goto yy15;
+ }
} else {
- if (yych <= 0xDF) {
- if (yych <= 0xBF) goto yy14;
- goto yy10;
+ if (yych <= 0xF0) {
+ if (yych <= 0xED) goto yy16;
+ if (yych <= 0xEF) goto yy17;
+ goto yy18;
} else {
- if (yych <= 0xEF) goto yy12;
- if (yych <= 0xF7) goto yy13;
- goto yy14;
+ if (yych <= 0xF3) goto yy19;
+ if (yych <= 0xF4) goto yy20;
+ goto yy23;
}
}
}
+yy2:
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 0) {
+ goto yy4;
+ } else {
+ goto yy13;
+ }
+yy3:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '-') goto yy3;
- if (yych <= '.') goto yy29;
- if (yych <= '/') goto yy30;
-yy3:
-#line 105 "ext/phar/phar_path_check.re"
+ if (yych <= '-') goto yy4;
+ if (yych <= '.') goto yy35;
+ if (yych <= '/') goto yy36;
+yy4:
+#line 88 "ext/phar/phar_path_check.re"
{
goto loop;
}
-#line 93 "ext/phar/phar_path_check.c"
-yy4:
+#line 115 "ext/phar/phar_path_check.c"
+yy5:
++YYCURSOR;
-#line 63 "ext/phar/phar_path_check.re"
+#line 72 "ext/phar/phar_path_check.re"
{
*error = "back-slash";
return pcr_err_back_slash;
}
-#line 101 "ext/phar/phar_path_check.c"
-yy6:
+#line 123 "ext/phar/phar_path_check.c"
+yy7:
++YYCURSOR;
-#line 67 "ext/phar/phar_path_check.re"
+#line 76 "ext/phar/phar_path_check.re"
{
*error = "star";
return pcr_err_star;
}
-#line 109 "ext/phar/phar_path_check.c"
-yy8:
+#line 131 "ext/phar/phar_path_check.c"
+yy9:
++YYCURSOR;
-#line 71 "ext/phar/phar_path_check.re"
+#line 80 "ext/phar/phar_path_check.re"
{
if (**s == '/') {
(*s)++;
*error = NULL;
return pcr_use_query;
}
-#line 121 "ext/phar/phar_path_check.c"
-yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0x7F) goto yy11;
- if (yych <= 0xBF) goto yy27;
+#line 143 "ext/phar/phar_path_check.c"
yy11:
-#line 88 "ext/phar/phar_path_check.re"
+ yych = *++YYCURSOR;
+ goto yy4;
+yy12:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= 0x7F) goto yy13;
+ if (yych <= 0xBF) goto yy26;
+yy13:
+#line 104 "ext/phar/phar_path_check.re"
{
*error ="illegal character";
return pcr_err_illegal_char;
}
-#line 132 "ext/phar/phar_path_check.c"
-yy12:
+#line 157 "ext/phar/phar_path_check.c"
+yy14:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x7F) goto yy11;
- if (yych <= 0xBF) goto yy24;
- goto yy11;
-yy13:
+ if (yych <= 0x9F) goto yy13;
+ if (yych <= 0xBF) goto yy34;
+ goto yy13;
+yy15:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x7F) goto yy11;
- if (yych <= 0xBF) goto yy19;
- goto yy11;
-yy14:
- yych = *++YYCURSOR;
- goto yy11;
-yy15:
- yych = *++YYCURSOR;
- goto yy11;
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0xBF) goto yy33;
+ goto yy13;
yy16:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0x9F) goto yy32;
+ goto yy13;
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0xBF) goto yy31;
+ goto yy13;
+yy18:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x8F) goto yy13;
+ if (yych <= 0xBF) goto yy29;
+ goto yy13;
+yy19:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0xBF) goto yy27;
+ goto yy13;
+yy20:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0x8F) goto yy24;
+ goto yy13;
+yy21:
++YYCURSOR;
-#line 92 "ext/phar/phar_path_check.re"
+#line 91 "ext/phar/phar_path_check.re"
{
if (**s == '/') {
(*s)++;
*error = NULL;
return pcr_is_ok;
}
-#line 167 "ext/phar/phar_path_check.c"
-yy18:
+#line 216 "ext/phar/phar_path_check.c"
+yy23:
yych = *++YYCURSOR;
- goto yy3;
-yy19:
+ goto yy13;
+yy24:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy20;
- if (yych <= 0xBF) goto yy21;
-yy20:
- YYCURSOR = YYMARKER;
- if (yyaccept <= 0) {
- goto yy3;
- } else {
- goto yy11;
- }
-yy21:
+ if (yych <= 0x7F) goto yy2;
+ if (yych >= 0xC0) goto yy2;
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy20;
- if (yych >= 0xC0) goto yy20;
- ++YYCURSOR;
-#line 85 "ext/phar/phar_path_check.re"
- {
- goto loop;
- }
-#line 191 "ext/phar/phar_path_check.c"
-yy24:
+ if (yych <= 0x7F) goto yy2;
+ if (yych >= 0xC0) goto yy2;
+yy26:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy20;
- if (yych >= 0xC0) goto yy20;
- ++YYCURSOR;
-#line 82 "ext/phar/phar_path_check.re"
- {
- goto loop;
- }
-#line 201 "ext/phar/phar_path_check.c"
+ goto yy4;
yy27:
- ++YYCURSOR;
-#line 79 "ext/phar/phar_path_check.re"
- {
- goto loop;
- }
-#line 208 "ext/phar/phar_path_check.c"
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy2;
+ if (yych >= 0xC0) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy2;
+ if (yych <= 0xBF) goto yy26;
+ goto yy2;
yy29:
yych = *++YYCURSOR;
- if (yych <= 0x00) goto yy33;
- if (yych <= '-') goto yy20;
- if (yych <= '.') goto yy32;
- if (yych <= '/') goto yy33;
- goto yy20;
-yy30:
+ if (yych <= 0x7F) goto yy2;
+ if (yych >= 0xC0) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy2;
+ if (yych <= 0xBF) goto yy26;
+ goto yy2;
+yy31:
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy2;
+ if (yych <= 0xBF) goto yy26;
+ goto yy2;
+yy32:
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy2;
+ if (yych <= 0xBF) goto yy26;
+ goto yy2;
+yy33:
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy2;
+ if (yych <= 0xBF) goto yy26;
+ goto yy2;
+yy34:
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy2;
+ if (yych <= 0xBF) goto yy26;
+ goto yy2;
+yy35:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy39;
+ if (yych <= '-') goto yy2;
+ if (yych <= '.') goto yy38;
+ if (yych <= '/') goto yy39;
+ goto yy2;
+yy36:
++YYCURSOR;
-#line 51 "ext/phar/phar_path_check.re"
+#line 60 "ext/phar/phar_path_check.re"
{
*error = "double slash";
return pcr_err_double_slash;
}
-#line 223 "ext/phar/phar_path_check.c"
-yy32:
+#line 280 "ext/phar/phar_path_check.c"
+yy38:
yych = *++YYCURSOR;
- if (yych <= 0x00) goto yy35;
- if (yych == '/') goto yy35;
- goto yy20;
-yy33:
+ if (yych <= 0x00) goto yy41;
+ if (yych == '/') goto yy41;
+ goto yy2;
+yy39:
++YYCURSOR;
-#line 59 "ext/phar/phar_path_check.re"
+#line 68 "ext/phar/phar_path_check.re"
{
*error = "current directory reference";
return pcr_err_curr_dir;
}
-#line 236 "ext/phar/phar_path_check.c"
-yy35:
+#line 293 "ext/phar/phar_path_check.c"
+yy41:
++YYCURSOR;
-#line 55 "ext/phar/phar_path_check.re"
+#line 64 "ext/phar/phar_path_check.re"
{
*error = "upper directory reference";
return pcr_err_up_dir;
}
-#line 244 "ext/phar/phar_path_check.c"
+#line 301 "ext/phar/phar_path_check.c"
}
#line 108 "ext/phar/phar_path_check.re"