sexp_processor 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,7 +34,7 @@ require 'sexp'
34
34
 
35
35
  class SexpProcessor
36
36
 
37
- VERSION = '3.1.0'
37
+ VERSION = '3.2.0'
38
38
 
39
39
  ##
40
40
  # Automatically shifts off the Sexp type before handing the
@@ -139,6 +139,11 @@ class SexpProcessor
139
139
  def rewrite(exp)
140
140
  type = exp.first
141
141
 
142
+ if @debug.has_key? type then
143
+ str = exp.inspect
144
+ puts "// DEBUG (original ): #{str}" if str =~ @debug[type]
145
+ end
146
+
142
147
  in_context type do
143
148
  exp.map! { |sub| Array === sub ? rewrite(sub) : sub }
144
149
  end
@@ -147,6 +152,12 @@ class SexpProcessor
147
152
  meth = @rewriters[type]
148
153
  exp = self.send(meth, exp) if meth
149
154
  break unless Sexp === exp
155
+
156
+ if @debug.has_key? type then
157
+ str = exp.inspect
158
+ puts "// DEBUG (rewritten): #{str}" if str =~ @debug[type]
159
+ end
160
+
150
161
  old_type, type = type, exp.first
151
162
  end until old_type == type
152
163
 
@@ -160,7 +171,11 @@ class SexpProcessor
160
171
 
161
172
  def process(exp)
162
173
  return nil if exp.nil?
163
- exp = self.rewrite(exp) if self.context.empty?
174
+ if self.context.empty? then
175
+ p :rewriting unless debug.empty?
176
+ exp = self.rewrite(exp)
177
+ p :done_rewriting unless debug.empty?
178
+ end
164
179
 
165
180
  unless @unsupported_checked then
166
181
  m = public_methods.grep(/^process_/) { |o| o.to_s.sub(/^process_/, '').to_sym }
@@ -180,7 +195,7 @@ class SexpProcessor
180
195
  in_context type do
181
196
  if @debug.has_key? type then
182
197
  str = exp.inspect
183
- puts "// DEBUG: #{str}" if str =~ @debug[type]
198
+ puts "// DEBUG:(original ): #{str}" if str =~ @debug[type]
184
199
  end
185
200
 
186
201
  exp_orig = nil
@@ -190,11 +205,6 @@ class SexpProcessor
190
205
  raise UnsupportedNodeError, "'#{type}' is not a supported node type" if
191
206
  @unsupported.include? type
192
207
 
193
- if @debug.has_key? type then
194
- str = exp.inspect
195
- puts "// DEBUG (rewritten): #{str}" if str =~ @debug[type]
196
- end
197
-
198
208
  # now do a pass with the real processor (or generic)
199
209
  meth = @processors[type] || @default_method
200
210
  if meth then
@@ -209,6 +219,11 @@ class SexpProcessor
209
219
  self.send(meth, exp)
210
220
  end
211
221
 
222
+ if @debug.has_key? type then
223
+ str = exp.inspect
224
+ puts "// DEBUG (processed): #{str}" if str =~ @debug[type]
225
+ end
226
+
212
227
  raise SexpTypeError, "Result must be a #{@expected}, was #{result.class}:#{result.inspect}" unless @expected === result
213
228
 
214
229
  self.assert_empty(meth, exp, exp_orig) if @require_empty
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sexp_processor
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 3.1.0
10
+ version: 3.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Davis
@@ -36,7 +36,7 @@ cert_chain:
36
36
  FBHgymkyj/AOSqKRIpXPhjC6
37
37
  -----END CERTIFICATE-----
38
38
 
39
- date: 2012-03-01 00:00:00 Z
39
+ date: 2012-04-15 00:00:00 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
@@ -46,11 +46,11 @@ dependencies:
46
46
  requirements:
47
47
  - - ~>
48
48
  - !ruby/object:Gem::Version
49
- hash: 21
49
+ hash: 27
50
50
  segments:
51
51
  - 2
52
- - 11
53
- version: "2.11"
52
+ - 12
53
+ version: "2.12"
54
54
  type: :development
55
55
  version_requirements: *id001
56
56
  - !ruby/object:Gem::Dependency
@@ -76,11 +76,11 @@ dependencies:
76
76
  requirements:
77
77
  - - ~>
78
78
  - !ruby/object:Gem::Version
79
- hash: 29
79
+ hash: 7
80
80
  segments:
81
- - 2
82
- - 15
83
- version: "2.15"
81
+ - 3
82
+ - 0
83
+ version: "3.0"
84
84
  type: :development
85
85
  version_requirements: *id003
86
86
  description: |-
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  requirements: []
143
143
 
144
144
  rubyforge_project: parsetree
145
- rubygems_version: 1.8.12
145
+ rubygems_version: 1.8.17
146
146
  signing_key:
147
147
  specification_version: 3
148
148
  summary: sexp_processor branches from ParseTree bringing all the generic sexp processing tools with it
metadata.gz.sig CHANGED
Binary file