-CALLOUTS.BUILTIN 2018/03/13
+CALLOUTS.BUILTIN 2018/03/14
* FAIL
Always fail.
-* SUCCESS
-
- (*SUCCESS)
-
- Always success.
-
-
* ABORT
(*ABORT)
* COUNT
- (*COUNT{c::CHAR = '>'})
+ (*COUNT{c::CHAR})
Counter.
Depends on 'c' argument, the slot 0 value changes.
* TOTAL_COUNT
- (*TOTAL_COUNT{c::CHAR = '>'})
+ (*TOTAL_COUNT{c::CHAR})
It's the almost same as COUNT.
But the counts are integrated in a search process.
+ Default 'c' value is '>'.
[callout data]
slot 0: '>': progress count, '<': retraction count, 'X': success count
op: '==', '!=', '>', '<', '>=', '<='
- ex. "(?:(*MAX[A]{7})a|(*MAX[B]{5})b)*(*CMP{A,>=,4})"
-
+ 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)
-CALLOUTS.BUILTIN.ja 2018/03/13
+CALLOUTS.BUILTIN.ja 2018/03/14
* FAIL
常に失敗する
-* SUCCESS
-
- (*SUCCESS)
-
- 常に成功する
-
-
* ABORT
(*ABORT)
* COUNT
- (*COUNT{c::CHAR = '>'})
+ (*COUNT{c::CHAR})
カウンタ
'c'引数の値によって、slot 0の値が変化する
* TOTAL_COUNT
- (*TOTAL_COUNT{c::CHAR = '>'})
+ (*TOTAL_COUNT{c::CHAR})
これはCOUNTとほとんど同じ
しかし、カウントが検索過程で積算される
+ デフォルトの'c'の値は '>'
[callout data]
slot 0: '>': 前進回数, '<': 後退回数, 'X': 成功回数
(*CMP{x::TAG/LONG, op::STRING, y::TAG/LONG})
xの値とyの値をop演算子で比較する
+ x, yがTAGのときにはそのcalloutのslot 0の値が参照される
op: '==', '!=', '>', '<', '>=', '<='
- 例: "(?:(*MAX[A]{7})a|(*MAX[B]{5})b)*(*CMP{A,>=,4})"
-
+ 例: "(?:(*MAX[TA]{7})a|(*MAX[TB]{5})b)*(*CMP{TA,>=,4})"
[callout data]
slot 0: op値 (src/regexec.c の中の enum OP_CMP)