andgineer / TRegExpr

Regular expressions (regex), pascal.
https://regex.sorokin.engineer/en/latest/
MIT License
174 stars 63 forks source link

What is OP_LOOP, OP_LOOPENTRY? #189

Closed Alexey-T closed 4 years ago

Alexey-T commented 4 years ago
  OP_LOOPENTRY = TREOp(23); // Node Start of loop (Node - LOOP for this loop)
  OP_LOOP = TREOp(24); // Node,Min,Max,LoopEntryJmp - back jump for LOOPENTRY.
  // Min and Max are TREBracesArg
  // Node - next node in sequence,
  // LoopEntryJmp - associated LOOPENTRY node addr

They use define {$DEFINE ComplexBraces} // Support braces in complex cases and

    reeComplexBracesNotImplemented:
      Result := 'TRegExpr compile: if you use braces {} and non-greedy ops *?, +?, ?? for complex cases, enable {$DEFINE ComplexBraces}';

@andgineer Can you write here what is this opcode? how to see it in "regex dump" demo (folder test_dlg)?