daff 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/bin/daff.rb +3 -0
  2. data/lib/daff.rb +95 -0
  3. data/lib/lib/coopy/alignment.rb +409 -0
  4. data/lib/lib/coopy/bag.rb +10 -0
  5. data/lib/lib/coopy/cell_info.rb +29 -0
  6. data/lib/lib/coopy/change.rb +48 -0
  7. data/lib/lib/coopy/change_type.rb +21 -0
  8. data/lib/lib/coopy/compare.rb +98 -0
  9. data/lib/lib/coopy/compare_flags.rb +46 -0
  10. data/lib/lib/coopy/compare_table.rb +402 -0
  11. data/lib/lib/coopy/coopy.rb +414 -0
  12. data/lib/lib/coopy/cross_match.rb +16 -0
  13. data/lib/lib/coopy/csv.rb +181 -0
  14. data/lib/lib/coopy/diff_render.rb +254 -0
  15. data/lib/lib/coopy/highlight_patch.rb +651 -0
  16. data/lib/lib/coopy/highlight_patch_unit.rb +37 -0
  17. data/lib/lib/coopy/index.rb +101 -0
  18. data/lib/lib/coopy/index_item.rb +20 -0
  19. data/lib/lib/coopy/index_pair.rb +87 -0
  20. data/lib/lib/coopy/mover.rb +195 -0
  21. data/lib/lib/coopy/ordering.rb +49 -0
  22. data/lib/lib/coopy/report.rb +23 -0
  23. data/lib/lib/coopy/row.rb +9 -0
  24. data/lib/lib/coopy/simple_cell.rb +23 -0
  25. data/lib/lib/coopy/simple_table.rb +242 -0
  26. data/lib/lib/coopy/simple_view.rb +41 -0
  27. data/lib/lib/coopy/sparse_sheet.rb +50 -0
  28. data/lib/lib/coopy/table.rb +17 -0
  29. data/lib/lib/coopy/table_comparison_state.rb +32 -0
  30. data/lib/lib/coopy/table_diff.rb +738 -0
  31. data/lib/lib/coopy/table_io.rb +33 -0
  32. data/lib/lib/coopy/table_modifier.rb +39 -0
  33. data/lib/lib/coopy/table_text.rb +25 -0
  34. data/lib/lib/coopy/unit.rb +70 -0
  35. data/lib/lib/coopy/view.rb +14 -0
  36. data/lib/lib/coopy/viewed_datum.rb +37 -0
  37. data/lib/lib/coopy/viterbi.rb +172 -0
  38. data/lib/lib/coopy/workspace.rb +22 -0
  39. data/lib/lib/haxe/ds/int_map.rb +14 -0
  40. data/lib/lib/haxe/ds/string_map.rb +14 -0
  41. data/lib/lib/haxe/format/json_parser.rb +264 -0
  42. data/lib/lib/haxe/format/json_printer.rb +239 -0
  43. data/lib/lib/haxe/io/bytes.rb +33 -0
  44. data/lib/lib/haxe/io/eof.rb +17 -0
  45. data/lib/lib/haxe/io/error.rb +21 -0
  46. data/lib/lib/haxe/io/output.rb +40 -0
  47. data/lib/lib/haxe/log.rb +16 -0
  48. data/lib/lib/hx_overrides.rb +18 -0
  49. data/lib/lib/imap.rb +6 -0
  50. data/lib/lib/lambda.rb +36 -0
  51. data/lib/lib/list.rb +42 -0
  52. data/lib/lib/rb/boot.rb +19 -0
  53. data/lib/lib/rb/ruby_iterator.rb +49 -0
  54. data/lib/lib/reflect.rb +29 -0
  55. data/lib/lib/string_buf.rb +14 -0
  56. data/lib/lib/sys.rb +19 -0
  57. data/lib/lib/sys/io/file.rb +19 -0
  58. data/lib/lib/sys/io/file_handle.rb +17 -0
  59. data/lib/lib/sys/io/file_output.rb +35 -0
  60. data/lib/lib/type.rb +32 -0
  61. data/lib/lib/value_type.rb +22 -0
  62. metadata +181 -0
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class Report
6
+
7
+ def initialize
8
+ @changes = Array.new
9
+ end
10
+
11
+ attr_accessor :changes
12
+
13
+ def to_s
14
+ return @changes.to_s
15
+ end
16
+
17
+ def clear
18
+ @changes = Array.new
19
+ end
20
+
21
+ end
22
+
23
+ end
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class Row
6
+ def getRowString(c) puts "Abstract Row.getRowString called" end
7
+ end
8
+
9
+ end
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class SimpleCell
6
+
7
+ def initialize(x)
8
+ @datum = x
9
+ end
10
+
11
+ protected
12
+
13
+ attr_accessor :datum
14
+
15
+ public
16
+
17
+ def to_s
18
+ return @datum
19
+ end
20
+
21
+ end
22
+
23
+ end
@@ -0,0 +1,242 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class SimpleTable
6
+
7
+ def initialize(w,h)
8
+ @data = {}
9
+ @w = w
10
+ @h = h
11
+ end
12
+
13
+ # protected - in ruby this doesn't play well with static/inline methods
14
+
15
+ attr_accessor :data
16
+ attr_accessor :w
17
+ attr_accessor :h
18
+
19
+ public
20
+
21
+ def get_table
22
+ return self
23
+ end
24
+
25
+ def height() get_height end
26
+ def height=(__v) @height = __v end
27
+ def width() get_width end
28
+ def width=(__v) @width = __v end
29
+ def size() get_size end
30
+ def size=(__v) @size = __v end
31
+
32
+ def get_width
33
+ return @w
34
+ end
35
+
36
+ def get_height
37
+ return @h
38
+ end
39
+
40
+ def get_size
41
+ return @h
42
+ end
43
+
44
+ def get_cell(x,y)
45
+ return @data[x + y * @w]
46
+ end
47
+
48
+ def set_cell(x,y,c)
49
+ value = c
50
+ begin
51
+ value1 = value
52
+ @data[x + y * @w] = value1
53
+ end
54
+ end
55
+
56
+ def to_s
57
+ return ::Coopy::SimpleTable.table_to_string(self)
58
+ end
59
+
60
+ def get_cell_view
61
+ return ::Coopy::SimpleView.new
62
+ end
63
+
64
+ def is_resizable
65
+ return true
66
+ end
67
+
68
+ def resize(w,h)
69
+ @w = w
70
+ @h = h
71
+ return true
72
+ end
73
+
74
+ def clear
75
+ @data = {}
76
+ end
77
+
78
+ def insert_or_delete_rows(fate,hfate)
79
+ data2 = {}
80
+ begin
81
+ _g1 = 0
82
+ _g = fate.length
83
+ while(_g1 < _g)
84
+ i = _g1
85
+ _g1+=1
86
+ j = fate[i]
87
+ if j != -1
88
+ _g3 = 0
89
+ _g2 = @w
90
+ while(_g3 < _g2)
91
+ c = _g3
92
+ _g3+=1
93
+ idx = i * @w + c
94
+ if @data.include?(idx)
95
+ value = @data[idx]
96
+ begin
97
+ value1 = value
98
+ data2[j * @w + c] = value1
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ @h = hfate
106
+ @data = data2
107
+ return true
108
+ end
109
+
110
+ def insert_or_delete_columns(fate,wfate)
111
+ data2 = {}
112
+ begin
113
+ _g1 = 0
114
+ _g = fate.length
115
+ while(_g1 < _g)
116
+ i = _g1
117
+ _g1+=1
118
+ j = fate[i]
119
+ if j != -1
120
+ _g3 = 0
121
+ _g2 = @h
122
+ while(_g3 < _g2)
123
+ r = _g3
124
+ _g3+=1
125
+ idx = r * @w + i
126
+ if @data.include?(idx)
127
+ value = @data[idx]
128
+ begin
129
+ value1 = value
130
+ data2[r * wfate + j] = value1
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
137
+ @w = wfate
138
+ @data = data2
139
+ return true
140
+ end
141
+
142
+ def trim_blank
143
+ return true if @h == 0
144
+ h_test = @h
145
+ h_test = 3 if h_test >= 3
146
+ view = self.get_cell_view
147
+ space = view.to_datum("")
148
+ more = true
149
+ while(more)
150
+ begin
151
+ _g1 = 0
152
+ _g = self.get_width
153
+ while(_g1 < _g)
154
+ i = _g1
155
+ _g1+=1
156
+ c = self.get_cell(i,@h - 1)
157
+ if !(view.equals(c,space) || c == nil)
158
+ more = false
159
+ break
160
+ end
161
+ end
162
+ end
163
+ @h-=1 if more
164
+ end
165
+ more = true
166
+ nw = @w
167
+ while(more)
168
+ break if @w == 0
169
+ begin
170
+ _g2 = 0
171
+ while(_g2 < h_test)
172
+ i1 = _g2
173
+ _g2+=1
174
+ c1 = self.get_cell(nw - 1,i1)
175
+ if !(view.equals(c1,space) || c1 == nil)
176
+ more = false
177
+ break
178
+ end
179
+ end
180
+ end
181
+ nw-=1 if more
182
+ end
183
+ return true if nw == @w
184
+ data2 = {}
185
+ begin
186
+ _g3 = 0
187
+ while(_g3 < nw)
188
+ i2 = _g3
189
+ _g3+=1
190
+ begin
191
+ _g21 = 0
192
+ _g11 = @h
193
+ while(_g21 < _g11)
194
+ r = _g21
195
+ _g21+=1
196
+ idx = r * @w + i2
197
+ if @data.include?(idx)
198
+ value = @data[idx]
199
+ begin
200
+ value1 = value
201
+ data2[r * nw + i2] = value1
202
+ end
203
+ end
204
+ end
205
+ end
206
+ end
207
+ end
208
+ @w = nw
209
+ @data = data2
210
+ return true
211
+ end
212
+
213
+ def SimpleTable.table_to_string(tab)
214
+ x = ""
215
+ begin
216
+ _g1 = 0
217
+ _g = tab.get_height
218
+ while(_g1 < _g)
219
+ i = _g1
220
+ _g1+=1
221
+ begin
222
+ _g3 = 0
223
+ _g2 = tab.get_width
224
+ while(_g3 < _g2)
225
+ j = _g3
226
+ _g3+=1
227
+ x += " " if j > 0
228
+ begin
229
+ s = tab.get_cell(j,i)
230
+ x += s.to_s
231
+ end
232
+ end
233
+ end
234
+ x += "\n"
235
+ end
236
+ end
237
+ return x
238
+ end
239
+
240
+ end
241
+
242
+ end
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class SimpleView
6
+
7
+ def initialize
8
+ end
9
+
10
+ def to_s(d)
11
+ return nil if d == nil
12
+ return "" + _hx_str(d.to_s)
13
+ end
14
+
15
+ def get_bag(d)
16
+ return nil
17
+ end
18
+
19
+ def get_table(d)
20
+ return nil
21
+ end
22
+
23
+ def has_structure(d)
24
+ return false
25
+ end
26
+
27
+ def equals(d1,d2)
28
+ return true if d1 == nil && d2 == nil
29
+ return true if d1 == nil && "" + _hx_str(d2.to_s) == ""
30
+ return true if "" + _hx_str(d1.to_s) == "" && d2 == nil
31
+ return "" + _hx_str(d1.to_s) == "" + _hx_str(d2.to_s)
32
+ end
33
+
34
+ def to_datum(str)
35
+ return nil if str == nil
36
+ return ::Coopy::SimpleCell.new(str)
37
+ end
38
+
39
+ end
40
+
41
+ end
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class SparseSheet
6
+
7
+ def initialize
8
+ @h = @w = 0
9
+ end
10
+
11
+ protected
12
+
13
+ attr_accessor :h
14
+ attr_accessor :w
15
+ attr_accessor :row
16
+ attr_accessor :zero
17
+
18
+ public
19
+
20
+ def resize(w,h,zero)
21
+ @row = {}
22
+ self.non_destructive_resize(w,h,zero)
23
+ end
24
+
25
+ def non_destructive_resize(w,h,zero)
26
+ @w = w
27
+ @h = h
28
+ @zero = zero
29
+ end
30
+
31
+ def get(x,y)
32
+ cursor = @row[y]
33
+ return @zero if cursor == nil
34
+ val = cursor[x]
35
+ return @zero if val == nil
36
+ return val
37
+ end
38
+
39
+ def set(x,y,val)
40
+ cursor = @row[y]
41
+ if cursor == nil
42
+ cursor = {}
43
+ @row[y] = cursor
44
+ end
45
+ cursor[x] = val
46
+ end
47
+
48
+ end
49
+
50
+ end
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class Table
6
+ def getCell(x,y) puts "Abstract Table.getCell called" end
7
+ def setCell(x,y,c) puts "Abstract Table.setCell called" end
8
+ def getCellView() puts "Abstract Table.getCellView called" end
9
+ def isResizable() puts "Abstract Table.isResizable called" end
10
+ def resize(w,h) puts "Abstract Table.resize called" end
11
+ def clear() puts "Abstract Table.clear called" end
12
+ def insertOrDeleteRows(fate,hfate) puts "Abstract Table.insertOrDeleteRows called" end
13
+ def insertOrDeleteColumns(fate,wfate) puts "Abstract Table.insertOrDeleteColumns called" end
14
+ def trimBlank() puts "Abstract Table.trimBlank called" end
15
+ end
16
+
17
+ end
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ module Coopy
5
+ class TableComparisonState
6
+
7
+ def initialize
8
+ self.reset
9
+ end
10
+
11
+ attr_accessor :p
12
+ attr_accessor :a
13
+ attr_accessor :b
14
+ attr_accessor :completed
15
+ attr_accessor :run_to_completion
16
+ attr_accessor :is_equal
17
+ attr_accessor :is_equal_known
18
+ attr_accessor :has_same_columns
19
+ attr_accessor :has_same_columns_known
20
+
21
+ def reset
22
+ @completed = false
23
+ @run_to_completion = true
24
+ @is_equal_known = false
25
+ @is_equal = false
26
+ @has_same_columns = false
27
+ @has_same_columns_known = false
28
+ end
29
+
30
+ end
31
+
32
+ end