private YamlDocument ParseImplicitDocument(out bool success) { int errorCount = Errors.Count; YamlDocument yamlDocument = new YamlDocument(); int start_position = position; currentDocument = yamlDocument; currentIndent = -1; yamlDocument.Root = ParseIndentedBlockNode(out success); if (!success) { Error("Failed to parse Root of ImplicitDocument."); position = start_position; return yamlDocument; } ParseEndOfDocument(out success); success = true; return yamlDocument; }
private YamlDocument ParseExplicitDocument(out bool success) { int errorCount = Errors.Count; YamlDocument yamlDocument = new YamlDocument(); int start_position = position; currentDocument = yamlDocument; currentIndent = -1; while (true) { Directive directive = ParseDirective(out success); if (success) { yamlDocument.Directives.Add(directive); } else { break; } } success = true; MatchTerminalString("---", out success); if (!success) { Error("Failed to parse '---' of ExplicitDocument."); position = start_position; return yamlDocument; } yamlDocument.Root = ParseSeparatedBlockNode(out success); if (!success) { Error("Failed to parse Root of ExplicitDocument."); position = start_position; return yamlDocument; } ParseEndOfDocument(out success); success = true; return yamlDocument; }