1CALLOUTS.BUILTIN.ja               2018/03/26
2
3
4* FAIL    (前進)
5
6  (*FAIL)
7
8  常に失敗する
9
10
11* MISMATCH    (前進)
12
13  (*MISMATCH)
14
15  照合を中止する
16  検索は継続する
17
18
19* ERROR    (前進)
20
21  (*ERROR{n::LONG})
22
23  検索/照合を中止する
24  戻り値は引数'n'の値。(-1より小さい負の値でなければならない)
25  'n'はオプション引数で、デフォルト値はONIG_ABORT
26
27
28* MAX    (前進/後退)
29
30  (*MAX{n::LONG/TAG, c::CHAR})
31
32  成功(デフォルト)、前進または後退回数を制限する
33  'n'がTAGのときは、そのTAGのcalloutのslot 0の値が使用される
34  'c'引数の値によって、slot 0の値が変化する
35  'c'はオプション引数で、デフォルト値は'X'
36
37  例:  "(?:(*COUNT[T]{X})a)*(?:(*MAX{T})c)*"
38
39  [callout data]
40  slot 0: '>': 前進回数, '<': 後退回数, 'X': 成功回数(デフォルト)
41
42
43* COUNT    (前進/後退)
44
45  (*COUNT{c::CHAR})
46
47  カウンタ
48  'c'引数の値によって、slot 0の値が変化する
49  'c'はオプション引数で、デフォルト値は'>'
50
51  [callout data]
52  slot 0: '>': 前進回数(デフォルト), '<': 後退回数, 'X': 成功回数
53  slot 1: 前進回数
54  slot 2: 後退回数
55
56  (* 成功回数 = 前進回数 - 後退回数)
57
58  ** ONIG_OPTION_FIND_LONGEST または ONIG_OPTION_FIND_NOT_EMPTY が使用されると
59     正確な動作ができなくなる
60
61
62* TOTAL_COUNT    (前進/後退)
63
64  (*TOTAL_COUNT{c::CHAR})
65
66  これはCOUNTとほとんど同じ
67  しかし、カウントが検索過程で積算される
68  'c'はオプション引数で、デフォルト値は'>'
69
70  [callout data]
71  slot 0: '>': 前進回数(デフォルト), '<': 後退回数, 'X': 成功回数
72  slot 1: 前進回数
73  slot 2: 後退回数
74
75  ** ONIG_OPTION_FIND_LONGEST または ONIG_OPTION_FIND_NOT_EMPTY が使用されると
76     正確な動作ができなくなる
77
78
79* CMP    (前進)
80
81  (*CMP{x::TAG/LONG, op::STRING, y::TAG/LONG})
82
83  xの値とyの値をop演算子で比較する
84  x, yがTAGのときにはそのcalloutのslot 0の値が参照される
85
86  op: '==', '!=', '>', '<', '>=', '<='
87
88  例: "(?:(*MAX[TA]{7})a|(*MAX[TB]{5})b)*(*CMP{TA,>=,4})"
89
90  [callout data]
91  slot 0: op値 (src/regexec.c の中の enum OP_CMP)
92
93//END
94