/// <summary> /// パース開始と終了の文字位置の情報を持たない<see cref="ResultCore"/>を返します。 /// </summary> /// <returns></returns> public ResultCore DetachPosition() { if (Successful) { return(ResultCore.OfSuccess(CanBacktrack)); } else { return(ResultCore.OfFailure(_message, CanBacktrack)); } }
/// <summary> /// パース失敗を表す<see cref="ResultCore"/>インスタンスを生成します。 /// </summary> /// <param name="message">パース失敗の理由を示すメッセージ</param> /// <param name="canBacktrack">直近の<c>|</c>や<c>Or(...)</c>を /// 起点とするバックトラックを有効にするかどうか(デフォルトは<c>true</c>で、バックトラックは有効)</param> /// <returns></returns> protected ResultCore Failure(string message, bool canBacktrack) { return(ResultCore.OfFailure(message, canBacktrack)); }
/// <summary> /// パース失敗を表す<see cref="ResultCore"/>インスタンスを生成します。 /// </summary> /// <param name="message">パース失敗の理由を示すメッセージ</param> /// <returns></returns> protected ResultCore Failure(string message) { return(ResultCore.OfFailure(message, true)); }