/// <summary> /// Start parsing the given content from an initial state /// </summary> /// <param name="content">Text content</param> /// <param name="initialFunc">Initial parser state</param> protected void Parse(string content, ExpectFunc initialFunc) { CurrentIndex = 0; CurrentContent = content; ParserState = initialFunc; LineNumber = 1; ColumnNumber = 0; foreach (char c in content) { ++ColumnNumber; ParserState(c); ++CurrentIndex; } }