public
Fork of nathansobo/treetop
Description: A Ruby-based parsing DSL based on parsing expression grammars.
Homepage: http://treetop.rubyforge.org
Clone URL: git://github.com/juretta/treetop.git
Search Repo:
Broke dependency on facets and trying to coexist with Rails.

Facets methods #camelize and #tabto have been duplicated in String 
extension. #camelize has been rename to #treetop_camelize so I don't step 
on Rails's version but also don't have to be at its mercy. The #blank? 
method is only added on String if it hasn't already been defined. Don't 
define my own version because this one seems pretty hard to get wrong in 
the manner Treetop uses it.
pivotal (author)
Fri Mar 07 11:48:28 -0800 2008
commit  8771a78bc3b1e1874f44f5c0eec6e84df55da629
tree    0b01e87c1eedfc5d4186305559ca3f2fd34aad03
parent  a8ff1eb0df5abeb4dc8d2d607a5fb6e321df10aa
...
1
 
 
 
...
1
2
3
4
0
@@ -1,2 +1,5 @@
0
 *.gem
0
+*.iml
0
+*.iws
0
+*.ipr
...
15
16
17
18
 
19
20
21
...
27
28
29
30
31
32
33
...
15
16
17
 
18
19
20
21
...
27
28
29
 
30
31
32
0
@@ -15,7 +15,7 @@
0
 
0
 gemspec = Gem::Specification.new do |s|
0
   s.name = "treetop"
0
- s.version = "1.2.2"
0
+ s.version = "1.2.3"
0
   s.author = "Nathan Sobo"
0
   s.email = "nathansobo@gmail.com"
0
   s.homepage = "http://functionalform.blogspot.com"
0
@@ -27,7 +27,6 @@
0
   s.require_path = "lib"
0
   s.autorequire = "treetop"
0
   s.has_rdoc = false
0
- s.add_dependency "facets", "=2.0.2"
0
   s.add_dependency "polyglot"
0
 end
0
 
...
1
2
3
4
5
6
...
1
 
 
2
3
4
0
@@ -1,6 +1,4 @@
0
 require 'rubygems'
0
-require 'facets/string/tabs'
0
-require 'facets/stylize'
0
 
0
 dir = File.dirname(__FILE__)
0
 
...
4
5
6
7
 
8
9
10
...
4
5
6
 
7
8
9
10
0
@@ -4,7 +4,7 @@
0
       attr_reader :module_name
0
       
0
       def compile(index, rule, builder)
0
- @module_name = "#{rule.name.camelize}#{index}"
0
+ @module_name = "#{rule.name.treetop_camelize}#{index}"
0
       end
0
     end
0
     
...
12
13
14
15
16
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
19
...
12
13
14
 
 
 
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
0
@@ -12,9 +12,32 @@
0
   def line_of(index)
0
     self[0...index].count("\n") + 1
0
   end
0
-
0
- def blank?
0
- self == ""
0
+
0
+ unless method_defined?(:blank?)
0
+ def blank?
0
+ self == ""
0
+ end
0
+ end
0
+
0
+ # The following methods are lifted from Facets 2.0.2
0
+ def tabto(n)
0
+ if self =~ /^( *)\S/
0
+ indent(n - $1.length)
0
+ else
0
+ self
0
+ end
0
+ end
0
+
0
+ def indent(n)
0
+ if n >= 0
0
+ gsub(/^/, ' ' * n)
0
+ else
0
+ gsub(/^ {0,#{-n}}/, "")
0
+ end
0
+ end
0
+
0
+ def treetop_camelize
0
+ to_s.gsub(/\/(.?)/){ "::" + $1.upcase }.gsub(/(^|_)(.)/){ $2.upcase }
0
   end
0
 end

Comments

    No one has commented yet.