redparse 0.8.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +33 -2
- data/Manifest.txt +2 -3
- data/README.txt +157 -265
- data/Rakefile +13 -4
- data/bin/redparse +3 -2
- data/lib/redparse.rb +2423 -489
- data/lib/redparse/generate.rb +378 -0
- data/lib/redparse/node.rb +1497 -620
- data/lib/redparse/reg_more_sugar.rb +21 -0
- data/lib/redparse/version.rb +1 -1
- data/test/data/def_spec.rb +2 -0
- data/test/rp-locatetest.rb +2 -1
- data/test/test_redparse.rb +594 -61
- metadata +17 -8
- data/nurli/test_control.nurli +0 -261
- data/redparse.vpj +0 -92
- data/redparse.vpw +0 -8
data/History.txt
CHANGED
@@ -1,9 +1,40 @@
|
|
1
|
+
=== 0.8.2 / 2009-04-21
|
2
|
+
* 14 Minor Enhancements:
|
3
|
+
* should be no tokens left in Node tree now
|
4
|
+
* lots of code trying to make things faster (no luck so far)
|
5
|
+
* declare types and parameters of variation of all inputs
|
6
|
+
* to_parsetree now outputs 1.8.6 (new default) as well as 1.8.7 tree formats
|
7
|
+
* #parsetree takes a session arg instead of thread-local variables
|
8
|
+
* reduce number of warnings/noise in test output
|
9
|
+
* created #to_parsetree_and_warnings: returns warnings along with a tree
|
10
|
+
* (for now, no warnings are ever emitted, tho)
|
11
|
+
* some utilities for working with node trees
|
12
|
+
* split off rescue operator and begin..end from ParenedNode
|
13
|
+
* made a VarNode to replace VarNameToken in node trees
|
14
|
+
* Reg::Repeat#subregs was missing, had to hack one up
|
15
|
+
* Reg::LookBack/LookAhead#subregs were missing too
|
16
|
+
* unparse now tracks lines in the original src
|
17
|
+
* beginnings of support for 1.9 syntax
|
18
|
+
|
19
|
+
* 10 Bugfixes:
|
20
|
+
* don't panic if rubygems not available
|
21
|
+
* @lvalue is not useful to clients, so ignore it when comparing trees
|
22
|
+
* many improvements to unparser; most expressions now unparse correctly
|
23
|
+
* rescue and friends now work in modules, classes and metaclasses
|
24
|
+
* word array splitter is perfect now
|
25
|
+
* comma and unary star now have right precedence wrt = in all cases
|
26
|
+
* fixed miscellaneous minor misparsings
|
27
|
+
* some of the remaining ParseTree compatibility bugs removed
|
28
|
+
* string contents are now always left unaltered in Node tree output
|
29
|
+
* (so escape translation has to be done later, when Nodes are used)
|
30
|
+
* #to_parsetree of an empty source text should be happier now
|
31
|
+
|
1
32
|
=== 0.8.1 / 2009-04-21
|
2
|
-
* 4
|
33
|
+
* 4 Minor Enhancements:
|
3
34
|
* fixed embarassing permissions problems
|
4
35
|
* version.rb and History.txt were missing from the release
|
5
36
|
* I left off the dependancy on reg, oops!
|
6
|
-
* hacked up tests to ignore
|
37
|
+
* hacked up tests to ignore sudden problem with extra nils
|
7
38
|
|
8
39
|
=== 0.8.0 / 2008-10-10
|
9
40
|
* 1 Major Enhancement:
|
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= RedParse
|
2
|
-
*
|
3
|
-
*
|
2
|
+
* http://rubyforge.org/projects/redparse
|
3
|
+
* http://github.com/coatl/redparse
|
4
4
|
|
5
5
|
== DESCRIPTION:
|
6
6
|
|
@@ -20,13 +20,13 @@ the wild. For known problems, see below.
|
|
20
20
|
(external iterators). Reg depends on Sequence's predecessor, Cursor,
|
21
21
|
altho Cursor isn't used at all in RedParse. The (long-delayed) next
|
22
22
|
version of Reg will use Sequence. To summarize:
|
23
|
-
* RedParse 0.
|
24
|
-
* RubyLexer 0.7.
|
23
|
+
* RedParse 0.8.2 requires RubyLexer>=0.7.4 and Reg>=0.4.7
|
24
|
+
* RubyLexer 0.7.4 requires Sequence>=0.2.0
|
25
25
|
* Reg 0.4.7 requires Cursor (not really needed here)
|
26
26
|
* All are available as gems. (Or tarballs on rubyforge, if you must.)
|
27
27
|
|
28
28
|
== INSTALL:
|
29
|
-
* gem install redparse #(if root as
|
29
|
+
* gem install redparse #(if root as necssary)
|
30
30
|
|
31
31
|
== LICENSE:
|
32
32
|
|
@@ -60,17 +60,14 @@ Please see COPYING.LGPL for details.
|
|
60
60
|
|
61
61
|
== Drawbacks:
|
62
62
|
|
63
|
-
* Pathetically, rediculously slow (
|
63
|
+
* Pathetically, rediculously slow (ok, compiler-compilers are hard...)
|
64
64
|
* Error handling is very minimal right now.
|
65
65
|
* No warnings at all.
|
66
66
|
* Some expressions aren't parsed correctly. see below.
|
67
|
-
* Line numbers in ParseTrees not supported yet.
|
68
|
-
* AST tree format is not finalized yet.
|
69
67
|
* Unit test takes a fairly long time.
|
70
68
|
* Lots of warnings printed during unit test.
|
71
69
|
* Debugging parse rules is not straightforward.
|
72
|
-
*
|
73
|
-
* No support for any charset but ascii (until rubylexer gets it).
|
70
|
+
* Incomplete support for ruby 1.9.
|
74
71
|
* "loosey-goosey" parser happily parses many expressions which normal
|
75
72
|
ruby considers errors.
|
76
73
|
|
@@ -93,8 +90,7 @@ Please see COPYING.LGPL for details.
|
|
93
90
|
|
94
91
|
#presumably tree was altered somehow in the walk-"loop" above
|
95
92
|
#when done mucking with the tree, you can turn it into one
|
96
|
-
#of two other formats: ParseTree s-exps or
|
97
|
-
#ruby source code.
|
93
|
+
#of two other formats: ParseTree s-exps or ruby source code.
|
98
94
|
|
99
95
|
tree.to_parsetree #=> turns a tree into an ParseTree-style s-exp.
|
100
96
|
|
@@ -109,9 +105,9 @@ Syntax trees are represented by trees of nested Nodes. All Nodes descend from
|
|
109
105
|
Array, and their subnodes can be addressed by numeric index, just like normal
|
110
106
|
Arrays. However, many subnodes want to have names as well, thus most (but not
|
111
107
|
all) array slots within the various Node classes have names. The general rule
|
112
|
-
is that Node slots may contain a Node, a
|
113
|
-
|
114
|
-
|
108
|
+
is that Node slots may contain a Node, a plain Array, a String, or nil.
|
109
|
+
However, many cases are more specific than that. Specific Node classes are
|
110
|
+
documented briefly below in this format:
|
115
111
|
|
116
112
|
NodeName #comments describing node
|
117
113
|
(slot1: Type, slot2: Type)
|
@@ -134,40 +130,34 @@ describes the constraints on the Array's contents.
|
|
134
130
|
In the cases where node slots don't have names, there will be no colon-
|
135
131
|
terminated slot name(s) on the second line, just an Array[] specification.
|
136
132
|
|
137
|
-
|
138
|
-
|
139
|
-
VarNameToken. It's descended from a RubyLexer::Token, not a Node. In the
|
140
|
-
future this will be replaced with an actual Node.
|
141
|
-
|
142
|
-
In fact, there are several areas where rough edges in the syntax tree could be
|
143
|
-
removed. So don't consider this current depiction to be final. But it should
|
144
|
-
be pretty close.
|
133
|
+
This is a final depiction of the syntax tree. There may be additions to the
|
134
|
+
existing format in the future, but no incompatibility-creating changes.
|
145
135
|
|
146
136
|
Several abbreviations are used:
|
147
|
-
|
148
|
-
LValue means ConstantNode|
|
137
|
+
Expr means ValueNode
|
138
|
+
LValue means ConstantNode|VarNode|UnaryStarNode|CallNode|
|
149
139
|
BracketsGetNode|AssigneeList[LValue*]
|
150
140
|
UnAmpNode means UnOpNode with op == "&"
|
151
141
|
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
+RescueNode #a rescue clause in a def of begin statement
|
156
|
-
| (exceptions: Array[Value*], varname: VarNameToken|nil, action: Value)
|
142
|
+
Node<Array #abstract ancestor of all nodes
|
143
|
+
+RescueNode #a rescue clause in a def or begin statement
|
144
|
+
| (exceptions: Array[Expr*], varname: VarNode|nil, action: Expr)
|
157
145
|
+WhenNode #a when clause in a case statement
|
158
|
-
| (when:
|
146
|
+
| (when: Expr|Array[Expr+] then: Expr|nil )
|
159
147
|
+ElsifNode #an elsif clause in an if statement
|
160
|
-
| (elsif:
|
148
|
+
| (elsif: Expr, then: Expr|nil)
|
161
149
|
+ValueNode #abstract, a node which has a value (an expression)
|
150
|
+
|+VarNode #represents variables and constants
|
151
|
+
|| (ident: String)
|
162
152
|
|+ListOpNode #abstract, ancestor for nodes which are lists of
|
163
153
|
||| #things separated by some op
|
164
154
|
||+SequenceNode #a sequence of statements
|
165
|
-
||| (Array[
|
155
|
+
||| (Array[Expr*])
|
166
156
|
||+ConstantNode #a constant expression of the form A::B::C or the like
|
167
157
|
|| #first expression can be anything
|
168
|
-
|| (Array[String|
|
158
|
+
|| (Array[String|Expr|nil,String+])
|
169
159
|
|+RawOpNode #ancestor of all operators (but not . :: ; , ?..:)
|
170
|
-
||| (left:
|
160
|
+
||| (left: Expr, op: String, right: Expr)
|
171
161
|
||+OpNode #ancestor of some operators
|
172
162
|
|||+RangeNode #a range literal node
|
173
163
|
|||+KeywordOpNode #abstract, ancestor of keyword operators
|
@@ -176,13 +166,15 @@ be pretty close.
|
|
176
166
|
||||+UntilOpNode #until as an operator
|
177
167
|
||||+IfOpNode #if as an operator
|
178
168
|
||||+UnlessOpNode #unless as an operator
|
169
|
+
||||+RescueOpNode #rescue as an operator
|
170
|
+
|||| (body: Expr, rescues: Array[RescueNode*])
|
179
171
|
|||+NotEqualNode #!= expressions
|
180
172
|
|||+MatchNode #=~ expressions
|
181
173
|
|||+NotMatchNode #!~ expressions
|
182
174
|
|+LiteralNode #literal symbols, integers
|
183
175
|
|| (val: Numeric|Symbol|StringNode)
|
184
176
|
|+StringNode #literal strings
|
185
|
-
||| (Array[(String|
|
177
|
+
||| (Array[(String|Expr)+])
|
186
178
|
||+HereDocNode #here documents
|
187
179
|
|+StringCatNode #adjacent strings are catenated ("foo" "bar" == "foobar")
|
188
180
|
|| (Array[StringNode+])
|
@@ -191,59 +183,63 @@ be pretty close.
|
|
191
183
|
|+VarLikeNode #nil,false,true,__FILE__,__LINE__,self
|
192
184
|
|| (name: String)
|
193
185
|
|+UnOpNode #unary operators
|
194
|
-
|| (op: String, val:
|
186
|
+
|| (op: String, val: Expr)
|
195
187
|
||+UnaryStarNode #unary star (splat)
|
196
188
|
|||+DanglingStarNode #unary star with no argument
|
197
189
|
||||| (no attributes)
|
198
190
|
||||+DanglingCommaNode #comma with no rhs
|
199
191
|
|| (no attributes)
|
200
|
-
|+
|
201
|
-
|| (body:
|
202
|
-
||
|
203
|
-
|
192
|
+
|+BeginNode #begin..end block
|
193
|
+
|| (body: Expr|nil, rescues: Array[RescueNode*],
|
194
|
+
|| else: Expr|nil, ensure: Expr|nil)
|
195
|
+
|+ParenedNode #parenthesized expressions
|
196
|
+
|| (body: Expr)
|
204
197
|
|+AssignNode #assignment (including eg +=)
|
205
|
-
|| (left:AssigneeList|LValue, op:String ,right:Array[
|
198
|
+
|| (left:AssigneeList|LValue, op:String ,right:Array[Expr*]|Expr)
|
206
199
|
|+AssigneeList #abstract, comma-delimited list of assignables
|
207
200
|
||| (Array[LValue*])
|
208
201
|
||+NestedAssign #nested lhs, in parentheses
|
209
202
|
||+MultiAssign #regular top-level lhs
|
210
203
|
||+BlockParams #block formal parameter list
|
211
204
|
|+CallSiteNode #abstract, method calls
|
212
|
-
||| (receiver:
|
213
|
-
||| block_params: BlockParams, block:
|
205
|
+
||| (receiver: Expr|nil, name: String, params: nil|Array[Expr+,UnaryStarNode?,UnAmpNode?],
|
206
|
+
||| block_params: BlockParams, block: Expr)
|
214
207
|
||+CallNode #normal method calls
|
215
208
|
||+KWCallNode #keywords that look (more or less) like methods (BEGIN END yield return break continue next)
|
216
209
|
|+ArrayLiteralNode #[..]
|
217
|
-
|| (Array[
|
210
|
+
|| (Array[Expr*])
|
218
211
|
|+IfNode #if..end and unless..end
|
219
|
-
|| (if:
|
212
|
+
|| (if: Expr, then: Expr|nil, elsifs: Array[ElsifNode+]|Nil, else: Expr|nil)
|
220
213
|
|+LoopNode #while..end and until..end
|
221
|
-
|| (while:
|
214
|
+
|| (while: Expr, do: Expr:nil)
|
222
215
|
|+CaseNode #case..end
|
223
|
-
|| (case:
|
216
|
+
|| (case: Expr|nil, whens: Array[WhenNode*], else: Expr|nil)
|
224
217
|
|+ForNode #for..end
|
225
|
-
|| (for: LValue, in:
|
218
|
+
|| (for: LValue, in: Expr, do: Expr|nil)
|
226
219
|
|+HashLiteralNode #{..}
|
227
|
-
|| (Array[
|
220
|
+
|| (Array[Expr*]) (size must be even)
|
228
221
|
|+TernaryNode # ? .. :
|
229
|
-
|| (if:
|
222
|
+
|| (if: Expr, then: Expr, else: Expr)
|
230
223
|
|+MethodNode #def..end
|
231
|
-
|| (receiver:
|
232
|
-
|| params:Array[
|
233
|
-
|| body:
|
224
|
+
|| (receiver:Expr|nil, name:String,
|
225
|
+
|| params:Array[VarNode*,AssignNode*,UnaryStarNode?,UnAmpNode?]|nil,
|
226
|
+
|| body: Expr|nil, rescues: Array[RescueNode+]|nil, else: Expr|nil, ensure: Expr|nil)
|
234
227
|
|+AliasNode #alias foo bar
|
235
|
-
|| (to: String|
|
228
|
+
|| (to: String|VarNode|StringNode, from: String|VarNode|StringNode)
|
236
229
|
|+UndefNode #undef foo
|
237
230
|
|| (Array[String|StringNode+])
|
238
231
|
|+NamespaceNode #abstract
|
239
232
|
||+ModuleNode #module..end
|
240
|
-
||| (name:
|
233
|
+
||| (name: VarNode|ConstantNode, body: Expr|nil
|
234
|
+
||| rescues: Array[RescueNode+]|nil, else: Expr|nil, ensure: Expr|nil)
|
241
235
|
||+ClassNode #class..end
|
242
|
-
||| (name:
|
236
|
+
||| (name: VarNode|ConstantNode, parent: Expr|nil, body: Expr|nil,
|
237
|
+
||| rescues: Array[RescueNode+]|nil, else: Expr|nil, ensure: Expr|nil)
|
243
238
|
||+MetaClassNode #class<<x..end
|
244
|
-
|| (val:
|
239
|
+
|| (val: Expr, body: Expr|nil,
|
240
|
+
|| rescues: Array[RescueNode+]|nil, else: Expr|nil, ensure: Expr|nil)
|
245
241
|
|+BracketsGetNode #a[b]
|
246
|
-
| (receiver:
|
242
|
+
| (receiver: Expr, params: Array[Expr+,UnaryStarNode?]|nil)
|
247
243
|
|
|
248
244
|
ErrorNode #mixed in to nodes with a syntax error
|
249
245
|
+MisparsedNode #mismatched braces or begin..end or the like
|
@@ -251,216 +247,112 @@ be pretty close.
|
|
251
247
|
|
252
248
|
|
253
249
|
== Known failing expressions
|
254
|
-
*
|
255
|
-
*
|
256
|
-
*
|
257
|
-
|
258
|
-
*
|
259
|
-
*
|
260
|
-
*
|
261
|
-
*
|
262
|
-
*
|
263
|
-
*
|
264
|
-
*
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
250
|
+
* The following expressions are known to parse incorrectly currently:
|
251
|
+
* def foo(a = 1) end; def foo(a=b=c={}) end; def bar(a=b=c=1,d=2) end
|
252
|
+
* <<-EOS<<__LINE__
|
253
|
+
EOS
|
254
|
+
* z = valueo_s rescue "?"
|
255
|
+
* self.<=>:p8
|
256
|
+
* return (@images = @old_imgs)
|
257
|
+
* p ?e.<<?y
|
258
|
+
* doc_status, err_args = Documeh_status{fcgi_state = 3; docespond do doc_response =fcgi_state = 1; end }
|
259
|
+
* class A;def b;class <<self;@@p = false end;end;end
|
260
|
+
* return @senders[1] =
|
261
|
+
2
|
262
|
+
|
263
|
+
== Not exactly right, but semantically equivalent
|
264
|
+
* These don't return exactly the same s-exp as MRI/ParseTree, but close enough:
|
265
|
+
* for i in (begin
|
266
|
+
[44,55,66,77,88] end) do p i**Math.sqrt(i) end
|
267
|
+
* %W"is #{"Slim #{2?"W":"S"}"}#{xx}."
|
268
|
+
* def d; return (block_given? ? begin; yield f; ensure; f.close; end : f); end
|
269
|
+
* "#{publi}#{}>"
|
270
|
+
* /__A#{__FILE__}tcase/n =~ i
|
271
|
+
|
272
|
+
== Bugs in ruby
|
273
|
+
* These expressions don't parse the same as in MRI because of bug(s) in MRI:
|
271
274
|
* p = p m %(1)
|
272
275
|
* p=556;p (e) /a
|
276
|
+
* c do p (110).m end
|
273
277
|
|
274
|
-
==
|
275
|
-
*
|
276
|
-
* $11111111111111111111111111111111111111111111111111111111111111111111
|
278
|
+
== Bugs in ParseTree
|
279
|
+
* Unit tests see failures in these cases, but due to bugs in ParseTree:
|
277
280
|
* case F;when G; else;case; when j; end;end
|
278
|
-
*
|
279
|
-
*
|
281
|
+
* def foo(a=b=c={}) end
|
282
|
+
* $11111111111111111111111111111111111111111111111111111111111111111111
|
283
|
+
* proc{|&b| }
|
284
|
+
* def sum(options = {:weights => weights = Hash.new(1)}); opt; end
|
280
285
|
|
281
286
|
==Known failing files
|
282
287
|
* And here's a list of files which are known to parse incorrectly:
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
* logging-0.8.0/test/test_logger.rb
|
355
|
-
* hobo-0.7.5/hobo_files/plugin/lib/hobo/scopes/defined_scope_proxy_extender.rb
|
356
|
-
* logtwuncator-0.1.2/lib/log_twuncator/win32_file.rb
|
357
|
-
* Dnsruby-1.0/test/tc_axfr.rb
|
358
|
-
* spree-0.2.0/vendor/rails/railties/builtin/rails_info/rails/info.rb
|
359
|
-
* margot-0.5.0/Rakefile
|
360
|
-
* ruby-style-1.2.1/lib/style.rb
|
361
|
-
* preferences-0.1.3/test/functional/preferences_test.rb
|
362
|
-
* mogilefs-client-1.2.1/lib/mogilefs/backend.rb
|
363
|
-
* flatulent-0.0.4/lib/flatulent.rb
|
364
|
-
* actionpack-2.1.0/test/controller/caching_test.rb
|
365
|
-
* buildr-1.3.1.1/lib/buildr/packaging/zip.rb
|
366
|
-
* typo-5.0.3.98.1/vendor/syntax/lib/syntax/lang/ruby.rb
|
367
|
-
* starling-0.9.3/lib/starling/server.rb
|
368
|
-
* ruby-odbc-0.9995/ruby-odbc-0.9995/extconf.rb
|
369
|
-
* ruby-ajp-0.2.1/lib/net/ajp13.rb
|
370
|
-
* radiant-0.6.7/vendor/rails/railties/builtin/rails_info/rails/info.rb
|
371
|
-
* xmlparser-0.6.8/xmlparser/samples/digesttest2.rb
|
372
|
-
* rwdtorrent-0.05/extras/rubytorrent/controller.rb
|
373
|
-
* typo-5.0.3.98.1/db/migrate/039_serialize_blog_attributes.rb
|
374
|
-
* sparrow-0.3.1/lib/sparrow/runner.rb
|
375
|
-
* rubyscript2exe-0.5.3/realstuff.rb
|
376
|
-
* stomp-1.0.5/lib/stomp.rb
|
377
|
-
* adhearsion-0.7.7/lib/rami.rb
|
378
|
-
* bigtinker-0.93/extras/rconftool.rb
|
379
|
-
* Buildr-0.17.0/lib/tasks/zip.rb
|
380
|
-
* rmail-1.0.0/test/testheader.rb
|
381
|
-
* datamapper-0.3.2/lib/data_mapper/adapters/sql/mappings/column.rb
|
382
|
-
* fhlow-1.91.0/lib/module_cmdparse/cmdparse.rb
|
383
|
-
* can_has_bots-0.1.0/adapters/jabber/bot.rb
|
384
|
-
* spree-0.2.0/vendor/rails/actionpack/test/controller/caching_test.rb
|
385
|
-
* nitro-0.41.0/lib/nitro/compiler/include.rb
|
386
|
-
* wwwsrv-0.15.3/test/test_token.rb
|
387
|
-
* wwwsrv-0.15.3/wwwsrv/fastcgi.rb
|
388
|
-
* rgen-0.4.2/redist/xmlscan/tests/deftestcase.rb
|
389
|
-
* muding-0.2.0/lib/initializer.rb
|
390
|
-
* bj-1.0.1/lib/bj/runner.rb
|
391
|
-
* dnsruby-1.1/test/tc_tsig.rb
|
392
|
-
* ruote-0.9.18/test/ft_0c_testname.rb
|
393
|
-
* aquarium-0.4.2/spec/aquarium/aspects/aspect_spec.rb
|
394
|
-
* Ruby-MemCache-0.0.1/tests/stats.tests.rb
|
395
|
-
* docdiff-0.3.2/docdiff/charstring.rb
|
396
|
-
* automateit-0.80624/lib/automateit/account_manager/posix.rb
|
397
|
-
* simplemapper-0.0.6/lib/simple_mapper/default_plugins/associations.rb
|
398
|
-
* onebody-0.3.0/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb
|
399
|
-
* notification-0.2/Rakefile
|
400
|
-
* websitary-0.5/lib/websitary/htmldiff.rb
|
401
|
-
* feedupdater-0.2.5/lib/feed_updater/vendor/daemons/daemonize.rb
|
402
|
-
* rogdl-0.2.3/lib/string.rb
|
403
|
-
* yapra-0.1.1/legacy_plugins/Filter/sort.rb
|
404
|
-
* rwdaddresses-1.03/extras/rconftool.rb
|
405
|
-
* ruote-0.9.18/test/raw_prog_test.rb
|
406
|
-
* sequel_core-2.2.0/lib/sequel_core/core_sql.rb
|
407
|
-
* html-table-1.3.1/examples/advanced.rb
|
408
|
-
* swivel-0.0.175/vendor/activesupport-2.0.2-/lib/active_support/multibyte/handlers/utf8_handler.rb
|
409
|
-
* Rubernate-0.1.7/tests/rubernate/impl/dbi_generic_stub.rb
|
410
|
-
* logmerge-1.0.0/lib/logmerge/resolv.rb
|
411
|
-
* mongoose-0.2.5/lib/mongoose/column.rb
|
412
|
-
* aquarium-0.4.2/spec/aquarium/aspects/advice_chain_node_spec.rb
|
413
|
-
* qualitysmith_extensions-0.0.64/lib/qualitysmith_extensions/object/ancestry_of_method.rb
|
414
|
-
* rubygame-2.3.0/samples/chimp.rb
|
415
|
-
* rshell-0.1.0/lib/g/misc.rb
|
416
|
-
* bibliomori-0.2.3/src/filter.rb
|
417
|
-
* Ruby-MemCache-0.0.4/lib/memcache.rb
|
418
|
-
* raggle-0.4.2/extras/test_html_renderer.rb
|
419
|
-
* vpim-0.619/lib/vpim/rrule.rb
|
420
|
-
* command-set-0.10.4/lib/command-set/arguments.rb
|
421
|
-
* activerdf-1.6.10/lib/active_rdf/queryengine/query2jars2.rb
|
422
|
-
* hobofields-0.7.5/lib/hobo_fields/field_spec.rb
|
423
|
-
* mssqlclient-0.1.0/RAKEFILE
|
424
|
-
* html-table-1.3.1/test/tc_head.rb
|
425
|
-
* ruby-odbc-0.9995/ruby-odbc-0.9995/utf8/extconf.rb
|
426
|
-
* ditz-0.3/lib/operator.rb
|
427
|
-
* tolerances-1.0.0/lib/tolerance.rb
|
428
|
-
* raingrams-0.0.9/lib/raingrams/multigram_model.rb
|
429
|
-
* cheat-1.2.1/lib/site.rb
|
430
|
-
* ap4r-0.3.6/lib/ap4r/mongrel.rb
|
431
|
-
* radiant-0.6.7/vendor/rails/actionpack/test/controller/fragment_store_setting_test.rb
|
432
|
-
* datamapper-0.3.2/lib/data_mapper/associations/belongs_to_association.rb
|
433
|
-
* rools-0.4/RAKEFILE
|
434
|
-
* gettext-1.91.0/test/test_gettext.rb
|
435
|
-
* multibyte-0.0.1/lib/multibyte/handlers/utf8_handler.rb
|
436
|
-
* data_objects-0.9.2/lib/data_objects/transaction.rb
|
437
|
-
* onebody-0.3.0/vendor/rails/railties/builtin/rails_info/rails/info.rb
|
438
|
-
* mongrel_esi-0.5.4/test/net/server_test.rb
|
439
|
-
* dbc-2.0.0/lib/dbc/ocl.rb
|
440
|
-
* rubylexer/test/data/heremonsters_dos.rb
|
441
|
-
* lib/ftools.rb
|
442
|
-
* lib/rdoc/generators/template/html/html.rb
|
443
|
-
* lib/yaml/types.rb
|
444
|
-
* ruby-1.8.7/sample/test.rb
|
445
|
-
* ruby-1.8.7/test/fileutils/test_fileutils.rb
|
446
|
-
* ruby-1.8.7/test/ruby/test_proc.rb
|
447
|
-
* reg/regcompiler.rb
|
448
|
-
* reg/regvar.rb
|
449
|
-
* rubyparser/rubyparser.rb
|
450
|
-
* /usr/lib/ruby/1.9.0/resolv.rb
|
451
|
-
* /usr/lib/ruby/1.8/cmdparse2.rb
|
452
|
-
* /usr/lib/ruby/1.8/puppet/provider/package/appdmg.rb
|
453
|
-
* /usr/lib/ruby/1.8/qwik/util-css.rb
|
454
|
-
* /usr/lib/ruby/1.8/rbbr/doc/ri2.rb
|
455
|
-
* libxml-parser-ruby1.8/examples/digesttest.rb
|
456
|
-
* glark/optproc.rb
|
457
|
-
* hiki/hiki/plugin.rb
|
458
|
-
* kagemai/lib/xmlscan/parser.rb
|
459
|
-
* actionpack/test/controller/caching_test.rb
|
460
|
-
* activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb
|
461
|
-
* railties/builtin/rails_info/rails/info.rb
|
462
|
-
* railties/lib/initializer.rb
|
463
|
-
* skktools/filters/skkdictools.rb
|
464
|
-
* cursor-0.9/duck.rb
|
465
|
-
* Ron-0.1.0/lib/ron.rb
|
466
|
-
* ruby-debug-0.10.0/cli/ruby-debug/processor.rb
|
288
|
+
|
289
|
+
|
290
|
+
activerdf-1.6.10/lib/active_rdf/queryengine/query2jars2.rb
|
291
|
+
aquarium-0.4.2/spec/aquarium/aspects/aspect_spec.rb
|
292
|
+
aspectr-0-3-5/lib/aspectr.rb
|
293
|
+
authorails-1.0.0/lib/initializer.rb
|
294
|
+
bibliomori-0.2.3/src/filter.rb
|
295
|
+
cursor-0.9/cursor/circular.rb
|
296
|
+
cursor-0.9/duck.rb
|
297
|
+
data_objects-0.9.2/lib/data_objects/transaction.rb
|
298
|
+
docdiff-0.3.2/docdiff/charstring.rb
|
299
|
+
extract_curves-0.0.1/ruby_libs/pav/string/observable.rb
|
300
|
+
extract-curves-0.1.1/ruby_libs/pav/string/observable.rb
|
301
|
+
gecoder-with-gecode-0.8.2/lib/gecoder/interface/constraints/set/connection.rb
|
302
|
+
gettext-1.91.0/test/test_gettext.rb
|
303
|
+
lazytools-0.1.0/lib/dirstructure.rb
|
304
|
+
lockfile-1.4.3/lib/lockfile-1.4.3.rb
|
305
|
+
lockfile-1.4.3/lib/lockfile.rb
|
306
|
+
logging-0.8.0/test/test_logger.rb
|
307
|
+
logmerge-1.0.0/lib/logmerge/resolv.rb
|
308
|
+
main-2.8.0/lib/main/base.rb
|
309
|
+
muding-0.2.0/lib/initializer.rb
|
310
|
+
net-mdns-0.4/lib/net/dns/resolv.rb
|
311
|
+
not_naughty-0.5.1/spec/not_naughty_spec.rb
|
312
|
+
radiant-0.6.7/vendor/rails/railties/lib/initializer.rb
|
313
|
+
redparse/test/data/def_spec.rb
|
314
|
+
reg/regcompiler.rb
|
315
|
+
rgen-0.4.2/redist/xmlscan/tests/deftestcase.rb
|
316
|
+
rq-3.4.0/lib/rq/lockfile.rb
|
317
|
+
ruby-ajp-0.2.1/lib/net/ajp13.rb
|
318
|
+
ruby-contract-0.1.1/lib/contract/overrides.rb
|
319
|
+
ruby-debug-0.10.0/cli/ruby-debug/processor.rb
|
320
|
+
rubygame-2.3.0/lib/rubygame/rect.rb
|
321
|
+
rubygems-update-1.2.0/lib/rubygems/test_utilities.rb
|
322
|
+
rubylexer/test/data/heremonsters_dos.rb
|
323
|
+
ruby-nuggets-0.2.1.246/lib/nuggets/array/to_hash.rb
|
324
|
+
sequel_core-2.2.0/lib/sequel_core/core_sql.rb
|
325
|
+
skktools/filters/skkdictools.rb
|
326
|
+
stick-1.3.3/lib/stick/matrix.rb
|
327
|
+
stomp-1.0.5/lib/stomp.rb
|
328
|
+
syntax-1.0.0/lib/syntax/lang/ruby.rb
|
329
|
+
tournament-1.1.0/lib/tournament/bracket.rb
|
330
|
+
typo-5.0.3.98.1/config/environment.rb
|
331
|
+
typo-5.0.3.98.1/vendor/syntax/lib/syntax/lang/ruby.rb
|
332
|
+
/usr/lib/ruby/1.8/docdiff/charstring.rb
|
333
|
+
/usr/lib/ruby/1.8/puppet/provider/nameservice.rb
|
334
|
+
/usr/lib/ruby/1.8/qwik/util-css.rb
|
335
|
+
/usr/lib/ruby/1.8/resolv.rb
|
336
|
+
/usr/lib/ruby/1.8/rexml/doctype.rb
|
337
|
+
/usr/lib/ruby/1.8/tkextlib/bwidget/buttonbox.rb
|
338
|
+
/usr/lib/ruby/1.9.0/resolv.rb
|
339
|
+
/usr/lib/ruby/1.9.0/rexml/doctype.rb
|
340
|
+
/usr/share/doc/libtcltk-ruby1.8/examples/tkextlib/tkHTML/ss.rb
|
341
|
+
/usr/share/doc/libtcltk-ruby1.9/examples/tkextlib/tkHTML/ss.rb
|
342
|
+
/usr/share/doc/libxml-ruby/tests/tc_xml_parser8.rb
|
343
|
+
/usr/share/glark/options.rb
|
344
|
+
/usr/share/hiki/hiki/docdiff/charstring.rb
|
345
|
+
/usr/share/nadoka/rice/irc.rb
|
346
|
+
/usr/share/rails/actionpack/test/controller/caching_test.rb
|
347
|
+
/usr/share/rails/actionpack/test/controller/fragment_store_setting_test.rb
|
348
|
+
/usr/share/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb
|
349
|
+
/usr/share/rails/railties/builtin/rails_info/rails/info.rb
|
350
|
+
/usr/share/rails/railties/lib/initializer.rb
|
351
|
+
/usr/share/skktools/filters/skkdictools.rb
|
352
|
+
/usr/share/tdiary/TC_tdiary-setup.rb
|
353
|
+
wwwsrv-0.15.3/wwwsrv/fastcgi.rb
|
354
|
+
xmlscan-0.2.3/tests/deftestcase.rb
|
355
|
+
ya2yaml-0.26/lib/ya2yaml.rb
|
356
|
+
ActiveRecord-JDBC-0.5/lib/jdbc_adapter/jdbc_hsqldb.rb
|
357
|
+
ruby-web-1.1.1/lib/webunit/parser.rb
|
358
|
+
filemanager-0.2.0/filemanager/app/controllers/fm/filemanager_controller.rb
|