private DocumentNode ParseDocument(ISource source, SyntaxToken start, ParserOptions options) { List <IDefinitionNode> definitions = new List <IDefinitionNode>(); ParserContext context = new ParserContext(source, start, options); context.MoveNext(); while (!context.IsEndOfFile()) { definitions.Add(ParseDefinition(context)); } Location location = context.CreateLocation(start); return(new DocumentNode(location, definitions.AsReadOnly())); }