--- basic_parser.rb 2003-07-12 19:42:12.000000000 +0800 +++ basic_parser.rb.orig 2003-07-12 19:40:57.000000000 +0800 @@ -88,19 +88,19 @@ next end next if here_block - + line.gsub!(/#{35.chr}(.*)$/,'') case line - when /\s*class\s+[A-Z][A-Za-z0-9\_]*\s*/ + when /^\s*class\s+[A-Z][A-Za-z0-9\_]*\s*/ line.gsub!(/\t/, " ") node = Node.new(Node::CLASS, line, num) if node.indent > last.indent && last.node_type < 3 current = last elsif node.indent < last.indent current = current.parent - end + end current.add_node(node) last = node - when /\s*module\s+[A-Z][A-Za-z0-9\_]*\s*/ + when /^\s*module\s+[A-Z][A-Za-z0-9\_]*\s*/ line.gsub!(/\t/, " ") node = Node.new(Node::MODULE, line, num) if node.indent > last.indent && last.node_type < 3 @@ -110,7 +110,7 @@ end current.add_node(node) last = node - when /\s*def\s+[A-Za-z0-9\_]+\.[A-Za-z0-9\_]+\s*/ + when /^\s*def\s+[A-Za-z0-9\_]+\.[A-Za-z0-9\_]+\s*/ line.gsub!(/\t/, " ") node = Node.new(Node::SINGLETON_METHOD, line, num) if node.indent > last.indent && last.node_type < 3 @@ -120,7 +120,7 @@ end current.add_node(node) last = node - when /\s*def\s+[A-Za-z0-9\_]+\s*/ + when /^\s*def\s+[A-Za-z0-9\_]+\s*/ line.gsub!(/\t/, " ") node = Node.new(Node::METHOD, line, num) if node.indent > last.indent && last.node_type < 3