Hello community,

here is the log from the commit of package rubygem-treetop for openSUSE:Factory 
checked in at 2015-07-02 22:49:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-treetop (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-treetop.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-treetop"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-treetop/rubygem-treetop.changes  
2015-04-12 00:11:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-treetop.new/rubygem-treetop.changes     
2015-07-03 00:20:35.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Jun 30 04:31:25 UTC 2015 - [email protected]
+
+- updated to version 1.6.3
+  no changelog found
+
+-------------------------------------------------------------------

Old:
----
  treetop-1.6.2.gem

New:
----
  treetop-1.6.3.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-treetop.spec ++++++
--- /var/tmp/diff_new_pack.AZ1LvN/_old  2015-07-03 00:20:35.000000000 +0200
+++ /var/tmp/diff_new_pack.AZ1LvN/_new  2015-07-03 00:20:35.000000000 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-treetop
-Version:        1.6.2
+Version:        1.6.3
 Release:        0
 %define mod_name treetop
 %define mod_full_name %{mod_name}-%{version}
@@ -42,7 +42,7 @@
 PreReq:         update-alternatives
 
 %description
-A Ruby-based text parsing and interpretation DSL.
+A Parsing Expression Grammar (PEG) Parser generator DSL for Ruby.
 
 %prep
 

++++++ treetop-1.6.2.gem -> treetop-1.6.3.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile        2014-12-09 05:55:36.000000000 +0100
+++ new/Rakefile        2015-06-30 05:32:42.000000000 +0200
@@ -15,6 +15,7 @@
   gem.homepage = "https://github.com/cjheath/treetop";
   gem.platform = Gem::Platform::RUBY
   gem.summary = "A Ruby-based text parsing and interpretation DSL"
+  gem.description = "A Parsing Expression Grammar (PEG) Parser generator DSL 
for Ruby"
   gem.files = [
       "LICENSE", "README.md", "Rakefile", "treetop.gemspec",
       "{spec,lib,bin,examples}/**/*",
@@ -23,7 +24,6 @@
   gem.bindir = "bin"
   gem.executables = ["tt"]
   gem.require_path = "lib"
-  gem.autorequire = "treetop"
   gem.has_rdoc = false
 end
 Jeweler::RubygemsDotOrgTasks.new
@@ -43,6 +43,13 @@
   Treetop::Compiler::GrammarCompiler.new.compile(METAGRAMMAR_PATH)
 end
 
+task :rebuild do
+  $:.unshift "lib"
+  require './lib/treetop'
+  load File.expand_path('../lib/treetop/compiler/metagrammar.rb', __FILE__)
+  
Treetop::Compiler::GrammarCompiler.new.compile('lib/treetop/compiler/metagrammar.treetop')
+end
+
 task :version do
   puts RUBY_VERSION
 end
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/doc/syntactic_recognition.markdown 
new/doc/syntactic_recognition.markdown
--- old/doc/syntactic_recognition.markdown      2014-12-09 05:55:36.000000000 
+0100
+++ new/doc/syntactic_recognition.markdown      2015-06-30 05:32:42.000000000 
+0200
@@ -215,3 +215,6 @@
 requires that the rule would produce the same result (if run again) as it 
produced the first time when
 the result was remembered. If you violate this principle in your semantic 
predicates, be prepared to
 fight Cerberus before you're allowed out of Hades again.
+
+There's an example of how to use semantic predicates to parse a language with 
white-space indented blocks
+in the examples directory.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/examples/indented_blocks/indented_blocks.tt 
new/examples/indented_blocks/indented_blocks.tt
--- old/examples/indented_blocks/indented_blocks.tt     1970-01-01 
01:00:00.000000000 +0100
+++ new/examples/indented_blocks/indented_blocks.tt     2015-06-30 
05:32:42.000000000 +0200
@@ -0,0 +1,73 @@
+grammar IndentedBlocks
+  rule top
+    # Initialise the indent stack with a sentinel:
+    &{|s| @indents = [-1] }
+    foo:('foo'?)
+    nested_blocks
+    {
+      def inspect
+       nested_blocks.inspect
+      end
+    }
+  end
+
+  rule nested_blocks
+    (
+      # Do not try to extract this semantic predicate into a new rule.
+      # It will be memo-ized incorrectly because @indents.last will change.
+      !{|s|
+       # Peek at the following indentation:
+       save = index; i = _nt_indentation; index = save
+       # We're closing if the indentation is less or the same as our enclosing 
block's:
+       closing = i.text_value.length <= @indents.last
+      }
+      block
+    )*
+    {
+      def inspect
+       elements.map{|e| e.block.inspect}*"\n"
+      end
+    }
+  end
+
+  rule block
+    indented_line       # The block's opening line
+    &{|s|               # Push the indent level to the stack
+      level = s[0].indentation.text_value.length
+      @indents << level
+      true
+    }
+    nested_blocks       # Parse any nested blocks
+    &{|s|               # Pop the indent stack
+      # Note that under no circumstances should "nested_blocks" fail, or the 
stack will be mis-aligned
+      @indents.pop
+      true
+    }
+    {
+      def inspect
+       indented_line.inspect +
+         (nested_blocks.elements.size > 0 ? (
+           "\n{\n" +
+           nested_blocks.elements.map { |content|
+             content.block.inspect+"\n"
+           }*'' +
+           "}"
+         )
+         : "")
+      end
+    }
+  end
+
+  rule indented_line
+    indentation text:((!"\n" .)*) "\n"
+    {
+      def inspect
+       text.text_value
+      end
+    }
+  end
+
+  rule indentation
+    ' '*
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/examples/indented_blocks/indented_blocks_test.rb 
new/examples/indented_blocks/indented_blocks_test.rb
--- old/examples/indented_blocks/indented_blocks_test.rb        1970-01-01 
01:00:00.000000000 +0100
+++ new/examples/indented_blocks/indented_blocks_test.rb        2015-06-30 
05:32:42.000000000 +0200
@@ -0,0 +1,24 @@
+require 'polyglot'
+require 'byebug'
+require 'treetop'
+require 'indented_blocks'
+
+parser = IndentedBlocksParser.new
+
+input = <<END
+def foo
+  here is some indented text
+    here it's further indented
+    and here the same
+      but here it's further again
+      and some more like that
+    before going back to here
+      down again
+  back twice
+and start from the beginning again
+  with only a small block this time
+END
+
+parse_tree = parser.parse input
+
+p parse_tree
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/examples/inner_outer.rb new/examples/inner_outer.rb
--- old/examples/inner_outer.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/examples/inner_outer.rb 2015-06-30 05:32:42.000000000 +0200
@@ -0,0 +1,51 @@
+# Autogenerated from a Treetop grammar. Edits may be lost.
+
+
+module InnerOuter
+  include Treetop::Runtime
+
+  def root
+    @root ||= :inner_outer
+  end
+
+  module InnerOuter0
+       def inner
+       end
+  end
+
+  module InnerOuter1
+    def outer
+    end
+  end
+
+  def _nt_inner_outer
+    start_index = index
+    if node_cache[:inner_outer].has_key?(index)
+      cached = node_cache[:inner_outer][index]
+      if cached
+        node_cache[:inner_outer][index] = cached = SyntaxNode.new(input, 
index...(index + 1)) if cached == true
+        @index = cached.interval.end
+      end
+      return cached
+    end
+
+    if (match_len = has_terminal?("foo", false, index))
+      r0 = instantiate_node(SyntaxNode,input, index...(index + match_len))
+      r0.extend(InnerOuter0)
+      @index += match_len
+    else
+      terminal_parse_failure('"foo"')
+      r0 = nil
+    end
+
+    node_cache[:inner_outer][start_index] = r0
+
+    r0
+  end
+
+end
+
+class InnerOuterParser < Treetop::Runtime::CompiledParser
+  include InnerOuter
+end
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/examples/inner_outer.tt new/examples/inner_outer.tt
--- old/examples/inner_outer.tt 1970-01-01 01:00:00.000000000 +0100
+++ new/examples/inner_outer.tt 2015-06-30 05:32:42.000000000 +0200
@@ -0,0 +1,14 @@
+grammar InnerOuter
+  rule inner_outer
+    ( "foo"
+      {
+       def inner
+       end
+      }
+    )
+    {
+      def outer
+      end
+    } 
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/examples/numerals.rb new/examples/numerals.rb
--- old/examples/numerals.rb    1970-01-01 01:00:00.000000000 +0100
+++ new/examples/numerals.rb    2015-06-30 05:32:42.000000000 +0200
@@ -0,0 +1,210 @@
+# Autogenerated from a Treetop grammar. Edits may be lost.
+
+
+module Numerals
+  include Treetop::Runtime
+
+  def root
+    @root ||= :percentage
+  end
+
+  module Percentage0
+    def decimal
+      elements[0]
+    end
+
+  end
+
+  module Percentage1
+    def to_f
+      decimal.to_f / 100
+    end
+  end
+
+  def _nt_percentage
+    start_index = index
+    if node_cache[:percentage].has_key?(index)
+      cached = node_cache[:percentage][index]
+      if cached
+        node_cache[:percentage][index] = cached = SyntaxNode.new(input, 
index...(index + 1)) if cached == true
+        @index = cached.interval.end
+      end
+      return cached
+    end
+
+    i0, s0 = index, []
+    r1 = _nt_decimal
+    s0 << r1
+    if r1
+      if (match_len = has_terminal?("%", false, index))
+        r2 = true
+        @index += match_len
+      else
+        terminal_parse_failure('"%"')
+        r2 = nil
+      end
+      s0 << r2
+    end
+    if s0.last
+      r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
+      r0.extend(Percentage0)
+      r0.extend(Percentage1)
+    else
+      @index = i0
+      r0 = nil
+    end
+
+    node_cache[:percentage][start_index] = r0
+
+    r0
+  end
+
+  module Decimal0
+    def sign
+      elements[0]
+    end
+
+  end
+
+  module Decimal1
+    def to_f
+      text_value.to_f
+    end
+  end
+
+  def _nt_decimal
+    start_index = index
+    if node_cache[:decimal].has_key?(index)
+      cached = node_cache[:decimal][index]
+      if cached
+        node_cache[:decimal][index] = cached = SyntaxNode.new(input, 
index...(index + 1)) if cached == true
+        @index = cached.interval.end
+      end
+      return cached
+    end
+
+    i0, s0 = index, []
+    r1 = _nt_sign
+    s0 << r1
+    if r1
+      s2, i2 = [], index
+      loop do
+        if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), :regexp, 
index)
+          r3 = true
+          @index += 1
+        else
+          terminal_parse_failure('[0-9]')
+          r3 = nil
+        end
+        if r3
+          s2 << r3
+        else
+          break
+        end
+      end
+      if s2.empty?
+        @index = i2
+        r2 = nil
+      else
+        r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
+      end
+      s0 << r2
+      if r2
+        if (match_len = has_terminal?('.', false, index))
+          r4 = true
+          @index += match_len
+        else
+          terminal_parse_failure('\'.\'')
+          r4 = nil
+        end
+        s0 << r4
+        if r4
+          s5, i5 = [], index
+          loop do
+            if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), 
:regexp, index)
+              r6 = true
+              @index += 1
+            else
+              terminal_parse_failure('[0-9]')
+              r6 = nil
+            end
+            if r6
+              s5 << r6
+            else
+              break
+            end
+          end
+          r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
+          s0 << r5
+        end
+      end
+    end
+    if s0.last
+      r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
+      r0.extend(Decimal0)
+      r0.extend(Decimal1)
+    else
+      @index = i0
+      r0 = nil
+    end
+
+    node_cache[:decimal][start_index] = r0
+
+    r0
+  end
+
+  def _nt_sign
+    start_index = index
+    if node_cache[:sign].has_key?(index)
+      cached = node_cache[:sign][index]
+      if cached
+        node_cache[:sign][index] = cached = SyntaxNode.new(input, 
index...(index + 1)) if cached == true
+        @index = cached.interval.end
+      end
+      return cached
+    end
+
+    i1 = index
+    if (match_len = has_terminal?('+', false, index))
+      r2 = true
+      @index += match_len
+    else
+      terminal_parse_failure('\'+\'')
+      r2 = nil
+    end
+    if r2
+      r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
+      r1 = r2
+    else
+      if (match_len = has_terminal?('-', false, index))
+        r3 = true
+        @index += match_len
+      else
+        terminal_parse_failure('\'-\'')
+        r3 = nil
+      end
+      if r3
+        r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
+        r1 = r3
+      else
+        @index = i1
+        r1 = nil
+      end
+    end
+    if r1
+      r0 = r1
+    else
+      r0 = instantiate_node(SyntaxNode,input, index...index)
+    end
+
+    node_cache[:sign][start_index] = r0
+
+    r0
+  end
+
+end
+
+class NumeralsParser < Treetop::Runtime::CompiledParser
+  include Numerals
+end
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/examples/numerals.tt new/examples/numerals.tt
--- old/examples/numerals.tt    1970-01-01 01:00:00.000000000 +0100
+++ new/examples/numerals.tt    2015-06-30 05:32:42.000000000 +0200
@@ -0,0 +1,21 @@
+grammar Numerals
+  rule percentage
+    (decimal "%") {
+      def to_f
+        decimal.to_f / 100
+      end
+    }
+  end
+
+  rule decimal
+    sign [0-9]+ '.' [0-9]* {
+      def to_f
+        text_value.to_f
+      end
+    }
+  end
+
+  rule sign
+    ('+'/'-')? 
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/metagrammar.rb 
new/lib/treetop/compiler/metagrammar.rb
--- old/lib/treetop/compiler/metagrammar.rb     2014-12-09 05:55:36.000000000 
+0100
+++ new/lib/treetop/compiler/metagrammar.rb     2015-06-30 05:32:42.000000000 
+0200
@@ -1071,10 +1071,6 @@
           super.elements.map {|elt| elt.alternative}
         end
 
-         def parent_modules
-           []
-         end
-
         def inline_modules
           (alternatives.map {|alt| alt.inline_modules }).flatten
         end
@@ -1182,14 +1178,10 @@
           sequence_body.tail
         end
 
-         def parent_modules
-           node_class_declarations.inline_modules
-         end
-
         def inline_modules
           (sequence_elements.map {|elt| elt.inline_modules}).flatten +
           [sequence_element_accessor_module] +
-          parent_modules
+          node_class_declarations.inline_modules
         end
 
         def inline_module_name
@@ -1426,10 +1418,6 @@
           atomic
         end
 
-         def parent_modules
-           []
-         end
-
         def inline_modules
           atomic.inline_modules
         end
@@ -1456,9 +1444,6 @@
         def prefixed_expression
           atomic
         end
-         def parent_modules
-           []
-         end
         def inline_modules
           []
         end
@@ -1480,7 +1465,6 @@
 
       module Primary5
         def compile(address, builder, parent_expression=nil)
-           # debugger if node_class_declarations.inline_modules.size > 0 && 
atomic.inline_modules.size > 0
           suffix.compile(address, builder, self)
         end
 
@@ -1492,12 +1476,8 @@
           node_class_declarations.node_class_name
         end
 
-         def parent_modules
-           node_class_declarations.inline_modules
-         end
-
         def inline_modules
-          atomic.inline_modules + parent_modules
+          atomic.inline_modules + node_class_declarations.inline_modules
         end
 
         def inline_module_name
@@ -1517,7 +1497,6 @@
 
       module Primary7
         def compile(address, builder, parent_expression=nil)
-           # debugger if node_class_declarations.inline_modules.size > 0 && 
atomic.inline_modules.size > 0
           atomic.compile(address, builder, self)
         end
 
@@ -1525,12 +1504,8 @@
           node_class_declarations.node_class_name
         end
 
-         def parent_modules
-           node_class_declarations.inline_modules
-         end
-
         def inline_modules
-          atomic.inline_modules + parent_modules
+          atomic.inline_modules + node_class_declarations.inline_modules
         end
 
         def inline_module_name
@@ -1698,10 +1673,6 @@
           sequence_primary.compile(lexical_address, builder)
         end
 
-         def parent_modules
-           []
-         end
-
         def inline_modules
           sequence_primary.inline_modules
         end
@@ -1758,10 +1729,6 @@
           sequence_primary.compile(lexical_address, builder)
         end
 
-         def parent_modules
-           []
-         end
-
         def inline_modules
           sequence_primary.inline_modules
         end
@@ -1965,10 +1932,6 @@
           elements[1]
         end
 
-         def parent_modules
-           []
-         end
-
         def inline_modules
           atomic.inline_modules
         end
@@ -1995,9 +1958,6 @@
         def prefixed_expression
           atomic
         end
-         def parent_modules
-           []
-         end
         def inline_modules
           []
         end
@@ -2022,10 +1982,6 @@
           nil
         end
 
-         def parent_modules
-           []
-         end
-
         def inline_modules
           atomic.inline_modules
         end
@@ -2201,7 +2157,6 @@
           node_class_expression.node_class_name
         end
 
-# !!!! cjh !!!!!
         def inline_modules
           trailing_inline_module.inline_modules
         end
@@ -2489,9 +2444,6 @@
       end
 
       module ParenthesizedExpression1
-         def parent_modules
-           []
-         end
         def inline_modules
           parsing_expression.inline_modules
         end
@@ -3594,9 +3546,6 @@
       end
 
       module TrailingInlineModule1
-         def parent_modules
-           []
-         end
         def inline_modules
           [inline_module]
         end
@@ -3607,9 +3556,6 @@
       end
 
       module TrailingInlineModule2
-         def parent_modules
-           []
-         end
         def inline_modules
           []
         end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/metagrammar.treetop 
new/lib/treetop/compiler/metagrammar.treetop
--- old/lib/treetop/compiler/metagrammar.treetop        2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/metagrammar.treetop        2015-06-30 
05:32:42.000000000 +0200
@@ -84,10 +84,6 @@
             super.elements.map {|elt| elt.alternative}
           end
 
-         def parent_modules
-           []
-         end
-
           def inline_modules
             (alternatives.map {|alt| alt.inline_modules }).flatten
           end
@@ -104,14 +100,10 @@
             sequence_body.tail
           end
 
-         def parent_modules
-           node_class_declarations.inline_modules
-         end
-
           def inline_modules
             (sequence_elements.map {|elt| elt.inline_modules}).flatten +
             [sequence_element_accessor_module] +
-            parent_modules
+            node_class_declarations.inline_modules
           end
 
           def inline_module_name
@@ -158,10 +150,6 @@
             atomic
           end
 
-         def parent_modules
-           []
-         end
-
           def inline_modules
             atomic.inline_modules
           end
@@ -178,9 +166,6 @@
           def prefixed_expression
             atomic
           end
-         def parent_modules
-           []
-         end
           def inline_modules
             []
           end
@@ -188,7 +173,6 @@
         /
         atomic suffix node_class_declarations {
           def compile(address, builder, parent_expression=nil)
-           raise "Extraneous module ignored after suffix: 
#{input[interval].inspect}" if node_class_declarations.inline_modules.size > 0 
&& atomic.inline_modules.size > 0
             suffix.compile(address, builder, self)
           end
 
@@ -200,12 +184,8 @@
             node_class_declarations.node_class_name
           end
 
-         def parent_modules
-           node_class_declarations.inline_modules
-         end
-
           def inline_modules
-            atomic.inline_modules + parent_modules
+            atomic.inline_modules + node_class_declarations.inline_modules
           end
 
           def inline_module_name
@@ -215,7 +195,6 @@
         /
         atomic node_class_declarations {
           def compile(address, builder, parent_expression=nil)
-           raise "Extraneous module ignored with nested atomic: 
#{input[interval].inspect}" if node_class_declarations.inline_modules.size > 0 
&& atomic.inline_modules.size > 0
             atomic.compile(address, builder, self)
           end
 
@@ -223,12 +202,8 @@
             node_class_declarations.node_class_name
           end
 
-         def parent_modules
-           node_class_declarations.inline_modules
-         end
-
           def inline_modules
-            atomic.inline_modules + parent_modules
+            atomic.inline_modules + node_class_declarations.inline_modules
           end
 
           def inline_module_name
@@ -247,10 +222,6 @@
             sequence_primary.compile(lexical_address, builder)
           end
 
-         def parent_modules
-           []
-         end
-
           def inline_modules
             sequence_primary.inline_modules
           end
@@ -267,10 +238,6 @@
             sequence_primary.compile(lexical_address, builder)
           end
 
-         def parent_modules
-           []
-         end
-
           def inline_modules
             sequence_primary.inline_modules
           end
@@ -315,10 +282,6 @@
             elements[1]
           end
 
-         def parent_modules
-           []
-         end
-
           def inline_modules
             atomic.inline_modules
           end
@@ -335,9 +298,6 @@
           def prefixed_expression
             atomic
           end
-         def parent_modules
-           []
-         end
           def inline_modules
             []
           end
@@ -352,10 +312,6 @@
             nil
           end
 
-         def parent_modules
-           []
-         end
-
           def inline_modules
             atomic.inline_modules
           end
@@ -382,7 +338,6 @@
             node_class_expression.node_class_name
           end
 
-# !!!! cjh !!!!!
           def inline_modules
             trailing_inline_module.inline_modules
           end
@@ -419,9 +374,6 @@
 
       rule parenthesized_expression
         '(' space? parsing_expression space? ')' <ParenthesizedExpression> {
-         def parent_modules
-           []
-         end
           def inline_modules
             parsing_expression.inline_modules
           end
@@ -487,9 +439,6 @@
 
       rule trailing_inline_module
         space inline_module {
-         def parent_modules
-           []
-         end
           def inline_modules
             [inline_module]
           end
@@ -500,9 +449,6 @@
         }
         /
         '' {
-         def parent_modules
-           []
-         end
           def inline_modules
             []
           end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/node_classes/anything_symbol.rb 
new/lib/treetop/compiler/node_classes/anything_symbol.rb
--- old/lib/treetop/compiler/node_classes/anything_symbol.rb    2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/anything_symbol.rb    2015-06-30 
05:32:42.000000000 +0200
@@ -6,7 +6,7 @@
         builder.if__ "index < input_length" do
           if address == 0 || decorated?
            assign_result "instantiate_node(#{node_class_name},input, 
index...(index + 1))"
-           extend_result_with_inline_module parent_expression
+           extend_result_with_inline_module
           else
             assign_lazily_instantiated_node
           end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/node_classes/character_class.rb 
new/lib/treetop/compiler/node_classes/character_class.rb
--- old/lib/treetop/compiler/node_classes/character_class.rb    2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/character_class.rb    2015-06-30 
05:32:42.000000000 +0200
@@ -7,7 +7,7 @@
         builder.if__ "has_terminal?(@regexps[gr = 
#{grounded_regexp(text_value)}] ||= Regexp.new(gr), :regexp, index)" do
           if address == 0 || decorated?
             assign_result "instantiate_node(#{node_class_name},input, 
index...(index + 1))"
-            extend_result_with_inline_module parent_expression
+            extend_result_with_inline_module
           else
             assign_lazily_instantiated_node
           end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/node_classes/choice.rb 
new/lib/treetop/compiler/node_classes/choice.rb
--- old/lib/treetop/compiler/node_classes/choice.rb     2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/choice.rb     2015-06-30 
05:32:42.000000000 +0200
@@ -5,11 +5,11 @@
         super
         begin_comment(self)
         use_vars :result, :start_index
-        compile_alternatives(alternatives, parent_expression)
+        compile_alternatives(alternatives)
         end_comment(self)
       end
-
-      def compile_alternatives(alternatives, parent_expression)
+      
+      def compile_alternatives(alternatives)
         obtain_new_subexpression_address
         alternatives.first.compile(subexpression_address, builder)
         builder.if__ subexpression_success? do
@@ -17,14 +17,14 @@
          builder << "#{subexpression_result_var} = SyntaxNode.new(input, 
(index-1)...index) if #{subexpression_result_var} == true"
           assign_result subexpression_result_var
           extend_result_with_declared_module
-          extend_result_with_inline_module parent_expression
+          extend_result_with_inline_module
         end
         builder.else_ do
           if alternatives.size == 1
             reset_index
             assign_failure start_index_var
           else
-            compile_alternatives(alternatives[1..-1], parent_expression)
+            compile_alternatives(alternatives[1..-1])
           end
         end
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/node_classes/nonterminal.rb 
new/lib/treetop/compiler/node_classes/nonterminal.rb
--- old/lib/treetop/compiler/node_classes/nonterminal.rb        2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/nonterminal.rb        2015-06-30 
05:32:42.000000000 +0200
@@ -6,8 +6,8 @@
         use_vars :result
         assign_result text_value == 'super' ? 'super' : "_nt_#{text_value}"
         extend_result_with_declared_module
-        extend_result_with_inline_module parent_expression
+        extend_result_with_inline_module
       end
     end
   end
-end
+end
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/treetop/compiler/node_classes/parsing_expression.rb 
new/lib/treetop/compiler/node_classes/parsing_expression.rb
--- old/lib/treetop/compiler/node_classes/parsing_expression.rb 2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/parsing_expression.rb 2015-06-30 
05:32:42.000000000 +0200
@@ -78,14 +78,8 @@
         extend_result declared_module_name if declared_module_name
       end
       
-      def extend_result_with_inline_module parent_expression = nil
-       # debugger if parent_expression && 
!parent_expression.respond_to?(:parent_modules)
-       if parent_expression && parent_expression.parent_modules.size > 0
-         parent_expression.parent_modules.each do |inline|
-           extend_result inline.module_name
-         end
-       end
-       extend_result inline_module_name if inline_module_name
+      def extend_result_with_inline_module
+        extend_result inline_module_name if inline_module_name
       end
     
       def reset_index
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/node_classes/repetition.rb 
new/lib/treetop/compiler/node_classes/repetition.rb
--- old/lib/treetop/compiler/node_classes/repetition.rb 2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/repetition.rb 2015-06-30 
05:32:42.000000000 +0200
@@ -28,9 +28,9 @@
         parent_expression.inline_module_name
       end
 
-      def assign_and_extend_result parent_expression
+      def assign_and_extend_result
         assign_result "instantiate_node(#{node_class_name},input, 
#{start_index_var}...index, #{accumulator_var})"
-        extend_result_with_inline_module parent_expression
+        extend_result_with_inline_module
       end
     end
 
@@ -38,7 +38,7 @@
     class ZeroOrMore < Repetition
       def compile(address, builder, parent_expression)
         super
-        assign_and_extend_result parent_expression
+        assign_and_extend_result
         end_comment(parent_expression)
       end
 
@@ -55,7 +55,7 @@
           assign_failure start_index_var
         end
         builder.else_ do
-          assign_and_extend_result parent_expression
+          assign_and_extend_result
         end
         end_comment(parent_expression)
       end
@@ -81,11 +81,11 @@
          end
           builder.else_ do
            clean_unsaturated
-           assign_and_extend_result parent_expression
+           assign_and_extend_result
          end
         else
          clean_unsaturated
-         assign_and_extend_result parent_expression
+         assign_and_extend_result
        end
 
         end_comment(parent_expression)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/node_classes/sequence.rb 
new/lib/treetop/compiler/node_classes/sequence.rb
--- old/lib/treetop/compiler/node_classes/sequence.rb   2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/sequence.rb   2015-06-30 
05:32:42.000000000 +0200
@@ -9,7 +9,7 @@
         builder.if__ "#{accumulator_var}.last" do
           assign_result "instantiate_node(#{node_class_name},input, 
#{start_index_var}...index, #{accumulator_var})"
           extend_result sequence_element_accessor_module_name if 
sequence_element_accessor_module_name
-          extend_result_with_inline_module parent_expression
+          extend_result_with_inline_module
         end
         builder.else_ do
           reset_index
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/compiler/node_classes/terminal.rb 
new/lib/treetop/compiler/node_classes/terminal.rb
--- old/lib/treetop/compiler/node_classes/terminal.rb   2014-12-09 
05:55:36.000000000 +0100
+++ new/lib/treetop/compiler/node_classes/terminal.rb   2015-06-30 
05:32:42.000000000 +0200
@@ -25,13 +25,7 @@
         builder.if__ "(match_len = has_terminal?(#{str}, #{mode}, index))" do
           if address == 0 || decorated? || mode != 'false' || string_length > 1
            assign_result "instantiate_node(#{node_class_name},input, 
index...(index + match_len))"
-           # debugger if parent_expression and 
parent_expression.inline_modules.size > 0
-           # extend_result_with_inline_module parent_expression
-           if parent_expression
-             parent_expression.inline_modules.each do |inline|
-               extend_result inline.module_name
-             end
-           end
+           extend_result_with_inline_module
           else
             assign_lazily_instantiated_node
          end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/runtime/syntax_node.rb 
new/lib/treetop/runtime/syntax_node.rb
--- old/lib/treetop/runtime/syntax_node.rb      2014-12-09 05:55:36.000000000 
+0100
+++ new/lib/treetop/runtime/syntax_node.rb      2015-06-30 05:32:42.000000000 
+0200
@@ -60,7 +60,7 @@
         end
       end
 
-      def inspect_self(indent="")
+      def inspect(indent="")
         em = extension_modules
         interesting_methods = methods-[em.last ? em.last.methods : 
nil]-self.class.instance_methods
         im = interesting_methods.size > 0 ? " 
(#{interesting_methods.join(",")})" : ""
@@ -72,25 +72,18 @@
           em.map{|m| "+"+m.to_s.sub(/.*:/,'')}*"" +
           " offset=#{interval.first}" +
           ", #{tv.inspect}" +
-          im
-      end
-
-      def inspect_children(indent="")
-       return '' unless elements && elements.size > 0
-       ":" +
-         elements.map do |e|
-           begin
-             "\n"+e.inspect(indent+"  ")
-           rescue  # Defend against inspect not taking a parameter
-             "\n"+indent+" "+e.inspect
-           end
-         end.
-         join("")
-      end
-
-      def inspect(indent="")
-       inspect_self(indent) +
-       inspect_children(indent)
+          im +
+          (elements && elements.size > 0 ?
+            ":" +
+              (elements||[]).map{|e|
+          begin
+            "\n"+e.inspect(indent+"  ")
+          rescue  # Defend against inspect not taking a parameter
+            "\n"+indent+" "+e.inspect
+          end
+              }.join("") :
+            ""
+          )
       end
 
       @@dot_id_counter = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/treetop/version.rb new/lib/treetop/version.rb
--- old/lib/treetop/version.rb  2014-12-09 05:55:36.000000000 +0100
+++ new/lib/treetop/version.rb  2015-06-30 05:32:42.000000000 +0200
@@ -2,7 +2,7 @@
   module VERSION #:nodoc:
     MAJOR = 1
     MINOR = 6
-    TINY  = 2
+    TINY  = 3
 
     STRING = [MAJOR, MINOR, TINY].join('.')
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2014-12-09 05:55:36.000000000 +0100
+++ new/metadata        2015-06-30 05:32:42.000000000 +0200
@@ -1,15 +1,15 @@
 --- !ruby/object:Gem::Specification
 name: treetop
 version: !ruby/object:Gem::Version
-  version: 1.6.2
+  version: 1.6.3
 platform: ruby
 authors:
 - Nathan Sobo
 - Clifford Heath
-autorequire: treetop
+autorequire: 
 bindir: bin
 cert_chain: []
-date: 2014-12-09 00:00:00.000000000 Z
+date: 2015-06-30 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: polyglot
@@ -99,17 +99,17 @@
   name: rake
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - "~>"
       - !ruby/object:Gem::Version
-        version: '0'
+        version: '10'
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - "~>"
       - !ruby/object:Gem::Version
-        version: '0'
-description: 
+        version: '10'
+description: A Parsing Expression Grammar (PEG) Parser generator DSL for Ruby
 email: [email protected]
 executables:
 - tt
@@ -132,6 +132,10 @@
 - doc/syntactic_recognition.markdown
 - doc/tt.1
 - doc/using_in_ruby.markdown
+- examples/indented_blocks/indented_blocks.tt
+- examples/indented_blocks/indented_blocks_test.rb
+- examples/inner_outer.rb
+- examples/inner_outer.tt
 - examples/lambda_calculus/arithmetic.rb
 - examples/lambda_calculus/arithmetic.treetop
 - examples/lambda_calculus/arithmetic_node_classes.rb
@@ -141,6 +145,8 @@
 - examples/lambda_calculus/lambda_calculus_node_classes.rb
 - examples/lambda_calculus/lambda_calculus_test.rb
 - examples/lambda_calculus/test_helper.rb
+- examples/numerals.rb
+- examples/numerals.tt
 - lib/treetop.rb
 - lib/treetop/bootstrap_gen_1_metagrammar.rb
 - lib/treetop/compiler.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/compiler/choice_spec.rb 
new/spec/compiler/choice_spec.rb
--- old/spec/compiler/choice_spec.rb    2014-12-09 05:55:36.000000000 +0100
+++ new/spec/compiler/choice_spec.rb    2015-06-30 05:32:42.000000000 +0200
@@ -2,31 +2,22 @@
 
 module ChoiceSpec
   describe "A choice between terminal symbols" do
-    testing_expression '("foo" { def foo_method; end } / "bar" { def 
bar_method; end } / "baz" { def baz_method; end }) {def bat_method; end}'
+    testing_expression '"foo" { def foo_method; end } / "bar" { def 
bar_method; end } / "baz" { def baz_method; end }'
 
     it "successfully parses input matching any of the alternatives, returning 
a node that responds to methods defined in its respective inline module" do
       result = parse('foo')
       result.should_not be_nil
       result.should respond_to(:foo_method)
-      result.should_not respond_to(:bar_method)
-      result.should_not respond_to(:baz_method)
-      result.should respond_to(:bat_method)
-
+    
       result = parse('bar')
       result.should_not be_nil
-      result.should_not respond_to(:foo_method)
       result.should respond_to(:bar_method)
-      result.should_not respond_to(:baz_method)
-      result.should respond_to(:bat_method)
-
+    
       result = parse('baz')
       result.should_not be_nil
-      result.should_not respond_to(:foo_method)
-      result.should_not respond_to(:bar_method)
       result.should respond_to(:baz_method)
-      result.should respond_to(:bat_method)
     end
-
+  
     it "upon parsing a string matching the second alternative, records the 
failure of the first terminal" do
       result = parse('bar')
       terminal_failures = parser.terminal_failures
@@ -35,18 +26,18 @@
       failure.expected_string.should == '"foo"'
       failure.index.should == 0
     end
-
+  
     it "upon parsing a string matching the third alternative, records the 
failure of the first two terminals" do
       result = parse('baz')
-
+      
       terminal_failures = parser.terminal_failures
-
+      
       terminal_failures.size.should == 2
 
       failure_1 = terminal_failures[0]
       failure_1.expected_string == 'foo'
       failure_1.index.should == 0
-
+    
       failure_2 = terminal_failures[1]
       failure_2.expected_string == 'bar'
       failure_2.index.should == 0
@@ -62,7 +53,7 @@
     end
   end
 
-  describe "A choice between terminals followed by a block" do
+  describe "A choice between terminals followed by a block" do  
     testing_expression "('a'/ 'bb' / [c]) { def a_method; end }"
 
     it "extends a match of any of its subexpressions with a module created 
from the block" do
@@ -77,7 +68,7 @@
     end
   end
 
-  describe "a choice followed by a declared module" do
+  describe "a choice followed by a declared module" do  
     testing_expression "('a'/ 'bb' / [c]) <ChoiceSpec::TestModule>"
 
     it "extends a match of any of its subexpressions with a module created 
from the block" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/compiler/grammar_compiler_spec.rb 
new/spec/compiler/grammar_compiler_spec.rb
--- old/spec/compiler/grammar_compiler_spec.rb  2014-12-09 05:55:36.000000000 
+0100
+++ new/spec/compiler/grammar_compiler_spec.rb  2015-06-30 05:32:42.000000000 
+0200
@@ -32,17 +32,17 @@
   specify "compilation of a single file to a default file name" do
     src_copy = "#{@tmpdir}/test_grammar.treetop"
     File.open(source_path_with_treetop_extension) { |f| 
File.open(src_copy,'w'){|o|o.write(f.read)} }
-    File.exists?(target_path).should be_false
+    File.exists?(target_path).should be_falsey
     compiler.compile(src_copy)
-    File.exists?(target_path).should be_true
+    File.exists?(target_path).should be_truthy
     require target_path
     Test::GrammarParser.new.parse('foo').should_not be_nil
   end
 
   specify "compilation of a single file to an explicit file name" do
-    File.exists?(alternate_target_path).should be_false
+    File.exists?(alternate_target_path).should be_falsy
     compiler.compile(source_path_with_treetop_extension, alternate_target_path)
-    File.exists?(alternate_target_path).should be_true
+    File.exists?(alternate_target_path).should be_truthy
     require alternate_target_path
     Test::GrammarParser.new.parse('foo').should_not be_nil
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/compiler/parenthesized_expression_spec.rb 
new/spec/compiler/parenthesized_expression_spec.rb
--- old/spec/compiler/parenthesized_expression_spec.rb  2014-12-09 
05:55:36.000000000 +0100
+++ new/spec/compiler/parenthesized_expression_spec.rb  2015-06-30 
05:32:42.000000000 +0200
@@ -19,15 +19,4 @@
       end
     end
   end
-
-  describe "An expression with code both inside and outside parentheses" do
-    testing_expression '("foo" { def inner; end } ) { def outer; end} '
-    it "should extend both code modules " do
-      parse('foo') do |result|
-       result.should respond_to(:inner)
-       result.should respond_to(:outer)
-      end
-    end
-  end
-
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/compiler/tt_compiler_spec.rb 
new/spec/compiler/tt_compiler_spec.rb
--- old/spec/compiler/tt_compiler_spec.rb       2014-12-09 05:55:36.000000000 
+0100
+++ new/spec/compiler/tt_compiler_spec.rb       2015-06-30 05:32:42.000000000 
+0200
@@ -34,36 +34,36 @@
 
     it 'can compile a grammar file' do
       # puts %q{emulate 'tt dumb.tt'}
-      system("ruby -S tt #{@test_grammar}").should be_true
+      system("ruby -S tt #{@test_grammar}").should be_truthy
 
-      File.exists?(@test_ruby).should be_true
-      File.zero?(@test_ruby).should_not be_true
+      File.exists?(@test_ruby).should be_truthy
+      File.zero?(@test_ruby).should_not be_truthy
     end
 
     it 'can compile a relative pathed grammar file' do
       dir = File.basename(File.expand_path(File.dirname(@test_grammar)))
 
       # puts %q{emulate 'tt "../<current_dir>/dumb.tt"'}
-      system("cd #{@tmpdir}/..; ruby -S tt 
\"./#{dir}/#{@test_base}.tt\"").should be_true
+      system("cd #{@tmpdir}/..; ruby -S tt 
\"./#{dir}/#{@test_base}.tt\"").should be_truthy
 
-      File.exists?(@test_ruby).should be_true
-      File.zero?(@test_ruby).should_not be_true
+      File.exists?(@test_ruby).should be_truthy
+      File.zero?(@test_ruby).should_not be_truthy
     end
 
     it 'can compile an absolute pathed grammar file' do
       # puts %q{emulate 'tt "/path/to/dumb.tt"'}
-      system("ruby -S tt \"#{File.expand_path(@test_grammar)}\"").should 
be_true
+      system("ruby -S tt \"#{File.expand_path(@test_grammar)}\"").should 
be_truthy
 
-      File.exists?(@test_ruby).should be_true
-      File.zero?(@test_ruby).should_not be_true
+      File.exists?(@test_ruby).should be_truthy
+      File.zero?(@test_ruby).should_not be_truthy
     end
 
     it 'can compile without explicit file extensions' do
       # puts %q{emulate 'tt dumb'}
-      system("ruby -S tt #{@test_path}").should be_true
+      system("ruby -S tt #{@test_path}").should be_truthy
 
-      File.exists?(@test_ruby).should be_true
-      File.zero?(@test_ruby).should_not be_true
+      File.exists?(@test_ruby).should be_truthy
+      File.zero?(@test_ruby).should_not be_truthy
     end
 
     it 'skips nonexistent grammar file without failing or creating bogus 
output' do
@@ -72,17 +72,17 @@
         (io.read =~ /ERROR.*?not exist.*?continuing/).should_not be_nil
       end
 
-      File.exists?("#{@test_base}.rb").should be_false
+      File.exists?("#{@test_base}.rb").should be_falsy
     end
 
     it 'can compile to a specified parser source file' do
       # puts %q{emulate 'tt -o my_dumb_test_parser.rb dumb'}
       pf = "#{@tmpdir}/my_dumb_test_parser.rb"
       begin
-        system("ruby -S tt -o #{pf} #{@test_path}").should be_true
+        system("ruby -S tt -o #{pf} #{@test_path}").should be_truthy
 
-        File.exists?(pf).should be_true
-        File.zero?(pf).should_not be_true
+        File.exists?(pf).should be_truthy
+        File.zero?(pf).should_not be_truthy
       ensure
         File.delete(pf) if File.exists?(pf)
       end
@@ -92,10 +92,10 @@
       # puts %q{emulate 'tt -o must_save_parser.rb dumb'}
       pf = "#{@tmpdir}/must_save_parser.rb"
       begin
-        system("ruby -S tt -o #{pf} #{@test_path}").should be_true
+        system("ruby -S tt -o #{pf} #{@test_path}").should be_truthy
 
-        File.exists?(pf).should be_true
-        File.zero?(pf).should_not be_true
+        File.exists?(pf).should be_truthy
+        File.zero?(pf).should_not be_truthy
 
         # Check that the magic comment is preserved:
         written = File.open(pf, "r") { |f| s = f.read }
@@ -121,16 +121,16 @@
       # puts %q{emulate 'tt -o must_save_parser.rb dumb'}
       pf = "#{@tmpdir}/must_save_parser.rb"
       begin
-        system("ruby -S tt -o #{pf} #{@test_path}").should be_true
+        system("ruby -S tt -o #{pf} #{@test_path}").should be_truthy
 
-        File.exists?(pf).should be_true
-        File.zero?(pf).should_not be_true
+        File.exists?(pf).should be_truthy
+        File.zero?(pf).should_not be_truthy
         orig_file_hash = Digest::SHA1.hexdigest(File.read(pf))
 
         # Modify the file and make sure it gets reverted:
         File.open(pf, "r+") { |f| f.gets; f.write("#") }
 
-        system("ruby -S tt -o #{pf} #{@test_path}").should be_true
+        system("ruby -S tt -o #{pf} #{@test_path}").should be_truthy
         Digest::SHA1.hexdigest(File.read(pf)).should == orig_file_hash
       ensure
         File.delete(pf) if File.exists?(pf)
@@ -139,13 +139,13 @@
 
     it 'can be forced to overwrite existing file #{@test_path}' do
       pf = "#{@test_path}.rb"
-      system("echo some junk >#{pf}").should be_true
+      system("echo some junk >#{pf}").should be_truthy
 
-      File.exists?(pf).should be_true
-      File.zero?(pf).should_not be_true
+      File.exists?(pf).should be_truthy
+      File.zero?(pf).should_not be_truthy
       orig_file_hash = Digest::SHA1.hexdigest(File.read(pf))
 
-      system("ruby -S tt -f #{@test_path}").should be_true
+      system("ruby -S tt -f #{@test_path}").should be_truthy
       Digest::SHA1.hexdigest(File.read(pf)).should_not == orig_file_hash
     end
 
@@ -179,45 +179,45 @@
  
     it 'can compile them in one invocation' do
       # puts %q{emulate 'tt dumb1.tt dumb2.tt'}
-      system("ruby -S tt #{@test_grammars.join(' ')}").should be_true
+      system("ruby -S tt #{@test_grammars.join(' ')}").should be_truthy
 
       @test_bases.each do |f|
         pf = "#{f}.rb"
-        File.exists?(pf).should be_true
-        File.zero?(pf).should_not be_true
+        File.exists?(pf).should be_truthy
+        File.zero?(pf).should_not be_truthy
       end
     end
 
     it 'can compile them without explicit file extenstions' do
       # puts %q{emulate 'tt dumb1 dumb2'}
-      system("ruby -S tt #{@test_bases.join(' ')}").should be_true
+      system("ruby -S tt #{@test_bases.join(' ')}").should be_truthy
 
       @test_bases.each do |f|
         pf = "#{f}.rb"
-        File.exists?(pf).should be_true
-        File.zero?(pf).should_not be_true
+        File.exists?(pf).should be_truthy
+        File.zero?(pf).should_not be_truthy
       end
     end
 
     it 'can skip nonexistent and invalid extension named grammar files' do
       # puts %q{emulate 'tt not_here bad_ext.ttg dumb1 dumb2'}
-      system("ruby -S tt not_here bad_ext.ttg #{@test_bases.join(' ')} 
>/dev/null 2>&1").should be_true
+      system("ruby -S tt not_here bad_ext.ttg #{@test_bases.join(' ')} 
>/dev/null 2>&1").should be_truthy
 
-      File.exists?('not_here.rb').should_not be_true
-      File.exists?('bad_ext.rb').should_not be_true
+      File.exists?('not_here.rb').should_not be_truthy
+      File.exists?('bad_ext.rb').should_not be_truthy
 
       @test_bases.each do |f|
         pf = "#{f}.rb"
-        File.exists?(pf).should be_true
-        File.zero?(pf).should_not be_true
+        File.exists?(pf).should be_truthy
+        File.zero?(pf).should_not be_truthy
       end
     end
 
     it 'can not specify an output file' do
       # puts %q{emulate 'tt -o my_bogus_test_parser.rb dumb1 dumb2'}
       pf = 'my_bogus_test_parser.rb'
-      system("ruby -S tt -o #{pf} #{@test_bases.join(' ')} >/dev/null 
2>&1").should be_false
-      File.exists?(pf).should be_false
+      system("ruby -S tt -o #{pf} #{@test_bases.join(' ')} >/dev/null 
2>&1").should be_falsy
+      File.exists?(pf).should be_falsy
     end
   end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/compiler/zero_or_more_spec.rb 
new/spec/compiler/zero_or_more_spec.rb
--- old/spec/compiler/zero_or_more_spec.rb      2014-12-09 05:55:36.000000000 
+0100
+++ new/spec/compiler/zero_or_more_spec.rb      2015-06-30 05:32:42.000000000 
+0200
@@ -5,8 +5,6 @@
   end
 
   describe "zero or more of a terminal symbol followed by a node class 
declaration and a block" do
-    # testing_expression '("foo" { def b_method; end } )* 
<ZeroOrMoreSpec::Foo> { def a_method; end }'
-    # testing_expression '("foo" { def a_method; end } )* 
<ZeroOrMoreSpec::Foo>'
     testing_expression '"foo"* <ZeroOrMoreSpec::Foo> { def a_method; end }'
 
     it "successfully parses epsilon, returning an instance declared node class 
and recording a terminal failure" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/spec_helper.rb new/spec/spec_helper.rb
--- old/spec/spec_helper.rb     2014-12-09 05:55:36.000000000 +0100
+++ new/spec/spec_helper.rb     2015-06-30 05:32:42.000000000 +0200
@@ -63,7 +63,7 @@
     def parse_multibyte(input, options = {})
       require 'active_support/all'
 
-      if RUBY_VERSION !~ /^(1\.9|2\.0)/ && 'NONE' == $KCODE then $KCODE = 
'UTF8' end
+      if RUBY_VERSION !~ /^(1\.9|2\.)/ && 'NONE' == $KCODE then $KCODE = 
'UTF8' end
       # rspec 1.3 used to do something similar (set it to 'u') that we need
       # for activerecord multibyte wrapper to kick in (1.8 only? @todo)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/treetop.gemspec new/treetop.gemspec
--- old/treetop.gemspec 2014-12-09 05:55:36.000000000 +0100
+++ new/treetop.gemspec 2015-06-30 05:32:42.000000000 +0200
@@ -2,17 +2,17 @@
 # DO NOT EDIT THIS FILE DIRECTLY
 # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
 # -*- encoding: utf-8 -*-
-# stub: treetop 1.5.3 ruby lib
+# stub: treetop 1.6.3 ruby lib
 
 Gem::Specification.new do |s|
   s.name = "treetop"
-  s.version = "1.5.3"
+  s.version = "1.6.3"
 
   s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? 
:required_rubygems_version=
   s.require_paths = ["lib"]
   s.authors = ["Nathan Sobo", "Clifford Heath"]
-  s.autorequire = "treetop"
-  s.date = "2014-03-21"
+  s.date = "2015-06-30"
+  s.description = "A Parsing Expression Grammar (PEG) Parser generator DSL for 
Ruby"
   s.email = "[email protected]"
   s.executables = ["tt"]
   s.extra_rdoc_files = [
@@ -34,16 +34,21 @@
     "doc/syntactic_recognition.markdown",
     "doc/tt.1",
     "doc/using_in_ruby.markdown",
+    "examples/indented_blocks/indented_blocks.tt",
+    "examples/indented_blocks/indented_blocks_test.rb",
+    "examples/inner_outer.rb",
+    "examples/inner_outer.tt",
     "examples/lambda_calculus/arithmetic.rb",
     "examples/lambda_calculus/arithmetic.treetop",
     "examples/lambda_calculus/arithmetic_node_classes.rb",
     "examples/lambda_calculus/arithmetic_test.rb",
-    "examples/lambda_calculus/lambda_calculus",
     "examples/lambda_calculus/lambda_calculus.rb",
     "examples/lambda_calculus/lambda_calculus.treetop",
     "examples/lambda_calculus/lambda_calculus_node_classes.rb",
     "examples/lambda_calculus/lambda_calculus_test.rb",
     "examples/lambda_calculus/test_helper.rb",
+    "examples/numerals.rb",
+    "examples/numerals.tt",
     "lib/treetop.rb",
     "lib/treetop/bootstrap_gen_1_metagrammar.rb",
     "lib/treetop/compiler.rb",


Reply via email to