Lines Matching refs:atom
120 unsigned firstSubpatternId = term.atom.subpatternId;
121 unsigned numNestedSubpatterns = term.atom.parenthesesDisjunction->m_numSubpatterns;
144 return reinterpret_cast<DisjunctionContext*>(&(subpatternBackup[term.atom.parenthesesDisjunction->m_numSubpatterns << 1]));
153 return new(malloc(sizeof(ParenthesesDisjunctionContext) + (((term.atom.parenthesesDisjunction->m_numSubpatterns << 1) - 1) * sizeof(int)) + sizeof(DisjunctionContext) + (disjunction->m_frameSize - 1) * sizeof(uintptr_t))) ParenthesesDisjunctionContext(output, term);
378 switch (term.atom.quantityType) {
391 if ((backTrack->matchAmount < term.atom.quantityCount) && input.checkInput(1)) {
393 if (checkCharacter(term.atom.patternCharacter, term.inputPosition - 1))
407 switch (term.atom.quantityType) {
420 if ((backTrack->matchAmount < term.atom.quantityCount) && input.checkInput(1)) {
422 if (checkCasedCharacter(term.atom.casedCharacter.lo, term.atom.casedCharacter.hi, term.inputPosition - 1))
437 switch (term.atom.quantityType) {
439 for (unsigned matchAmount = 0; matchAmount < term.atom.quantityCount; ++matchAmount) {
440 if (!checkCharacterClass(term.atom.characterClass, term.invert(), term.inputPosition + matchAmount))
448 while ((matchAmount < term.atom.quantityCount) && input.checkInput(1)) {
449 if (!checkCharacterClass(term.atom.characterClass, term.invert(), term.inputPosition - 1)) {
474 switch (term.atom.quantityType) {
487 if ((backTrack->matchAmount < term.atom.quantityCount) && input.checkInput(1)) {
489 if (checkCharacterClass(term.atom.characterClass, term.invert(), term.inputPosition - 1))
504 int matchBegin = output[(term.atom.subpatternId << 1)];
505 int matchEnd = output[(term.atom.subpatternId << 1) + 1];
512 switch (term.atom.quantityType) {
515 for (unsigned matchAmount = 0; matchAmount < term.atom.quantityCount; ++matchAmount) {
526 while ((matchAmount < term.atom.quantityCount) && tryConsumeBackReference(matchBegin, matchEnd, term.inputPosition))
547 int matchBegin = output[(term.atom.subpatternId << 1)];
548 int matchEnd = output[(term.atom.subpatternId << 1) + 1];
555 switch (term.atom.quantityType) {
570 if ((backTrack->matchAmount < term.atom.quantityCount) && tryConsumeBackReference(matchBegin, matchEnd, term.inputPosition)) {
584 unsigned subpatternId = term.atom.subpatternId;
591 unsigned firstSubpatternId = term.atom.subpatternId;
592 unsigned count = term.atom.parenthesesDisjunction->m_numSubpatterns;
597 unsigned firstSubpatternId = term.atom.subpatternId;
598 unsigned count = term.atom.parenthesesDisjunction->m_numSubpatterns;
607 if (matchDisjunction(term.atom.parenthesesDisjunction, context->getDisjunctionContext(term), true))
621 ASSERT(term.atom.quantityCount == 1);
625 switch (term.atom.quantityType) {
633 context->term += term.atom.parenthesesWidth;
641 unsigned subpatternId = term.atom.subpatternId;
651 ASSERT(term.atom.quantityCount == 1);
654 unsigned subpatternId = term.atom.subpatternId;
663 ASSERT(term.atom.quantityCount == 1);
668 unsigned subpatternId = term.atom.subpatternId;
673 switch (term.atom.quantityType) {
678 context->term += term.atom.parenthesesWidth;
692 ASSERT(term.atom.quantityCount == 1);
696 switch (term.atom.quantityType) {
699 context->term -= term.atom.parenthesesWidth;
707 unsigned subpatternId = term.atom.subpatternId;
710 context->term -= term.atom.parenthesesWidth;
723 ASSERT(term.atom.quantityCount == 1);
734 ASSERT(term.atom.quantityCount == 1);
742 context->term -= term.atom.parenthesesWidth;
752 ASSERT(term.atom.quantityCount == 1);
756 context->term += term.atom.parenthesesWidth;
766 ASSERT(term.atom.quantityCount == 1);
772 context->term -= term.atom.parenthesesWidth;
782 unsigned subpatternId = term.atom.subpatternId;
783 ByteDisjunction* disjunctionBody = term.atom.parenthesesDisjunction;
791 switch (term.atom.quantityType) {
794 while (backTrack->matchAmount < term.atom.quantityCount) {
808 ASSERT(backTrack->matchAmount == term.atom.quantityCount);
815 while (backTrack->matchAmount < term.atom.quantityCount) {
858 unsigned subpatternId = term.atom.subpatternId;
863 ByteDisjunction* disjunctionBody = term.atom.parenthesesDisjunction;
865 switch (term.atom.quantityType) {
867 ASSERT(backTrack->matchAmount == term.atom.quantityCount);
875 while (backTrack->matchAmount < term.atom.quantityCount) {
889 ASSERT(backTrack->matchAmount == term.atom.quantityCount);
901 while (backTrack->matchAmount < term.atom.quantityCount) {
926 if (backTrack->matchAmount < term.atom.quantityCount) {
1018 for (unsigned matchAmount = 0; matchAmount < currentTerm().atom.quantityCount; ++matchAmount) {
1019 if (!checkCharacter(currentTerm().atom.patternCharacter, currentTerm().inputPosition + matchAmount))
1027 while ((matchAmount < currentTerm().atom.quantityCount) && input.checkInput(1)) {
1028 if (!checkCharacter(currentTerm().atom.patternCharacter, currentTerm().inputPosition - 1)) {
1046 for (unsigned matchAmount = 0; matchAmount < currentTerm().atom.quantityCount; ++matchAmount) {
1047 if (!checkCasedCharacter(currentTerm().atom.casedCharacter.lo, currentTerm().atom.casedCharacter.hi, currentTerm().inputPosition + matchAmount))
1055 while ((matchAmount < currentTerm().atom.quantityCount) && input.checkInput(1)) {
1056 if (!checkCasedCharacter(currentTerm().atom.casedCharacter.lo, currentTerm().atom.casedCharacter.hi, currentTerm().inputPosition - 1)) {
1321 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityCount = quantityCount;
1322 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityType = quantityType;
1332 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityCount = quantityCount;
1333 m_bodyDisjunction->terms[m_bodyDisjunction->terms.size() - 1].atom.quantityType = quantityType;
1442 unsigned subpatternId = m_bodyDisjunction->terms[beginTerm].atom.subpatternId;
1445 m_bodyDisjunction->terms[beginTerm].atom.parenthesesWidth = endTerm - beginTerm;
1446 m_bodyDisjunction->terms[endTerm].atom.parenthesesWidth = endTerm - beginTerm;
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;
1459 unsigned subpatternId = parenthesesBegin.atom.subpatternId;
1474 m_bodyDisjunction->terms[beginTerm].atom.quantityCount = quantityCount;
1475 m_bodyDisjunction->terms[beginTerm].atom.quantityType = quantityType;