xpeg api
- 文字列オブジェクト 同じ部分文字列とマッチする要素。
- 文字列を要素とする範囲オブジェクト ("a".."z") 範囲内の文字とマッチする要素。
- 並び: e1 >> e2
- 選択: e1 | e2
- ゼロ個以上の繰り返し: e*0
- 1個以上の繰り返し: e*1
- 1個以内の省略可能: e*-1
- 否定 ~e
- xpeg::any なんの文字ともマッチする要素
- xpeg::eol 行末とマッチする要素
- xpeg::empty 空とマッチする要素
- xpeg::degit "0".."9"とマッチする要素
- xpeg::lalpha "a".."z"とマッチする要素
- xpeg::ualpha "A".."Z"とマッチする要素
- xpeg::alpha "a".."z" | "A".."Z"とマッチする要素
- xpeg::word "a".."z" | "A".."Z" | "0".."9"とマッチする要素
- xpeg::ascii ascii範囲の文字とマッチする要素
- xpeg::set: fun(string) 文字列を渡した場合、一文字づつの選択要素に変換して返す関数 xpeg::set("az") は "a" | "z"と等しい
- xpeg::cap: fun(pattern) patternがマッチした場合、値をキャプチャする要素に変換して返す関数
- xpeg::pred: fun(pred_fun) 要素がマッチするかどうかをユーザーが判定できる要素に変換して返す関数 xpeg::pred(|x|x=="a"||x=="b") は"a"か"b"が来たらマッチする
- xpeg::lookahead: fun(pattern) 先読み
- xpeg::lookbehind: fun(pattern, num) 後読み
- xpeg::bound: fun(body_pattern, sep_pattern) sep_patternを前後に挟んだbody_patternとマッチする要素に変換して返す関数
- xpeg::error: fun(error_hook)
- xpeg::Executor PEGのエンジンクラス
- Executor::reset: method(stream_or_iterator) // パースするストリームかイテレータを渡す
- Executor::match: method(pattern) // 渡されたパターンがマッチするか調べる。マッチ成功すればtrue
- Executor::parse: method(stream) // 渡されたパターンでパースする。パース成功すればtrue
- Executor::captures: method(stream) // キャプチャされた文字列を列挙するイテレータを取得する
- Executor::op_at: method(key) // keyに名前付けられたキャプチャされた文字列を得る。空文字列を渡すとマッチした部分すべてを返す
- Executor::prefix: method(key) // マッチした部分から前の文字列を取得する
- Executor::suffix: method(key) // マッチした部分から後の文字列を取得する