EFL 1.0.1 → 1.0.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/lib/EFL.rb +6 -5
- data/lib/EFL_regexp.rb +1 -1
- data/lib/ejemplar.txt +1 -0
- data/lib/pruebaEFL.rb +45 -0
- data/lib/salida2.txt +2 -0
- data/tests/Add_Sup_2.rb +3 -2
- data/tests/BeforeAfter.rb +5 -3
- data/tests/Minus.rb +3 -2
- data/tests/REVit.rb +3 -2
- data/tests/RenameTest.rb +2 -1
- data/tests/archAuxiliares/MatrizOut.java +1 -0
- data/tests/archAuxiliares/MatrizOut10.java +1 -0
- data/tests/archAuxiliares/MatrizOut11.java +1 -0
- data/tests/archAuxiliares/MatrizOut2.java +1 -0
- data/tests/archAuxiliares/MatrizOut3.java +1 -0
- data/tests/archAuxiliares/MatrizOut4.java +1 -0
- data/tests/archAuxiliares/MatrizOut5.java +1 -0
- data/tests/archAuxiliares/MatrizOut6.java +1 -0
- data/tests/archAuxiliares/MatrizOut7.java +1 -0
- data/tests/archAuxiliares/MatrizOut8.java +1 -0
- data/tests/archAuxiliares/MatrizOut9.java +1 -0
- data/tests/archAuxiliares/N1_OUT.txt +1 -0
- data/tests/archAuxiliares/N2_OUT.txt +1 -0
- data/tests/archAuxiliares/N3_OUT.txt +1 -0
- data/tests/archAuxiliares/N4_OUT.txt +1 -0
- data/tests/archAuxiliares/N5_OUT.txt +1 -0
- data/tests/archAuxiliares/N6_OUT.txt +1 -0
- data/tests/archAuxiliares/minus_out_1.txt +1 -0
- data/tests/archAuxiliares/p1.txt +1 -0
- data/tests/archAuxiliares/p2.txt +1 -0
- data/tests/archAuxiliares/s1.txt +1 -0
- metadata +5 -2
data/lib/EFL.rb
CHANGED
@@ -209,13 +209,14 @@ class Generator
|
|
209
209
|
end #mixGen
|
210
210
|
|
211
211
|
def replace(source_str, replace_list) #:nodoc:
|
212
|
-
|
212
|
+
source_str = "#{source_str} "
|
213
|
+
delta_length = 0
|
213
214
|
result_str = source_str.dup
|
214
215
|
replace_list.each { |rep|
|
215
|
-
text_without_the_quote_problem = @sub_hash[rep[2]].text.gsub(/"/, '\"')
|
216
|
-
|
216
|
+
text_without_the_quote_problem = @sub_hash[rep[2]].text.gsub(/"/, '\"')
|
217
|
+
str1 = result_str[0, rep[0] + delta_length]
|
217
218
|
str2 = result_str[rep[0] + delta_length, rep[1] - rep[0] +1]
|
218
|
-
str3 = result_str[rep[1] + 1 + delta_length, result_str.length
|
219
|
+
str3 = result_str[rep[1] + 1 + delta_length, result_str.length]
|
219
220
|
str2 =~ @sub_hash[rep[2]].reg_exp.zoom_list.last
|
220
221
|
str = ''
|
221
222
|
eval("str = " + '"' + text_without_the_quote_problem + '"')
|
@@ -226,7 +227,7 @@ class Generator
|
|
226
227
|
end
|
227
228
|
|
228
229
|
def mix_subs(sub_list, i_file) #:nodoc:
|
229
|
-
|
230
|
+
result = []
|
230
231
|
sub_list.each { |s|
|
231
232
|
begin
|
232
233
|
|
data/lib/EFL_regexp.rb
CHANGED
@@ -37,7 +37,7 @@ class Regexp
|
|
37
37
|
|
38
38
|
op1 = self.dup
|
39
39
|
if op1.minus_list && (op1.minus_list !=[]) then #due '-' has major precedence than '>', this error is detected here
|
40
|
-
raise "
|
40
|
+
raise "error minus"
|
41
41
|
end
|
42
42
|
if op1.zoom_list
|
43
43
|
op1.zoom_list = op1.zoom_list + op2.zoom_list
|
data/lib/ejemplar.txt
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Esto es Eso es
|
data/lib/pruebaEFL.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'EFL'
|
2
|
+
|
3
|
+
class Uno < Generator
|
4
|
+
def initialize
|
5
|
+
super()
|
6
|
+
#~ gsub(/Estos/, 'ESTO', 's1')
|
7
|
+
#~ sub(/Eso/, 'XXX','s1')
|
8
|
+
|
9
|
+
before(/Esto/, '-ESTO-', 's1')
|
10
|
+
after(/Eso/, '-ESO-', 's2')
|
11
|
+
gbefore(/es/, '-ES-', 's3')
|
12
|
+
|
13
|
+
prod('ejemplar.txt', 'salida2.txt')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class Dos < Generator
|
18
|
+
def initialize
|
19
|
+
super
|
20
|
+
sub(/es/, 'ES', 's1')
|
21
|
+
sub(/una/, 'UNA')
|
22
|
+
prod('ejemplar.txt', 'salida.txt')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Tres < Generator
|
27
|
+
def initialize
|
28
|
+
super
|
29
|
+
sub(/cosa/, 'COSA', 's1')
|
30
|
+
prod('ejemplar.txt', 'salida.txt')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class Cuatro < Generator
|
35
|
+
def initialize
|
36
|
+
super
|
37
|
+
sub(/COSA/, 'cosa', 's1')
|
38
|
+
# prod('ejemplar.txt', 'salida.txt')
|
39
|
+
prod('salida.txt', 'salida.txt')
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
(Uno.new).gen
|
44
|
+
#~ (Uno.new + Dos.new + Tres.new).gen
|
45
|
+
#~ Cuatro.new.gen
|
data/lib/salida2.txt
ADDED
data/tests/Add_Sup_2.rb
CHANGED
@@ -12,12 +12,13 @@ require 'EFL'
|
|
12
12
|
def identicalFiles? (f1, f2)
|
13
13
|
result = false
|
14
14
|
File.open(f1) { |fi1|
|
15
|
-
|
15
|
+
content1 = fi1.read
|
16
16
|
File.open(f2) { |fi2|
|
17
17
|
content2 = fi2.read
|
18
|
-
result =
|
18
|
+
result = (content1.strip == content2.strip)
|
19
19
|
}
|
20
20
|
}
|
21
|
+
return result
|
21
22
|
end #identicalFiles
|
22
23
|
|
23
24
|
class Gen < Test::Unit::TestCase
|
data/tests/BeforeAfter.rb
CHANGED
@@ -10,12 +10,13 @@ require "EFL"
|
|
10
10
|
def identicalFiles? (f1, f2)
|
11
11
|
result = false
|
12
12
|
File.open(f1) { |fi1|
|
13
|
-
|
13
|
+
content1 = fi1.read
|
14
14
|
File.open(f2) { |fi2|
|
15
15
|
content2 = fi2.read
|
16
|
-
result =
|
16
|
+
result = (content1.strip == content2.strip)
|
17
17
|
}
|
18
18
|
}
|
19
|
+
return result
|
19
20
|
end #identicalFiles
|
20
21
|
|
21
22
|
|
@@ -50,7 +51,8 @@ class BeforeAfter < Test::Unit::TestCase
|
|
50
51
|
(g1+g2+g3).gen
|
51
52
|
assert( identicalFiles?('archAuxiliares/Matriz_3.java', 'archAuxiliares/MatrizOut3.java') )
|
52
53
|
end
|
53
|
-
|
54
|
+
|
55
|
+
def test_2
|
54
56
|
g1 = generator {
|
55
57
|
reg_exp_str_1 = nested_symbols( '{' , '}' ).to_s
|
56
58
|
reg_exp_str_2 = nested_symbols( '(' , ')' ).to_s
|
data/tests/Minus.rb
CHANGED
@@ -10,12 +10,13 @@ require "EFL"
|
|
10
10
|
def identicalFiles? (f1, f2)
|
11
11
|
result = false
|
12
12
|
File.open(f1) { |fi1|
|
13
|
-
|
13
|
+
content1 = fi1.read
|
14
14
|
File.open(f2) { |fi2|
|
15
15
|
content2 = fi2.read
|
16
|
-
result =
|
16
|
+
result = (content1.strip == content2.strip)
|
17
17
|
}
|
18
18
|
}
|
19
|
+
return result
|
19
20
|
end #identicalFiles
|
20
21
|
|
21
22
|
class Minus < Test::Unit::TestCase
|
data/tests/REVit.rb
CHANGED
@@ -10,12 +10,13 @@ require "EFL"
|
|
10
10
|
def identicalFiles? (f1, f2)
|
11
11
|
result = false
|
12
12
|
File.open(f1) { |fi1|
|
13
|
-
|
13
|
+
content1 = fi1.read
|
14
14
|
File.open(f2) { |fi2|
|
15
15
|
content2 = fi2.read
|
16
|
-
result =
|
16
|
+
result = (content1.strip == content2.strip)
|
17
17
|
}
|
18
18
|
}
|
19
|
+
return result
|
19
20
|
end #identicalFiles
|
20
21
|
|
21
22
|
|
data/tests/RenameTest.rb
CHANGED
@@ -13,9 +13,10 @@ def identicalFiles? (f1, f2)
|
|
13
13
|
content1 = fi1.read
|
14
14
|
File.open(f2) { |fi2|
|
15
15
|
content2 = fi2.read
|
16
|
-
result = content1 == content2
|
16
|
+
result = (content1.strip == content2.strip)
|
17
17
|
}
|
18
18
|
}
|
19
|
+
return result
|
19
20
|
end #identicalFiles
|
20
21
|
|
21
22
|
class Rename < Test::Unit::TestCase
|
data/tests/archAuxiliares/p1.txt
CHANGED
data/tests/archAuxiliares/p2.txt
CHANGED
data/tests/archAuxiliares/s1.txt
CHANGED
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: EFL
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date:
|
6
|
+
version: 1.0.2
|
7
|
+
date: 2009-04-15 00:00:00 +02:00
|
8
8
|
summary: A Ruby implementation of the Exemplar Flexibilization Language
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -87,9 +87,12 @@ files:
|
|
87
87
|
- lib/EFL_regexp_generator.rb
|
88
88
|
- lib/EFL_substitution.rb
|
89
89
|
- lib/EFL_syntactic_sugar.rb
|
90
|
+
- lib/ejemplar.txt
|
90
91
|
- lib/Hash Doc.doc
|
91
92
|
- lib/lib.zip
|
92
93
|
- lib/Limitaciones.txt
|
94
|
+
- lib/pruebaEFL.rb
|
95
|
+
- lib/salida2.txt
|
93
96
|
- tests/Add_Sup_1.rb
|
94
97
|
- tests/Add_Sup_1.rb.bak
|
95
98
|
- tests/Add_Sup_1_NI.rb
|