internal OperandLexer(ReadBuffer buffer) { m_buffer = buffer; m_remaining = buffer.GetRest(); // ここでは、最初のトークンを読まない。解釈できずに例外になる可能性があるため。 }
internal static String ReadItem(ReadBuffer buffer) { return(buffer.ReadWhile((c) => !Operand.EndOfItem(c))); }
private static String ReadField(ReadBuffer buffer) { return(buffer.ReadWhile((c) => !EndOfField(c))); }
/// <summary> /// 文字定数を読み込みます。 /// </summary> /// <param name="buffer">読み込む文字列が入った <see cref="ReadBuffer"/> のオブジェクトです。</param> /// <returns>読み込んだ文字列を返します。</returns> internal static String Read(ReadBuffer buffer) { return(ReadChars(buffer).ConcatChars()); }
private static Label ParseLabel(ReadBuffer buffer) { String labelField = ReadField(buffer); return(Label.Parse(labelField)); }