def parse_next()
reset_parser()
path = []
skip_spaces_and_comments()
if document_start?()
scan(/.*\n/)
skip_spaces_and_comments()
end
_linenum = @linenum
_column = @column
rule = @validator ? @validator.rule : nil
uniq_table = nil
parent = nil
val = parse_block_value(0, rule, path, uniq_table, parent)
_set_error_info(_linenum, _column) do
@validator._validate(val, rule, [], @errors, @done, uniq_table, false)
end if rule
resolve_preceding_aliases(val) if @preceding_alias
unless eos? || document_start?() || stream_end?()
raise _syntax_error("document end expected (maybe invalid tab char found).", path)
end
@doc = val
@location_table[-1] = [_linenum, _column]
return val
end