コード例 #1
0
ファイル: SavePartMatch.cs プロジェクト: hahoyer/reni.cs
 int? IMatch.Match(SourcePosn sourcePosn)
 {
     var length = sourcePosn.Match(Target);
     if (length != null)
         OnMatch(sourcePosn.SubString(0, length.Value));
     else
         OnMismatch?.Invoke();
     return length;
 }
コード例 #2
0
 public int? GuardedMatch(SourcePosn sourcePosn, IMatch match)
 {
     try
     {
         return sourcePosn.Match(match);
     }
     catch(Match.Exception exception)
     {
         throw new TwoLayerScanner.Exception
         (
             exception.SourcePosn,
             Convert(exception.Error)
         );
     }
 }
コード例 #3
0
ファイル: Lexer.cs プロジェクト: hahoyer/HWClassLibrary.cs
 internal int? Any(SourcePosn sourcePosn) => sourcePosn.Match(_any);
コード例 #4
0
ファイル: Lexer.cs プロジェクト: hahoyer/HWClassLibrary.cs
 internal int? Number(SourcePosn sourcePosn) => sourcePosn.Match(_number);
コード例 #5
0
ファイル: Lexer.cs プロジェクト: hahoyer/HWClassLibrary.cs
 internal int? WhiteSpace(SourcePosn sourcePosn) => sourcePosn.Match(_whiteSpaces);