1CALLOUTS.BUILTIN 2018/03/26 2 3 4* FAIL (progress) 5 6 (*FAIL) 7 8 Always fail. 9 10 11* MISMATCH (progress) 12 13 (*MISMATCH) 14 15 Terminates Match process. 16 Continues Search process. 17 18 19* ERROR (progress) 20 21 (*ERROR{n::LONG}) 22 23 Terminates Search/Match process. 24 25 Return value is the argument 'n'. (The value must be less than -1) 26 'n' is an optional argument. (default value is ONIG_ABORT) 27 28 29* MAX (progress/retraction) 30 31 (*MAX{n::LONG/TAG, c::CHAR}) 32 33 Restricts the maximum count of success(default), progress or retraction. 34 If 'n' type is tag, slot 0 value of the tag are used. 35 Depends on 'c' argument, the slot 0 value changes. 36 'c' is an optional argument, default value is 'X'. 37 38 (* success count = progress count - retraction count) 39 40 41 ex. "(?:(*COUNT[T]{X})a)*(?:(*MAX{T})c)*" 42 43 [callout data] 44 slot 0: '>': progress count, '<': retraction count, 'X': success count (default) 45 46 47* COUNT (progress/retraction) 48 49 (*COUNT{c::CHAR}) 50 51 Counter. 52 Depends on 'c' argument, the slot 0 value changes. 53 'c' is an optional argument, default value is '>'. 54 55 [callout data] 56 slot 0: '>': progress count (default), '<': retraction count, 'X': success count 57 slot 1: progress count 58 slot 2: retraction count 59 60 ** If option ONIG_OPTION_FIND_LONGEST or ONIG_OPTION_FIND_NOT_EMPTY is used, 61 counts are not accurate. 62 63 64* TOTAL_COUNT (progress/retraction) 65 66 (*TOTAL_COUNT{c::CHAR}) 67 68 It's the almost same as COUNT. 69 But the counts are integrated in a search process. 70 'c' is an optional argument, default value is '>'. 71 72 [callout data] 73 slot 0: '>': progress count (default), '<': retraction count, 'X': success count 74 slot 1: progress count 75 slot 2: retraction count 76 77 ** If option ONIG_OPTION_FIND_LONGEST or ONIG_OPTION_FIND_NOT_EMPTY is used, 78 counts are not accurate. 79 80 81* CMP (progress) 82 83 (*CMP{x::TAG/LONG, op::STRING, y::TAG/LONG}) 84 85 Compares x value and y value with op operator. 86 If x and y types are tag, slot 0 value of the tag are used. 87 88 op: '==', '!=', '>', '<', '>=', '<=' 89 90 ex. "(?:(*MAX[TA]{7})a|(*MAX[TB]{5})b)*(*CMP{TA,>=,4})" 91 92 [callout data] 93 slot 0: op value (enum OP_CMP in src/regexec.c) 94 95//END 96