コード例 #1
0
        private static TakerResult TakeFloat(string input, int offset)
        {
            Match          match   = Regex.Match(input.Substring(offset), @"^\-?\d+(?:\.\d+)?");
            CommandSegment segment = match.Success ? new CommandSegment(SegmentType.Float, match.Value) : null;

            return(new TakerResult(segment, offset + segment?.Text.Length ?? offset));
        }
コード例 #2
0
        private static TakerResult TakeIdentifier(string input, int offset)
        {
            Match          match   = Regex.Match(input.Substring(offset), @"^\w+");
            CommandSegment segment = match.Success ? new CommandSegment(SegmentType.Identifier, match.Value) : null;

            return(new TakerResult(segment, offset + segment?.Text.Length ?? offset));
        }
コード例 #3
0
 public TakerResult(CommandSegment segment, int offset) : this(segment)
 {
     Segment = segment;
     Offset  = offset;
 }
コード例 #4
0
 public TakerResult(CommandSegment segment)
 {
     Segment = segment;
     Offset  = segment?.Text.Length ?? 0;
 }