summaryrefslogtreecommitdiff
path: root/doc/CALLOUTS.BUILTIN
diff options
context:
space:
mode:
Diffstat (limited to 'doc/CALLOUTS.BUILTIN')
-rw-r--r--doc/CALLOUTS.BUILTIN88
1 files changed, 88 insertions, 0 deletions
diff --git a/doc/CALLOUTS.BUILTIN b/doc/CALLOUTS.BUILTIN
new file mode 100644
index 0000000..dcf87f8
--- /dev/null
+++ b/doc/CALLOUTS.BUILTIN
@@ -0,0 +1,88 @@
+CALLOUTS.BUILTIN 2018/03/19
+
+
+* FAIL (progress)
+
+ (*FAIL)
+
+ Always fail.
+
+
+* MISMATCH (progress)
+
+ (*MISMATCH)
+
+ Terminate Match process.
+ Continue Search process.
+
+
+* ERROR (progress)
+
+ (*ERROR{n::LONG})
+
+ Terminate Search/Match process.
+
+ Return value is the argument 'n'. (The value must be less than -1)
+ 'n' is an optional argument. (default value is ONIG_ABORT)
+
+
+* MAX (progress/retraction)
+
+ (*MAX{n::LONG})
+
+ Restrict the maximum count of success.
+
+ [callout data]
+ slot 0: current success count.
+
+
+* COUNT (progress/retraction)
+
+ (*COUNT{c::CHAR})
+
+ Counter.
+ Depends on 'c' argument, the slot 0 value changes.
+ 'c' is an optional argument, deefault value is '>'.
+
+ [callout data]
+ slot 0: '>': progress count, '<': retraction count, 'X': success count
+ slot 1: progress count
+ slot 2: retraction count
+
+ (* success count = progress count - retraction count)
+
+ ** If option ONIG_OPTION_FIND_LONGEST or ONIG_OPTION_FIND_NOT_EMPTY is used,
+ counts are not accurate.
+
+
+* TOTAL_COUNT (progress/retraction)
+
+ (*TOTAL_COUNT{c::CHAR})
+
+ It's the almost same as COUNT.
+ But the counts are integrated in a search process.
+ 'c' is an optional argument, deefault value is '>'.
+
+ [callout data]
+ slot 0: '>': progress count, '<': retraction count, 'X': success count
+ slot 1: progress count
+ slot 2: retraction count
+
+ ** If option ONIG_OPTION_FIND_LONGEST or ONIG_OPTION_FIND_NOT_EMPTY is used,
+ counts are not accurate.
+
+
+* CMP (progress)
+
+ (*CMP{x::TAG/LONG, op::STRING, y::TAG/LONG})
+
+ Compare x value and y value with op operator.
+
+ op: '==', '!=', '>', '<', '>=', '<='
+
+ ex. "(?:(*MAX[TA]{7})a|(*MAX[TB]{5})b)*(*CMP{TA,>=,4})"
+
+ [callout data]
+ slot 0: op value (enum OP_CMP in src/regexec.c)
+
+//END