Lines Matching full:terms
966 #define currentTerm() (disjunction->terms[context->term])
976 ASSERT(context->term < static_cast<int>(disjunction->terms.size()));
1111 ASSERT(context->term < static_cast<int>(disjunction->terms.size()));
1284 m_bodyDisjunction->terms.append(ByteTerm::CheckInput(count));
1289 m_bodyDisjunction->terms.append(ByteTerm::BOL(inputPosition));
1294 m_bodyDisjunction->terms.append(ByteTerm::EOL(inputPosition));
1299 m_bodyDisjunction->terms.append(ByteTerm::WordBoundary(invert, inputPosition));
1309 m_bodyDisjunction->terms.append(ByteTerm(lo, hi, inputPosition, frameLocation, quantityCount, quantityType));
1314 m_bodyDisjunction->terms.append(ByteTerm(ch, inputPosition, frameLocation, quantityCount, quantityType));
1319 m_bodyDisjunction->terms.append(ByteTerm(characterClass, invert, inputPosition));
1321 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityCount = quantityCount;
1322 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityType = quantityType;
1323 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].frameLocation = frameLocation;
1330 m_bodyDisjunction->terms.append(ByteTerm::BackReference(subpatternId, inputPosition));
1332 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityCount = quantityCount;
1333 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityType = quantityType;
1334 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].frameLocation = frameLocation;
1339 int beginTerm = m_bodyDisjunction->terms.size();
1341 m_bodyDisjunction->terms.append(ByteTerm(ByteTerm::TypeParenthesesSubpatternOnceBegin, subpatternId, capture, inputPosition));
1342 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].frameLocation = frameLocation;
1343 m_bodyDisjunction->terms
1344 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].frameLocation = alternativeFrameLocation;
1352 int beginTerm = m_bodyDisjunction->terms.size();
1354 m_bodyDisjunction->terms.append(ByteTerm(ByteTerm::TypeParentheticalAssertionBegin, subpatternId, invert, 0));
1355 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].frameLocation = frameLocation;
1356 m_bodyDisjunction->terms.append(ByteTerm::AlternativeBegin());
1357 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].frameLocation = alternativeFrameLocation;
1371 ASSERT(beginTerm < m_bodyDisjunction->terms.size());
1372 ASSERT(m_currentAlternativeIndex < m_bodyDisjunction->terms.size());
1381 for (unsigned i = 0; i < disjunction->terms.size(); ++i)
1382 printf("{ %d } ", disjunction->terms[i].type);
1390 ASSERT(m_bodyDisjunction->terms[beginTerm].type == ByteTerm::TypeAlternativeBegin);
1391 int endIndex = m_bodyDisjunction->terms.size();
1393 unsigned frameLocation = m_bodyDisjunction->terms[beginTerm].frameLocation;
1395 if (!m_bodyDisjunction->terms[beginTerm].alternative.next)
1396 m_bodyDisjunction->terms.remove(beginTerm);
1398 while (m_bodyDisjunction->terms[beginTerm].alternative.next) {
1399 beginTerm += m_bodyDisjunction->terms[beginTerm].alternative.next;
1400 ASSERT(m_bodyDisjunction->terms[beginTerm].type == ByteTerm::TypeAlternativeDisjunction);
1401 m_bodyDisjunction->terms[beginTerm].alternative.end = endIndex - beginTerm;
1402 m_bodyDisjunction->terms[beginTerm].frameLocation = frameLocation;
1405 m_bodyDisjunction->terms[beginTerm].alternative.next = origBeginTerm - beginTerm;
1407 m_bodyDisjunction->terms.append(ByteTerm::AlternativeEnd());
1408 m_bodyDisjunction->terms[endIndex].frameLocation = frameLocation;
1416 ASSERT(m_bodyDisjunction->terms[beginTerm].type == ByteTerm::TypeBodyAlternativeBegin);
1417 int endIndex = m_bodyDisjunction->terms.size();
1419 unsigned frameLocation = m_bodyDisjunction->terms[beginTerm].frameLocation;
1421 while (m_bodyDisjunction->terms[beginTerm].alternative.next) {
1422 beginTerm += m_bodyDisjunction->terms[beginTerm].alternative.next;
1423 ASSERT(m_bodyDisjunction->terms[beginTerm].type == ByteTerm::TypeBodyAlternativeDisjunction);
1424 m_bodyDisjunction->terms[beginTerm].alternative.end = endIndex - beginTerm;
1425 m_bodyDisjunction->terms[beginTerm].frameLocation = frameLocation;
1428 m_bodyDisjunction->terms[beginTerm].alternative.next = origBeginTerm - beginTerm;
1430 m_bodyDisjunction->terms.append(ByteTerm::BodyAlternativeEnd());
1431 m_bodyDisjunction->terms[endIndex].frameLocation = frameLocation;
1438 unsigned endTerm = m_bodyDisjunction->terms.size();
1440 bool isAssertion = m_bodyDisjunction->terms[beginTerm].type == ByteTerm::TypeParentheticalAssertionBegin;
1441 bool invertOrCapture = m_bodyDisjunction->terms[beginTerm].invertOrCapture;
1442 unsigned subpatternId = m_bodyDisjunction->terms[beginTerm].atom.subpatternId;
1444 m_bodyDisjunction->terms.append(ByteTerm(isAssertion ? ByteTerm::TypeParentheticalAssertionEnd : ByteTerm::TypeParenthesesSubpatternOnceEnd, subpatternId, invertOrCapture, inputPosition));
1445 m_bodyDisjunction->terms[beginTerm].atom.parenthesesWidth = endTerm - beginTerm;
1446 m_bodyDisjunction->terms[endTerm].atom.parenthesesWidth = endTerm - beginTerm;
1447 m_bodyDisjunction->terms[endTerm].frameLocation = frameLocation;
1450 m_bodyDisjunction->terms[beginTerm].atom.quantityCount = quantityCount;
1451 m_bodyDisjunction->terms[beginTerm].atom.quantityType = quantityType;
1452 m_bodyDisjunction->terms[endTerm].atom.quantityCount = quantityCount;
1453 m_bodyDisjunction->terms[endTerm].atom.quantityType = quantityType;
1455 ByteTerm& parenthesesBegin = m_bodyDisjunction->terms[beginTerm];
1464 parenthesesDisjunction->terms.append(ByteTerm::SubpatternBegin());
1466 parenthesesDisjunction->terms.append(m_bodyDisjunction->terms[termInParentheses]);
1467 parenthesesDisjunction->terms.append(ByteTerm::SubpatternEnd());
1469 m_bodyDisjunction->terms.shrink(beginTerm);
1472 m_bodyDisjunction->terms.append(ByteTerm(ByteTerm::TypeParenthesesSubpattern, subpatternId, parenthesesDisjunction, invertOrCapture, inputPosition));
1474 m_bodyDisjunction->terms[beginTerm].atom.quantityCount = quantityCount;
1475 m_bodyDisjunction->terms[beginTerm].atom.quantityType = quantityType;
1476 m_bodyDisjunction->terms[beginTerm].frameLocation = frameLocation;
1483 m_bodyDisjunction->terms.append(ByteTerm::BodyAlternativeBegin());
1484 m_bodyDisjunction->terms[0].frameLocation = 0;
1495 int newAlternativeIndex = m_bodyDisjunction->terms.size();
1496 m_bodyDisjunction->terms[m_currentAlternativeIndex].alternative.next = newAlternativeIndex - m_currentAlternativeIndex;
1497 m_bodyDisjunction->terms.append(ByteTerm::BodyAlternativeDisjunction());
1504 int newAlternativeIndex = m_bodyDisjunction->terms.size();
1505 m_bodyDisjunction->terms[m_currentAlternativeIndex].alternative.next = newAlternativeIndex - m_currentAlternativeIndex;
1506 m_bodyDisjunction->terms.append(ByteTerm::AlternativeDisjunction());