reg 0.4.8 → 0.5.0a0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -0
- data/COPYING +0 -0
- data/History.txt +14 -0
- data/Makefile +59 -0
- data/README +87 -40
- data/article.txt +838 -0
- data/{assert.rb → lib/assert.rb} +3 -3
- data/{reg.rb → lib/reg.rb} +11 -4
- data/lib/reg/version.rb +21 -0
- data/lib/regarray.rb +455 -0
- data/{regarrayold.rb → lib/regarrayold.rb} +33 -7
- data/lib/regbackref.rb +73 -0
- data/lib/regbind.rb +230 -0
- data/{regcase.rb → lib/regcase.rb} +15 -5
- data/lib/regcompiler.rb +2341 -0
- data/{regcore.rb → lib/regcore.rb} +196 -85
- data/{regdeferred.rb → lib/regdeferred.rb} +35 -4
- data/{regposition.rb → lib/regevent.rb} +36 -38
- data/lib/reggraphpoint.rb +28 -0
- data/lib/reghash.rb +631 -0
- data/lib/reginstrumentation.rb +36 -0
- data/{regitem_that.rb → lib/regitem_that.rb} +32 -11
- data/{regknows.rb → lib/regknows.rb} +4 -2
- data/{reglogic.rb → lib/reglogic.rb} +76 -59
- data/{reglookab.rb → lib/reglookab.rb} +31 -21
- data/lib/regmatchset.rb +323 -0
- data/{regold.rb → lib/regold.rb} +27 -27
- data/{regpath.rb → lib/regpath.rb} +91 -1
- data/lib/regposition.rb +79 -0
- data/lib/regprogress.rb +1522 -0
- data/lib/regrepeat.rb +307 -0
- data/lib/regreplace.rb +254 -0
- data/lib/regslicing.rb +581 -0
- data/lib/regsubseq.rb +72 -0
- data/lib/regsugar.rb +361 -0
- data/lib/regvar.rb +180 -0
- data/lib/regxform.rb +212 -0
- data/{trace.rb → lib/trace_during.rb} +6 -4
- data/lib/warning.rb +37 -0
- data/parser.txt +26 -8
- data/philosophy.txt +18 -0
- data/reg.gemspec +58 -25
- data/regguide.txt +18 -0
- data/test/andtest.rb +46 -0
- data/test/regcompiler_test.rb +346 -0
- data/test/regdemo.rb +20 -0
- data/{item_thattest.rb → test/regitem_thattest.rb} +2 -2
- data/test/regtest.rb +2125 -0
- data/test/test_all.rb +32 -0
- data/test/test_reg.rb +19 -0
- metadata +108 -73
- data/calc.reg +0 -73
- data/forward_to.rb +0 -49
- data/numberset.rb +0 -200
- data/regarray.rb +0 -675
- data/regbackref.rb +0 -126
- data/regbind.rb +0 -74
- data/reggrid.csv +1 -2
- data/reghash.rb +0 -318
- data/regprogress.rb +0 -1054
- data/regreplace.rb +0 -114
- data/regsugar.rb +0 -230
- data/regtest.rb +0 -1078
- data/regvar.rb +0 -76
data/regvar.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
=begin copyright
|
2
|
-
reg - the ruby extended grammar
|
3
|
-
Copyright (C) 2005 Caleb Clausen
|
4
|
-
|
5
|
-
This library is free software; you can redistribute it and/or
|
6
|
-
modify it under the terms of the GNU Lesser General Public
|
7
|
-
License as published by the Free Software Foundation; either
|
8
|
-
version 2.1 of the License, or (at your option) any later version.
|
9
|
-
|
10
|
-
This library is distributed in the hope that it will be useful,
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
-
Lesser General Public License for more details.
|
14
|
-
|
15
|
-
You should have received a copy of the GNU Lesser General Public
|
16
|
-
License along with this library; if not, write to the Free Software
|
17
|
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
|
-
=end
|
19
|
-
|
20
|
-
module Reg
|
21
|
-
class Variable
|
22
|
-
include Reg,Multiple
|
23
|
-
|
24
|
-
def set!(areg)
|
25
|
-
#huh 'something like this...'
|
26
|
-
@to=areg
|
27
|
-
class <<self
|
28
|
-
#(there's a library for this kind of stuff...)
|
29
|
-
(instance_methods - ::Object.instance_methods).each do |m|
|
30
|
-
undef_method m.to_sym
|
31
|
-
end
|
32
|
-
def respond_to? msg
|
33
|
-
@to.respond_to? msg or super
|
34
|
-
end
|
35
|
-
|
36
|
-
def methods
|
37
|
-
@to.methods + super
|
38
|
-
end
|
39
|
-
|
40
|
-
def method_missing msg, *args, &block
|
41
|
-
@to.send msg, *args, &block
|
42
|
-
end
|
43
|
-
end
|
44
|
-
self
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
class Constant < Variable
|
49
|
-
def set!(areg)
|
50
|
-
super
|
51
|
-
class <<self
|
52
|
-
def set!
|
53
|
-
raise 'constant can only be set once'
|
54
|
-
end
|
55
|
-
end
|
56
|
-
freeze
|
57
|
-
self
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
class <<self
|
62
|
-
#Reg::Variable convenience constructor.
|
63
|
-
def variable
|
64
|
-
::Reg::Variable.new
|
65
|
-
end
|
66
|
-
alias var variable
|
67
|
-
|
68
|
-
#Reg::Constant convenience constructor.
|
69
|
-
def constant
|
70
|
-
::Reg::Constant.new
|
71
|
-
end
|
72
|
-
alias const constant
|
73
|
-
end
|
74
|
-
|
75
|
-
|
76
|
-
end
|