# File src/rexml/parsers/lightparser.rb, line 18 def parse root = context = REXML::Light::Node.new([ :document ]) while true event = @parser.pull case event[0] when :end_document break when :end_doctype context = context.parent when :start_element, :start_doctype new_node = REXML::Light::Node.new(event) context << new_node new_node.parent = context context = new_node when :end_element, :end_doctype context = context.parent else new_node = REXML::Light::Node.new(event) context << new_node new_node.parent = context end end root end