Blame doc/CALLOUTS.BUILTIN.ja

Packit Service bd74e6
CALLOUTS.BUILTIN.ja               2018/03/26
Packit Service bd74e6
Packit Service bd74e6
Packit Service bd74e6
* FAIL    (前進)
Packit Service bd74e6
Packit Service bd74e6
  (*FAIL)
Packit Service bd74e6
Packit Service bd74e6
  常に失敗する
Packit Service bd74e6
Packit Service bd74e6
Packit Service bd74e6
* MISMATCH    (前進)
Packit Service bd74e6
Packit Service bd74e6
  (*MISMATCH)
Packit Service bd74e6
Packit Service bd74e6
  照合を中止する
Packit Service bd74e6
  検索は継続する
Packit Service bd74e6
Packit Service bd74e6
Packit Service bd74e6
* ERROR    (前進)
Packit Service bd74e6
Packit Service bd74e6
  (*ERROR{n::LONG})
Packit Service bd74e6
Packit Service bd74e6
  検索/照合を中止する
Packit Service bd74e6
  戻り値は引数'n'の値。(-1より小さい負の値でなければならない)
Packit Service bd74e6
  'n'はオプション引数で、デフォルト値はONIG_ABORT
Packit Service bd74e6
Packit Service bd74e6
Packit Service bd74e6
* MAX    (前進/後退)
Packit Service bd74e6
Packit Service bd74e6
  (*MAX{n::LONG/TAG, c::CHAR})
Packit Service bd74e6
Packit Service bd74e6
  成功(デフォルト)、前進または後退回数を制限する
Packit Service bd74e6
  'n'がTAGのときは、そのTAGのcalloutのslot 0の値が使用される
Packit Service bd74e6
  'c'引数の値によって、slot 0の値が変化する
Packit Service bd74e6
  'c'はオプション引数で、デフォルト値は'X'
Packit Service bd74e6
Packit Service bd74e6
  例:  "(?:(*COUNT[T]{X})a)*(?:(*MAX{T})c)*"
Packit Service bd74e6
Packit Service bd74e6
  [callout data]
Packit Service bd74e6
  slot 0: '>': 前進回数, '<': 後退回数, 'X': 成功回数(デフォルト)
Packit Service bd74e6
Packit Service bd74e6
Packit Service bd74e6
* COUNT    (前進/後退)
Packit Service bd74e6
Packit Service bd74e6
  (*COUNT{c::CHAR})
Packit Service bd74e6
Packit Service bd74e6
  カウンタ
Packit Service bd74e6
  'c'引数の値によって、slot 0の値が変化する
Packit Service bd74e6
  'c'はオプション引数で、デフォルト値は'>'
Packit Service bd74e6
Packit Service bd74e6
  [callout data]
Packit Service bd74e6
  slot 0: '>': 前進回数(デフォルト), '<': 後退回数, 'X': 成功回数
Packit Service bd74e6
  slot 1: 前進回数
Packit Service bd74e6
  slot 2: 後退回数
Packit Service bd74e6
Packit Service bd74e6
  (* 成功回数 = 前進回数 - 後退回数)
Packit Service bd74e6
Packit Service bd74e6
  ** ONIG_OPTION_FIND_LONGEST または ONIG_OPTION_FIND_NOT_EMPTY が使用されると
Packit Service bd74e6
     正確な動作ができなくなる
Packit Service bd74e6
Packit Service bd74e6
Packit Service bd74e6
* TOTAL_COUNT    (前進/後退)
Packit Service bd74e6
Packit Service bd74e6
  (*TOTAL_COUNT{c::CHAR})
Packit Service bd74e6
Packit Service bd74e6
  これはCOUNTとほとんど同じ
Packit Service bd74e6
  しかし、カウントが検索過程で積算される
Packit Service bd74e6
  'c'はオプション引数で、デフォルト値は'>'
Packit Service bd74e6
Packit Service bd74e6
  [callout data]
Packit Service bd74e6
  slot 0: '>': 前進回数(デフォルト), '<': 後退回数, 'X': 成功回数
Packit Service bd74e6
  slot 1: 前進回数
Packit Service bd74e6
  slot 2: 後退回数
Packit Service bd74e6
Packit Service bd74e6
  ** ONIG_OPTION_FIND_LONGEST または ONIG_OPTION_FIND_NOT_EMPTY が使用されると
Packit Service bd74e6
     正確な動作ができなくなる
Packit Service bd74e6
Packit Service bd74e6
Packit Service bd74e6
* CMP    (前進)
Packit Service bd74e6
Packit Service bd74e6
  (*CMP{x::TAG/LONG, op::STRING, y::TAG/LONG})
Packit Service bd74e6
Packit Service bd74e6
  xの値とyの値をop演算子で比較する
Packit Service bd74e6
  x, yがTAGのときにはそのcalloutのslot 0の値が参照される
Packit Service bd74e6
Packit Service bd74e6
  op: '==', '!=', '>', '<', '>=', '<='
Packit Service bd74e6
Packit Service bd74e6
  例: "(?:(*MAX[TA]{7})a|(*MAX[TB]{5})b)*(*CMP{TA,>=,4})"
Packit Service bd74e6
Packit Service bd74e6
  [callout data]
Packit Service bd74e6
  slot 0: op値 (src/regexec.c の中の enum OP_CMP)
Packit Service bd74e6
Packit Service bd74e6
//END