Lines Matching refs:eng
195 re_eng eng;
202 eng.str = (unsigned char*)string;
204 eng.end = eng.str + pmat[0].rm_eo;
205 eng.str += pmat[0].rm_so;
208 eng.end = eng.str + strlen(string);
209 eng.bas = eng.str;
212 eng.cod = preg->cod + 2;
216 eng.gso[i] = 0;
217 eng.geo[i] = -1;
222 eng.so[0] = 0;
223 eng.eo[0] = eng.sv[0] = -1;
224 eng.rcod[0] = eng.cod;
225 eng.rstr[0] = eng.str + 1;
226 eng.off = 0;
227 eng.goff = -1;
230 switch (*eng.cod) {
235 if (eng.str == eng.end || (newline && eng.str[0] == '\n'))
240 for (ptr = eng.str; ptr < eng.end; ptr++) {
244 si = ptr - eng.str;
247 si = eng.end - eng.str;
250 si = eng.end > eng.str;
251 if (newline && si && eng.str[0] == '\n')
256 for (ptr = eng.str; ptr < eng.end; ptr++) {
260 si = ptr - eng.str;
263 si = eng.end - eng.str;
270 if (eng.str >= eng.end)
272 if (re__odigit[eng.str[0]])
276 if (eng.str >= eng.end || re__odigit[eng.str[0]])
280 if (eng.str >= eng.end)
282 if (re__ddigit[eng.str[0]])
286 if (eng.str >= eng.end || re__ddigit[eng.str[0]])
290 if (eng.str >= eng.end)
292 if (re__xdigit[eng.str[0]])
296 if (eng.str >= eng.end || re__xdigit[eng.str[0]])
300 if (eng.str >= eng.end)
302 if (eng.str[0] == ' ' || eng.str[0] == '\t')
306 if (eng.str >= eng.end)
308 if (eng.str[0] != ' ' && eng.str[0] != '\t')
312 if (eng.str >= eng.end)
314 if (eng.str[0] == '\t')
318 if (eng.str >= eng.end)
320 if (eng.str[0] == '\n')
324 if (eng.str >= eng.end)
326 if (eng.str[0] >= 'a' && eng.str[0] <= 'z')
330 if (eng.str >= eng.end)
332 if (eng.str[0] >= 'A' && eng.str[0] <= 'Z')
336 if (eng.str >= eng.end)
338 if (re__alnum[eng.str[0]])
342 if (eng.str >= eng.end)
344 if (re__alnum[eng.str[0]])
348 if (eng.str >= eng.end)
350 if (re__control[eng.str[0]])
354 if (eng.str >= eng.end || re__control[eng.str[0]])
362 if (eng.str == eng.bas) {
372 if (newline && eng.str[-1] == '\n') {
378 if (eng.str == eng.end) {
385 if (newline && eng.str[0] == '\n') {
391 if (eng.str >= eng.end ||
392 (eng.str > eng.bas &&
393 (re__alnum[eng.str[-1]])))
395 if (re__alnum[eng.str[0]]) {
401 if (eng.str == eng.bas ||
402 (eng.str < eng.end &&
403 re__alnum[eng.str[0]]))
405 if (re__alnum[eng.str[-1]]) {
415 if (eng.str >= eng.end)
417 if (eng.str[0] == eng.cod[1]) {
423 if (eng.str >= eng.end)
425 if (eng.str[0] != eng.cod[1]) {
431 for (str = eng.str; str < eng.end; str++) {
432 if (*str == eng.cod[1]) {
434 eng.str = str;
439 eng.so[0] = str - eng.bas;
440 eng.str = str;
447 if (eng.str >= eng.end)
449 if (eng.str[0] == eng.cod[1] || eng.str[0] == eng.cod[2]) {
455 if (eng.str >= eng.end)
457 if (eng.str[0] != eng.cod[1] && eng.str[0] != eng.cod[2]) {
463 for (str = eng.str; str < eng.end; str++) {
464 if (*str == eng.cod[1] || *str == eng.cod[2]) {
466 eng.str = str;
470 eng.so[0] = str - eng.bas;
471 eng.str = str;
478 len = eng.cod[1];
481 len = (len & 0x7f) + (eng.cod[2] << 7);
485 if (eng.end - eng.str < len)
487 ptr = eng.cod + i;
488 str = eng.str;
497 len = eng.cod[1];
500 len = (len & 0x7f) + (eng.cod[2] << 7);
504 for (str = eng.str; eng.end - str >= len; str = eng.str++) {
505 for (ptr = eng.cod + i, str = eng.str, k = len; k > 0; k--)
511 si = str - eng.str;
515 eng.so[0] = eng.end - eng.bas;
516 eng.str = eng.end;
520 len = eng.cod[1];
523 len = (len & 0x7f) + (eng.cod[2] << 7);
531 if (eng.end - eng.str < len)
533 ptr = eng.cod + i;
534 str = eng.str;
543 len = eng.cod[1];
546 len = (len & 0x7f) + (eng.cod[2] << 7);
551 for (str = eng.str; eng.end - str >= len; str = eng.str++) {
552 for (ptr = eng.cod + i, str = eng.str, k = len;
559 si = str - eng.str;
563 eng.so[0] = eng.end - eng.bas;
564 eng.str = eng.end;
569 k = eng.cod[1];
572 bas = eng.cod[2] | (eng.cod[3] << 8);
574 str = eng.str;
575 ptr = eng.cod + k + 4;
576 l = eng.end - eng.str;
578 len = eng.cod[j + 4];
596 k = eng.cod[1];
599 bas = eng.cod[2] | (eng.cod[3] << 8);
601 str = eng.str;
602 ptr = eng.cod + k + 4;
603 l = eng.end - eng.str;
605 len = eng.cod[j + 4];
624 bas = eng.cod[1] | (eng.cod[2] << 8);
626 str = eng.str;
629 ptr = eng.cod + 3;
637 l = eng.end - eng.str;
660 bas = eng.cod[1] | (eng.cod[2] << 8);
662 str = eng.str;
665 ptr = eng.cod + 3;
673 l = eng.end - eng.str;
699 if (eng.str < eng.end && eng.cod[eng.str[0] + 1]) {
705 if (eng.str >= eng.end || eng.cod[eng.str[0] + 1])
714 if (++eng.goff >= 9)
716 eng.gso[eng.goff] = eng.str - eng.bas;
717 ++eng.cod;
720 eng.geo[eng.goff] = eng.str - eng.bas;
721 ++eng.cod;
724 bas = eng.cod[1];
725 eng.geo[eng.goff] = eng.str - eng.bas;
726 eng.cod += 2; /* + Update + bas */
733 i = eng.cod[1];
734 j = eng.gso[i];
735 k = eng.geo[i];
737 if (k < j || eng.end - eng.str < len)
739 ptr = eng.bas + j;
740 str = eng.str;
753 bas = eng.off;
754 if (++eng.off >= MAX_DEPTH)
758 i = eng.cod[1] | (eng.cod[2] << 8);
761 eng.rcod[eng.off] = eng.cod + i + 1; /* + Alt */
764 eng.rstr[eng.off] = eng.str;
767 if (eng.so[bas] <= eng.eo[bas])
768 eng.so[eng.off] = eng.eo[bas];
770 eng.so[eng.off] = eng.so[bas];
771 eng.sv[eng.off] = eng.eo[eng.off] = eng.so[eng.off] - 1;
774 eng.ss[eng.off] = eng.so[bas];
777 eng.cod += 3;
783 bas = eng.off - 1;
785 if (eng.eo[eng.off] >= eng.so[eng.off] &&
786 eng.sv[eng.off] - eng.so[eng.off] <
787 eng.eo[eng.off] - eng.so[eng.off])
788 eng.sv[eng.off] = eng.eo[eng.off];
791 i = eng.cod[1] | (eng.cod[2] << 8);
794 eng.rcod[eng.off] = eng.cod + i + 1; /* + AltNext */
797 eng.eo[eng.off] = eng.so[eng.off] - 1;
800 eng.str = eng.rstr[eng.off];
803 eng.cod += 3;
809 bas = eng.off - 1;
811 if (eng.sv[eng.off] - eng.so[eng.off] <
812 eng.eo[eng.off] - eng.so[eng.off])
813 eng.sv[eng.off] = eng.eo[eng.off];
816 if (eng.sv[eng.off] >= eng.so[eng.off]) {
817 eng.so[bas] = eng.ss[eng.off];
818 eng.eo[bas] = eng.sv[eng.off];
819 eng.str = eng.bas + eng.eo[bas];
822 --eng.off;
823 ++eng.cod;
830 eng.str = eng.rstr[eng.off];
831 --eng.off;
846 if (++eng.off >= MAX_DEPTH) \
850 eng.rcod[eng.off] = eng.cod; \
853 if (eng.so[bas] <= eng.eo[bas]) \
854 eng.so[eng.off] = eng.eo[bas]; \
856 eng.so[eng.off] = eng.so[bas]; \
857 eng.ss[eng.off] = eng.so[bas]; \
858 eng.sv[eng.off] = eng.eo[eng.off] = eng.so[eng.off] - 1;\
861 eng.cod += 4;
865 bas = eng.cod[1];
866 if (eng.off == bas) {
871 if (eng.eo[eng.off] >= eng.so[eng.off] &&
872 eng.eo[eng.off] > eng.sv[eng.off]) {
874 eng.sv[eng.off] = eng.eo[eng.off];
877 eng.cod += 4;
881 len = eng.cod[2] | (eng.cod[3] << 8);
882 eng.so[bas] = eng.ss[eng.off];
883 if (eng.sv[eng.off] >= eng.so[eng.off])
885 eng.eo[bas] = eng.sv[eng.off];
886 else if (eng.eo[bas] < eng.so[bas])
888 eng.eo[bas] = eng.so[bas];
891 eng.str = eng.bas + eng.eo[bas];
894 --eng.off;
895 eng.cod += len;
901 bas = eng.cod[1];
902 if (eng.off == bas) {
908 len = eng.cod[2] | (eng.cod[3] << 8);
909 eng.so[bas] = eng.ss[eng.off];
910 if (eng.eo[eng.off] > eng.so[eng.off]) {
912 eng.eo[bas] = eng.eo[eng.off];
913 eng.str = eng.bas + eng.eo[bas];
918 if (eng.eo[bas] < eng.so[bas])
919 eng.eo[bas] = eng.so[bas];
922 eng.str = eng.bas + eng.eo[bas];
926 --eng.off;
929 eng.cod += len;
934 bas = eng.cod[1];
935 if (eng.off == bas) {
940 if (eng.eo[eng.off] >= eng.so[eng.off] &&
941 eng.eo[eng.off] > eng.sv[eng.off]) {
943 eng.sv[eng.off] = eng.eo[eng.off];
946 eng.cod += 4;
950 len = eng.cod[2] | (eng.cod[3] << 8);
951 if (eng.sv[eng.off] >= eng.so[eng.off]) {
953 eng.so[bas] = eng.ss[eng.off];
954 eng.eo[bas] = eng.sv[eng.off];
955 eng.str = eng.bas + eng.eo[bas];
961 eng.so[bas] = eng.str - eng.bas;
964 --eng.off;
969 --eng.off;
970 eng.cod += len;
981 i = eng.cod[1]; \
982 bas = eng.cod[2];
986 if (++eng.off >= MAX_DEPTH) \
990 eng.re[eng.off] = 0; \
993 eng.rcod[eng.off] = eng.cod; \
996 if (eng.so[bas] <= eng.eo[bas]) \
997 eng.so[eng.off] = eng.eo[bas]; \
999 eng.so[eng.off] = eng.so[bas]; \
1000 eng.sv[eng.off] = eng.eo[eng.off] = eng.so[eng.off] - 1;\
1001 eng.ss[eng.off] = eng.so[bas]; \
1004 eng.cod += 5;
1007 if (eng.off == bas) {
1012 if (eng.eo[eng.off] >= eng.so[eng.off] &&
1013 eng.eo[eng.off] > eng.sv[eng.off]) {
1015 eng.sv[eng.off] = eng.eo[eng.off];
1018 if (++eng.re[eng.off] == i) {
1020 eng.so[bas] = eng.ss[eng.off];
1021 eng.eo[bas] = eng.sv[eng.off];
1022 eng.str = eng.bas + eng.eo[bas];
1025 k = eng.cod[3] | (eng.cod[4] << 8);
1026 eng.cod += k;
1029 --eng.off;
1034 eng.cod += 5;
1040 eng.so[bas] = eng.str - eng.bas;
1043 --eng.off;
1051 if (eng.off == bas) {
1056 if (eng.eo[eng.off] >= eng.so[eng.off] &&
1057 eng.eo[eng.off] > eng.sv[eng.off]) {
1059 eng.sv[eng.off] = eng.eo[eng.off];
1062 ++eng.re[eng.off];
1065 eng.cod += 5;
1069 if (eng.re[eng.off] < i) {
1073 eng.so[bas] = eng.str - eng.bas;
1076 --eng.off;
1081 eng.eo[bas] = eng.sv[eng.off];
1082 eng.str = eng.bas + eng.eo[bas];
1083 k = eng.cod[3] | (eng.cod[4] << 8);
1086 eng.cod += k;
1087 --eng.off;
1095 if (eng.off == bas) {
1100 if (eng.eo[eng.off] >= eng.so[eng.off] &&
1101 eng.eo[eng.off] > eng.sv[eng.off]) {
1103 eng.sv[eng.off] = eng.eo[eng.off];
1106 if (++eng.re[eng.off] == i) {
1108 eng.so[bas] = eng.ss[eng.off];
1109 eng.eo[bas] = eng.sv[eng.off];
1110 eng.str = eng.bas + eng.eo[bas];
1112 k = eng.cod[3] | (eng.cod[4] << 8);
1115 eng.cod += k;
1116 --eng.off;
1121 eng.cod += 5;
1125 k = eng.cod[3] | (eng.cod[4] << 8);
1126 if (eng.sv[eng.off] >= eng.so[eng.off]) {
1128 eng.so[bas] = eng.ss[eng.off];
1129 eng.eo[bas] = eng.sv[eng.off];
1130 eng.str = eng.bas + eng.eo[bas];
1134 if (eng.eo[bas] < eng.so[bas])
1135 eng.eo[bas] = eng.so[bas];
1138 eng.str = eng.bas + eng.eo[bas];
1142 --eng.off;
1143 eng.cod += k;
1149 bas = eng.cod[3];
1150 if (eng.off == bas) {
1155 if (eng.eo[eng.off] >= eng.so[eng.off] &&
1156 eng.eo[eng.off] > eng.sv[eng.off]) {
1158 eng.sv[eng.off] = eng.eo[eng.off];
1161 if (++eng.re[eng.off] == eng.cod[2]) {
1163 eng.so[bas] = eng.ss[eng.off];
1164 eng.eo[bas] = eng.sv[eng.off];
1165 eng.str = eng.bas + eng.eo[bas];
1166 k = eng.cod[4] | (eng.cod[5] << 8);
1169 eng.cod += k;
1170 --eng.off;
1175 eng.cod += 6;
1179 if (eng.re[eng.off] < eng.cod[1]) {
1183 eng.so[bas] = eng.str - eng.bas;
1186 --eng.off;
1191 eng.so[bas] = eng.ss[eng.off];
1192 eng.eo[bas] = eng.sv[eng.off];
1193 eng.str = eng.bas + eng.eo[bas];
1194 k = eng.cod[4] | (eng.cod[5] << 8);
1197 eng.cod += k;
1198 --eng.off;
1210 bas = eng.cod[1];
1211 if (eng.off == bas) {
1213 if (++eng.off >= MAX_DEPTH)
1217 eng.rcod[eng.off] = eng.cod;
1220 eng.rstr[eng.off] = eng.str;
1223 eng.so[eng.off] = eng.str - eng.bas;
1224 eng.eo[eng.off] = eng.so[eng.off] - 1;
1230 eng.re[eng.off] = eng.so[eng.off];
1233 eng.ss[eng.off] = eng.so[bas];
1236 eng.cod += 5;
1240 if (eng.cod[2] != 0xff)
1241 eng.goff = eng.cod[2];
1243 eng.goff = -1;
1246 ptr = eng.bas + eng.re[eng.off];
1247 str = eng.bas + eng.so[eng.off];
1250 eng.cod = eng.rcod[0];
1251 eng.so[0] = ptr - eng.bas + 1;
1252 eng.eo[0] = eng.so[0] - 1;
1253 eng.rstr[0] = eng.str = ptr + 1;
1254 eng.off = 0;
1258 eng.re[eng.off] = ptr - eng.bas;
1261 if (eng.eo[eng.off] >= eng.so[eng.off]) {
1265 if (eng.goff >= 0) {
1266 if (eng.cod[5] == Re_Update)
1267 eng.gso[eng.goff] = eng.eo[bas] +
1268 (eng.so[bas] > eng.eo[bas]);
1269 else if (eng.geo[eng.goff] < eng.so[eng.off])
1270 eng.geo[eng.goff] = eng.so[eng.off];
1274 len = eng.cod[3] | (eng.cod[4] << 8);
1277 eng.so[bas] = eng.ss[eng.off];
1278 eng.eo[bas] = eng.eo[eng.off];
1281 --eng.off;
1282 eng.cod += len;
1286 if (eng.str < eng.end) {
1288 eng.str = ++eng.rstr[eng.off];
1291 eng.so[eng.off] = eng.str - eng.bas;
1294 eng.cod += 5;
1300 len = eng.cod[3] | (eng.cod[4] << 8);
1303 eng.so[bas] = eng.ss[eng.off];
1304 eng.eo[bas] = eng.ss[eng.off] - 1;
1307 --eng.off;
1308 eng.cod += len;
1324 bas = eng.cod[1];
1325 if (eng.off == bas) {
1327 if (++eng.off >= MAX_DEPTH)
1331 eng.rcod[eng.off] = eng.cod;
1334 eng.rstr[eng.off] = eng.str;
1337 eng.re[eng.off] = 0;
1340 eng.so[eng.off] = eng.str - eng.bas;
1341 eng.eo[eng.off] = eng.so[eng.off] - 1;
1344 eng.ss[eng.off] = eng.so[bas];
1347 eng.cod += 5;
1351 if (eng.cod[2] != 0xff)
1352 eng.goff = eng.cod[2];
1354 eng.goff = -1;
1356 if (eng.eo[eng.off] >= eng.so[eng.off]) {
1359 if (eng.goff >= 0) {
1360 if (eng.cod[5] == Re_Update)
1361 eng.gso[eng.goff] = eng.eo[bas] +
1362 (eng.so[bas] > eng.eo[bas]);
1363 else if (eng.geo[eng.goff] < eng.so[eng.off])
1364 eng.geo[eng.goff] = eng.so[eng.off];
1368 len = eng.cod[3] | (eng.cod[4] << 8);
1371 eng.eo[bas] = eng.eo[eng.off];
1374 --eng.off;
1375 eng.cod += len;
1377 else if (eng.re[eng.off] == 0 &&
1378 (!newline || eng.rstr[eng.off][1] != '\n')) {
1380 ++eng.re[eng.off];
1383 eng.str = ++eng.rstr[eng.off];
1384 eng.cod += 5;
1390 eng.eo[bas] = eng.ss[eng.off];
1391 eng.so[bas] = eng.eo[bas] + 1;
1393 eng.str = eng.rstr[eng.off] + (eng.re[eng.off] == 0);
1396 --eng.off;
1397 if (eng.str >= eng.end)
1399 eng.cod = eng.rcod[bas];
1406 bas = eng.cod[1];
1407 if (eng.off == bas) {
1409 if (++eng.off >= MAX_DEPTH)
1413 eng.rcod[eng.off] = eng.cod;
1416 if (newline && eng.str[0] == '\n') {
1418 eng.cod = eng.rcod[0];
1419 eng.rstr[0] = ++eng.str;
1420 eng.so[0] = eng.str - eng.bas;
1421 eng.eo[0] = eng.so[0] - 1;
1422 eng.off = 0;
1425 eng.rstr[eng.off] = ++eng.str;
1428 eng.so[eng.off] = eng.str - eng.bas;
1429 eng.eo[eng.off] = eng.so[eng.off] - 1;
1435 eng.re[eng.off] = eng.so[eng.off];
1438 eng.ss[eng.off] = eng.so[bas];
1441 eng.cod += 5;
1445 if (eng.cod[2] != 0xff)
1446 eng.goff = eng.cod[2];
1448 eng.goff = -1;
1451 ptr = eng.bas + eng.re[eng.off];
1452 str = eng.bas + eng.so[eng.off];
1455 eng.cod = eng.rcod[0];
1456 eng.so[0] = ptr - eng.bas + 1;
1457 eng.eo[0] = eng.so[0] - 1;
1458 eng.rstr[0] = eng.str = ptr + 1;
1459 eng.off = 0;
1463 eng.re[eng.off] = ptr - eng.bas;
1466 if (eng.eo[eng.off] >= eng.so[eng.off]) {
1470 if (eng.goff >= 0) {
1471 if (eng.cod[5] == Re_Update)
1472 eng.gso[eng.goff] = eng.eo[bas] +
1473 (eng.so[bas] > eng.eo[bas]);
1474 else if (eng.geo[eng.goff] < eng.so[eng.off])
1475 eng.geo[eng.goff] = eng.so[eng.off];
1479 len = eng.cod[3] | (eng.cod[4] << 8);
1482 eng.so[bas] = eng.ss[eng.off];
1483 eng.eo[bas] = eng.eo[eng.off];
1486 --eng.off;
1487 eng.cod += len;
1491 if (eng.str < eng.end) {
1493 eng.str = ++eng.rstr[eng.off];
1496 eng.so[eng.off] = eng.str - eng.bas;
1499 eng.cod += 5;
1505 len = eng.cod[3] | (eng.cod[4] << 8);
1508 eng.so[bas] = eng.ss[eng.off];
1509 eng.eo[bas] = eng.ss[eng.off] - 1;
1512 --eng.off;
1513 eng.cod += len;
1524 /* eng.cod[1] is toplevel offset of repetition */
1525 if (eng.off > eng.cod[1])
1527 eng.cod -= eng.cod[2];
1529 eng.cod += 3; /* + RepJump + bas + len-size */
1533 /* eng.cod[1] is toplevel offset of repetition */
1534 if (eng.off > eng.cod[1])
1536 eng.cod -= eng.cod[2] | (eng.cod[3] << 8);
1538 eng.cod += 4; /* + RepLongJump + bas + len-size */
1545 if (eng.eo[eng.off] >= eng.so[eng.off]) {
1546 eng.so[0] = eng.ss[eng.off];
1547 eng.eo[0] = eng.eo[eng.off];
1550 ++eng.cod;
1553 if (eng.eo[eng.off] >= eng.so[eng.off]) {
1554 eng.so[0] = eng.ss[eng.off];
1555 eng.eo[0] = eng.eo[eng.off];
1558 ++eng.cod;
1571 if (eng.off == 0) {
1572 eng.eo[0] = eng.so[0] - 1;
1578 if (eng.off == 0) {
1580 if (++eng.str > eng.end) {
1581 eng.eo[0] = eng.so[0] - 1;
1584 eng.goff = -1;
1586 if (eng.eo[0] >= eng.so[0]) {
1588 eng.str = eng.rstr[0];
1589 ++eng.rstr[0];
1590 eng.so[0] = eng.str - eng.bas;
1591 eng.eo[0] = eng.so[eng.off] - 1;
1595 ++eng.so[0];
1599 eng.eo[eng.off] = eng.so[eng.off] - 1;
1602 eng.cod = eng.rcod[eng.off];
1608 if (eng.eo[eng.off] < eng.so[eng.off]) {
1609 if (eng.off == 0)
1610 eng.rstr[0] = eng.str + 1;
1611 eng.so[eng.off] = eng.eo[eng.off] = eng.str - eng.bas;
1613 eng.eo[eng.off] += si;
1614 eng.cod += ci;
1615 eng.str += si;
1630 eng.goff = preg->cod[1];
1631 pmat[0].rm_so = eng.so[0];
1632 pmat[0].rm_eo = eng.eo[0];
1634 if (i - 1 <= eng.goff) {
1635 pmat[i].rm_so = eng.gso[i - 1];
1636 pmat[i].rm_eo = eng.geo[i - 1];
1645 j = eng.goff + 2 > nmatch ? nmatch : eng.goff + 2;
1657 pmat[0].rm_so = eng.so[0] + len;
1658 pmat[0].rm_eo = eng.eo[0] + len;
1662 return (eng.so[0] <= eng.eo[0] ? 0 : RE_NOMATCH);