redparse 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|