<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -4,7 +4,6 @@ require 'rake'
 $LOAD_PATH.unshift(File.join(dir, 'vendor', 'rspec', 'lib'))
 require 'spec/rake/spectask'
 
-Gem::manage_gems
 require 'rake/gempackagetask'
 
 task :default =&gt; :spec</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -29,7 +29,7 @@ module Treetop
     adjusted_path = path =~ /\.(treetop|tt)\Z/ ? path : path + '.treetop'
     File.open(adjusted_path) do |source_file|
       source = source_file.read
-      source.gsub!(/__FILE__/, %Q{&quot;#{adjusted_path}&quot;})
+      source.gsub!(/\b__FILE__\b/, %Q{&quot;#{adjusted_path}&quot;})
       load_from_string(source)
     end
   end</diff>
      <filename>lib/treetop/compiler/grammar_compiler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,12 @@ module Treetop
 
       module TreetopFile0
         def require_statement
+          elements[1]
+        end
+      end
+
+      module TreetopFile1
+        def requires
           elements[0]
         end
 
@@ -25,9 +31,9 @@ module Treetop
         end
       end
 
-      module TreetopFile1
+      module TreetopFile2
         def compile
-          require_statement.text_value + prefix.text_value + module_or_grammar.compile + suffix.text_value
+          requires.text_value + prefix.text_value + module_or_grammar.compile + suffix.text_value
         end
       end
 
@@ -42,7 +48,25 @@ module Treetop
         i0, s0 = index, []
         s1, i1 = [], index
         loop do
-          r2 = _nt_require_statement
+          i2, s2 = index, []
+          r4 = _nt_space
+          if r4
+            r3 = r4
+          else
+            r3 = instantiate_node(SyntaxNode,input, index...index)
+          end
+          s2 &lt;&lt; r3
+          if r3
+            r5 = _nt_require_statement
+            s2 &lt;&lt; r5
+          end
+          if s2.last
+            r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
+            r2.extend(TreetopFile0)
+          else
+            self.index = i2
+            r2 = nil
+          end
           if r2
             s1 &lt;&lt; r2
           else
@@ -52,43 +76,43 @@ module Treetop
         r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
         s0 &lt;&lt; r1
         if r1
-          r4 = _nt_space
-          if r4
-            r3 = r4
+          r7 = _nt_space
+          if r7
+            r6 = r7
           else
-            r3 = instantiate_node(SyntaxNode,input, index...index)
+            r6 = instantiate_node(SyntaxNode,input, index...index)
           end
-          s0 &lt;&lt; r3
-          if r3
-            i5 = index
-            r6 = _nt_module_declaration
-            if r6
-              r5 = r6
+          s0 &lt;&lt; r6
+          if r6
+            i8 = index
+            r9 = _nt_module_declaration
+            if r9
+              r8 = r9
             else
-              r7 = _nt_grammar
-              if r7
-                r5 = r7
+              r10 = _nt_grammar
+              if r10
+                r8 = r10
               else
-                self.index = i5
-                r5 = nil
+                self.index = i8
+                r8 = nil
               end
             end
-            s0 &lt;&lt; r5
-            if r5
-              r9 = _nt_space
-              if r9
-                r8 = r9
+            s0 &lt;&lt; r8
+            if r8
+              r12 = _nt_space
+              if r12
+                r11 = r12
               else
-                r8 = instantiate_node(SyntaxNode,input, index...index)
+                r11 = instantiate_node(SyntaxNode,input, index...index)
               end
-              s0 &lt;&lt; r8
+              s0 &lt;&lt; r11
             end
           end
         end
         if s0.last
           r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
-          r0.extend(TreetopFile0)
           r0.extend(TreetopFile1)
+          r0.extend(TreetopFile2)
         else
           self.index = i0
           r0 = nil
@@ -123,18 +147,18 @@ module Treetop
         end
         s0 &lt;&lt; r1
         if r1
-          if input.index(&quot;require &quot;, index) == index
-            r3 = instantiate_node(SyntaxNode,input, index...(index + 8))
-            @index += 8
+          if input.index(&quot;require&quot;, index) == index
+            r3 = instantiate_node(SyntaxNode,input, index...(index + 7))
+            @index += 7
           else
-            terminal_parse_failure(&quot;require &quot;)
+            terminal_parse_failure(&quot;require&quot;)
             r3 = nil
           end
           s0 &lt;&lt; r3
           if r3
             s4, i4 = [], index
             loop do
-              if input.index(Regexp.new('[^\\n\\r]'), index) == index
+              if input.index(Regexp.new('[ \\t]'), index) == index
                 r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
                 @index += 1
               else
@@ -154,13 +178,36 @@ module Treetop
             end
             s0 &lt;&lt; r4
             if r4
-              if input.index(Regexp.new('[\\n\\r]'), index) == index
-                r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
-                @index += 1
-              else
+              s6, i6 = [], index
+              loop do
+                if input.index(Regexp.new('[^\\n\\r]'), index) == index
+                  r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
+                  @index += 1
+                else
+                  r7 = nil
+                end
+                if r7
+                  s6 &lt;&lt; r7
+                else
+                  break
+                end
+              end
+              if s6.empty?
+                self.index = i6
                 r6 = nil
+              else
+                r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
               end
               s0 &lt;&lt; r6
+              if r6
+                if input.index(Regexp.new('[\\n\\r]'), index) == index
+                  r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
+                  @index += 1
+                else
+                  r8 = nil
+                end
+                s0 &lt;&lt; r8
+              end
             end
           end
         end</diff>
      <filename>lib/treetop/compiler/metagrammar.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,15 +2,15 @@ module Treetop
   module Compiler
     grammar Metagrammar
       rule treetop_file
-        require_statement:require_statement* prefix:space? module_or_grammar:(module_declaration / grammar) suffix:space? {
+        requires:(space? require_statement)* prefix:space? module_or_grammar:(module_declaration / grammar) suffix:space? {
           def compile
-            require_statement.text_value + prefix.text_value + module_or_grammar.compile + suffix.text_value
+            requires.text_value + prefix.text_value + module_or_grammar.compile + suffix.text_value
           end
         }
       end
       
       rule require_statement
-        prefix:space? &quot;require &quot; [^\n\r]+ [\n\r]
+        prefix:space? &quot;require&quot; [ \t]+ [^\n\r]+ [\n\r]
       end
       
       rule module_declaration</diff>
      <filename>lib/treetop/compiler/metagrammar.treetop</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ module Treetop #:nodoc:
   module VERSION #:nodoc:
     MAJOR = 1
     MINOR = 2
-    TINY  = 5
+    TINY  = 6
 
     STRING = [MAJOR, MINOR, TINY].join('.')
   end</diff>
      <filename>lib/treetop/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
+
 require &quot;a&quot;
-require File.dirname(__FILE__) + &quot;/b&quot;
+
+require	File.dirname(__FILE__) + &quot;/b&quot;
 require File.dirname(__FILE__) + &quot;/subfolder/e_includes_c&quot;
 
 module Test
@@ -12,4 +14,4 @@ module Test
       c e 'f'
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/composition/f.treetop</filename>
    </modified>
    <modified>
      <diff>@@ -12,4 +12,4 @@ module Test
       'super'
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/composition/subfolder/e_includes_c.treetop</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,6 @@ $gemspec = Gem::Specification.new do |s|
   s.require_path = &quot;lib&quot;
   s.autorequire = &quot;treetop&quot;
   s.has_rdoc = false
-  s.add_dependency &quot;polyglot&quot;
+  s.add_dependency &quot;polyglot&quot;, &quot;&gt;= 0.2.5&quot;
 end
 </diff>
      <filename>treetop.gemspec</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f3c79a4c460c479cd759a31236fbebaebd95bbb6</id>
    </parent>
  </parents>
  <author>
    <name>Clifford Heath</name>
    <email>clifford.heath@gmail.com</email>
  </author>
  <url>http://github.com/nathansobo/treetop/commit/ba9b7281bf1b48f20d7355dafdc35a8cb446b5e9</url>
  <id>ba9b7281bf1b48f20d7355dafdc35a8cb446b5e9</id>
  <committed-date>2009-06-13T23:32:54-07:00</committed-date>
  <authored-date>2009-06-13T23:32:54-07:00</authored-date>
  <message>Remove manage_gems. Tweak jgarbers patch. Require polyglot &gt;= 0.2.5</message>
  <tree>d2ac0c05617eec5254858554fe00ac5e1b132a82</tree>
  <committer>
    <name>Clifford Heath</name>
    <email>clifford.heath@gmail.com</email>
  </committer>
</commit>
