/// <summary> /// Lexes and parses the specified string. /// </summary> /// <param name="input">The <see cref="StringBuilder"/> to parse.</param> /// <param name="output">The parsed token stream.</param> /// <param name="options">A set of <see cref="TextParserOptions"/> values that specify how the text should be parsed.</param> public void Parse(StringBuilder input, TextParserTokenStream output, TextParserOptions options = TextParserOptions.None) { Contract.Require(input, nameof(input)); Contract.Require(output, nameof(output)); output.Clear(); Parse(new StringBuilderSource(input), output, 0, input.Length, options); }