using System; using System.Collections.Generic; namespace Sprache { /// /// Represents an input for parsing. /// public interface IInput : IEquatable { /// /// Advances the input. /// /// A new that is advanced. /// The input is already at the end of the source. IInput Advance(); /// /// Gets the whole source. /// string Source { get; } /// /// Gets the current . /// char Current { get; } /// /// Gets a value indicating whether the end of the source is reached. /// bool AtEnd { get; } /// /// Gets the current positon. /// int Position { get; } /// /// Gets the current line number. /// int Line { get; } /// /// Gets the current column. /// int Column { get; } /// /// Memos used by this input /// IDictionary Memos { get; } } }