csv_plus_plus 0.1.0 → 0.1.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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -1
  3. data/README.md +18 -62
  4. data/lib/csv_plus_plus/benchmarked_compiler.rb +62 -0
  5. data/lib/csv_plus_plus/can_define_references.rb +88 -0
  6. data/lib/csv_plus_plus/can_resolve_references.rb +8 -0
  7. data/lib/csv_plus_plus/cell.rb +3 -3
  8. data/lib/csv_plus_plus/cli.rb +24 -7
  9. data/lib/csv_plus_plus/color.rb +12 -6
  10. data/lib/csv_plus_plus/compiler.rb +156 -0
  11. data/lib/csv_plus_plus/data_validation.rb +138 -0
  12. data/lib/csv_plus_plus/{language → entities}/ast_builder.rb +5 -7
  13. data/lib/csv_plus_plus/entities/boolean.rb +31 -0
  14. data/lib/csv_plus_plus/{language → entities}/builtins.rb +2 -4
  15. data/lib/csv_plus_plus/entities/cell_reference.rb +60 -0
  16. data/lib/csv_plus_plus/entities/date.rb +30 -0
  17. data/lib/csv_plus_plus/entities/entity.rb +84 -0
  18. data/lib/csv_plus_plus/entities/function.rb +33 -0
  19. data/lib/csv_plus_plus/entities/function_call.rb +35 -0
  20. data/lib/csv_plus_plus/entities/number.rb +34 -0
  21. data/lib/csv_plus_plus/entities/runtime_value.rb +26 -0
  22. data/lib/csv_plus_plus/entities/string.rb +29 -0
  23. data/lib/csv_plus_plus/entities/variable.rb +25 -0
  24. data/lib/csv_plus_plus/entities.rb +33 -0
  25. data/lib/csv_plus_plus/error/error.rb +10 -0
  26. data/lib/csv_plus_plus/error/formula_syntax_error.rb +36 -0
  27. data/lib/csv_plus_plus/error/modifier_syntax_error.rb +27 -0
  28. data/lib/csv_plus_plus/error/modifier_validation_error.rb +49 -0
  29. data/lib/csv_plus_plus/{language → error}/syntax_error.rb +6 -14
  30. data/lib/csv_plus_plus/error/writer_error.rb +9 -0
  31. data/lib/csv_plus_plus/error.rb +9 -2
  32. data/lib/csv_plus_plus/expand.rb +3 -1
  33. data/lib/csv_plus_plus/google_api_client.rb +4 -0
  34. data/lib/csv_plus_plus/lexer/lexer.rb +19 -11
  35. data/lib/csv_plus_plus/modifier/conditional_formatting.rb +17 -0
  36. data/lib/csv_plus_plus/modifier.rb +73 -70
  37. data/lib/csv_plus_plus/options.rb +3 -0
  38. data/lib/csv_plus_plus/parser/cell_value.tab.rb +305 -0
  39. data/lib/csv_plus_plus/parser/code_section.tab.rb +410 -0
  40. data/lib/csv_plus_plus/parser/modifier.tab.rb +484 -0
  41. data/lib/csv_plus_plus/references.rb +68 -0
  42. data/lib/csv_plus_plus/row.rb +0 -3
  43. data/lib/csv_plus_plus/runtime.rb +199 -0
  44. data/lib/csv_plus_plus/scope.rb +196 -0
  45. data/lib/csv_plus_plus/template.rb +21 -5
  46. data/lib/csv_plus_plus/validated_modifier.rb +164 -0
  47. data/lib/csv_plus_plus/version.rb +1 -1
  48. data/lib/csv_plus_plus/writer/file_backer_upper.rb +6 -4
  49. data/lib/csv_plus_plus/writer/google_sheet_builder.rb +24 -29
  50. data/lib/csv_plus_plus/writer/google_sheet_modifier.rb +33 -12
  51. data/lib/csv_plus_plus/writer/rubyxl_builder.rb +3 -6
  52. data/lib/csv_plus_plus.rb +41 -16
  53. metadata +34 -24
  54. data/lib/csv_plus_plus/code_section.rb +0 -68
  55. data/lib/csv_plus_plus/language/benchmarked_compiler.rb +0 -65
  56. data/lib/csv_plus_plus/language/cell_value.tab.rb +0 -332
  57. data/lib/csv_plus_plus/language/code_section.tab.rb +0 -442
  58. data/lib/csv_plus_plus/language/compiler.rb +0 -157
  59. data/lib/csv_plus_plus/language/entities/boolean.rb +0 -33
  60. data/lib/csv_plus_plus/language/entities/cell_reference.rb +0 -33
  61. data/lib/csv_plus_plus/language/entities/entity.rb +0 -86
  62. data/lib/csv_plus_plus/language/entities/function.rb +0 -35
  63. data/lib/csv_plus_plus/language/entities/function_call.rb +0 -26
  64. data/lib/csv_plus_plus/language/entities/number.rb +0 -36
  65. data/lib/csv_plus_plus/language/entities/runtime_value.rb +0 -28
  66. data/lib/csv_plus_plus/language/entities/string.rb +0 -31
  67. data/lib/csv_plus_plus/language/entities/variable.rb +0 -25
  68. data/lib/csv_plus_plus/language/entities.rb +0 -28
  69. data/lib/csv_plus_plus/language/references.rb +0 -70
  70. data/lib/csv_plus_plus/language/runtime.rb +0 -205
  71. data/lib/csv_plus_plus/language/scope.rb +0 -188
  72. data/lib/csv_plus_plus/modifier.tab.rb +0 -907
@@ -1,907 +0,0 @@
1
- #
2
- # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.6.2
4
- # from Racc grammar file "".
5
- #
6
-
7
- require 'racc/parser.rb'
8
-
9
- require_relative './expand'
10
- require_relative './lexer'
11
-
12
- module CSVPlusPlus
13
- class ModifierParser < Racc::Parser
14
-
15
- module_eval(<<'...end modifier.y/module_eval...', 'modifier.y', 121)
16
- attr_reader :return_value
17
-
18
- include ::CSVPlusPlus::Lexer
19
-
20
- # @param cell_modifier
21
- def initialize(cell_modifier:, row_modifier:)
22
- super()
23
-
24
- @parsing_row = false
25
- @cell_modifier = cell_modifier
26
- @row_modifier = row_modifier
27
- end
28
-
29
- protected
30
-
31
- def anything_to_parse?(input)
32
- @modifiers_to_parse = input.scan(/!?\[\[/).count
33
-
34
- if @modifiers_to_parse == 0
35
- assign_defaults!
36
- @return_value = input
37
- end
38
-
39
- @modifiers_to_parse > 0
40
- end
41
-
42
- def parse_subject
43
- 'modifier'
44
- end
45
-
46
- def tokenizer
47
- ::CSVPlusPlus::Lexer::Tokenizer.new(
48
- catchall: /\w+/,
49
- ignore: /\s+/,
50
- stop_fn: lambda do |scanner|
51
- return false unless scanner.scan(/\]\]/)
52
-
53
- @tokens << [:END_MODIFIERS, scanner.matched]
54
- @return_value = scanner.rest
55
-
56
- @modifiers_to_parse -= 1
57
- @modifiers_to_parse == 0
58
- end,
59
- tokens: [
60
- [/\[\[/, :START_CELL_MODIFIERS],
61
- [/!\[\[/, :START_ROW_MODIFIERS],
62
- [/^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})/, :HEX_COLOR],
63
- [/(['\w]+\!)?[\w\d]+:[\w\d]+/, :A1_NOTATION],
64
- [/=/, :EQ],
65
- [/-?[\d.]+/, :NUMBER],
66
- [/'(?:[^'\\]|\\(?:['\\\/bfnrt]|u[0-9a-fA-F]{4}))*'/, :STRING],
67
- [/\//, :MODIFIER_SEPARATOR],
68
- ],
69
- alter_matches: {
70
- STRING: ->(s) { s.gsub(/^'|'$/, '') }
71
- },
72
- )
73
- end
74
-
75
- private
76
-
77
- def assign_defaults!
78
- @cell_modifier.take_defaults_from!(@row_modifier)
79
- end
80
-
81
- def parsing_row!
82
- @parsing_row = true
83
- end
84
-
85
- def finished_row!
86
- parsing_cell!
87
- end
88
-
89
- def parsing_cell!
90
- @parsing_row = false
91
- assign_defaults!
92
- end
93
-
94
- def freeze!
95
- (@parsing_row ? @row_modifier : @cell_modifier).freeze!
96
- end
97
-
98
- def s!(property, value)
99
- target = @parsing_row ? @row_modifier : @cell_modifier
100
- target.public_send("#{property}=".to_sym, value)
101
- end
102
- ...end modifier.y/module_eval...
103
- ##### State transition tables begin ###
104
-
105
- racc_action_table = [
106
- 128, 13, 14, 15, 16, 17, 18, 19, 20, 21,
107
- 22, 23, 24, 25, 26, 27, 28, 13, 14, 15,
108
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
109
- 26, 27, 28, 86, 87, 88, 89, 90, 91, 92,
110
- 93, 6, 95, 96, 98, 99, 100, 101, 102, 103,
111
- 104, 105, 106, 108, 109, 110, 111, 112, 113, 114,
112
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
113
- 125, 126, 127, 129, 130, 131, 132, 133, 134, 13,
114
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
115
- 24, 25, 26, 27, 28, 30, 47, 50, 51, 52,
116
- 31, 31, 62, 5, 61, 60, 63, 59, 66, 67,
117
- 68, 69, 70, 71, 62, 10, 61, 60, 63, 59,
118
- 129, 130, 131, 132, 133, 134, 129, 130, 131, 132,
119
- 133, 134, 55, 32, 54, 56, 80, 81, 82, 83,
120
- 80, 81, 82, 83, 5, 4, 33, 34, 35, 36,
121
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
122
- 64, 72, 73, 74, 75, 76, 77, 84, 137, 138,
123
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
124
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
125
- 159, 160, 161, 162, 128, 128, 128, 128, 128, 128,
126
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
127
- 128, 183, 128, 128, 128, 128, 128, 128, 128, 128,
128
- 128, 128, 128, 128, 128 ]
129
-
130
- racc_action_check = [
131
- 46, 8, 8, 8, 8, 8, 8, 8, 8, 8,
132
- 8, 8, 8, 8, 8, 8, 8, 9, 9, 9,
133
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
134
- 9, 9, 9, 45, 45, 45, 45, 45, 45, 45,
135
- 45, 1, 46, 46, 46, 46, 46, 46, 46, 46,
136
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
137
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
138
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 31,
139
- 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
140
- 31, 31, 31, 31, 31, 11, 29, 32, 32, 32,
141
- 11, 29, 34, 2, 34, 34, 34, 34, 36, 36,
142
- 36, 36, 36, 36, 57, 6, 57, 57, 57, 57,
143
- 139, 139, 139, 139, 139, 139, 140, 140, 140, 140,
144
- 140, 140, 33, 13, 33, 33, 43, 43, 43, 43,
145
- 78, 78, 78, 78, 0, 0, 14, 15, 16, 17,
146
- 18, 19, 20, 21, 22, 23, 24, 26, 27, 28,
147
- 35, 37, 38, 39, 40, 41, 42, 44, 96, 98,
148
- 99, 100, 101, 102, 104, 105, 106, 108, 110, 111,
149
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
150
- 122, 125, 126, 127, 137, 138, 141, 142, 143, 144,
151
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
152
- 155, 156, 157, 158, 159, 160, 161, 162, 167, 169,
153
- 170, 174, 180, 182, 188 ]
154
-
155
- racc_action_pointer = [
156
- 129, 41, 88, nil, nil, nil, 115, nil, -18, -2,
157
- nil, 86, nil, 123, 136, 137, 138, 139, 140, 141,
158
- 142, 143, 144, 145, 146, nil, 147, 148, 149, 87,
159
- nil, 60, 58, 92, 63, 149, 63, 150, 150, 146,
160
- 153, 148, 154, 101, 150, -18, -17, nil, nil, nil,
161
- nil, nil, nil, nil, nil, nil, nil, 75, nil, nil,
162
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
163
- nil, nil, nil, nil, nil, nil, nil, nil, 105, nil,
164
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
165
- nil, nil, nil, nil, nil, nil, 163, nil, 164, 165,
166
- 166, 167, 168, nil, 169, 170, 171, nil, 172, nil,
167
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
168
- 183, 184, 185, nil, nil, 186, 187, 188, nil, nil,
169
- nil, nil, nil, nil, nil, nil, nil, 177, 178, 30,
170
- 36, 179, 180, 181, 182, 183, 184, 185, 186, 187,
171
- 188, 189, 190, 191, 192, 193, 203, 195, 196, 197,
172
- 198, 199, 200, nil, nil, nil, nil, 201, nil, 202,
173
- 203, nil, nil, nil, 204, nil, nil, nil, nil, nil,
174
- 205, nil, 206, nil, nil, nil, nil, nil, 207, nil,
175
- nil, nil, nil, nil, nil ]
176
-
177
- racc_action_default = [
178
- -105, -105, -2, -3, -4, -6, -105, -1, -105, -105,
179
- 195, -105, -9, -105, -105, -105, -105, -105, -105, -17,
180
- -105, -105, -105, -105, -105, -23, -105, -105, -105, -105,
181
- -5, -105, -105, -105, -105, -105, -105, -105, -105, -105,
182
- -105, -105, -105, -105, -105, -105, -105, -7, -8, -10,
183
- -33, -34, -35, -11, -36, -37, -38, -12, -40, -41,
184
- -42, -43, -44, -45, -13, -14, -46, -47, -48, -49,
185
- -50, -51, -15, -16, -18, -19, -20, -21, -22, -28,
186
- -29, -30, -31, -32, -24, -25, -52, -53, -54, -55,
187
- -56, -57, -58, -59, -26, -60, -61, -64, -105, -105,
188
- -105, -105, -105, -70, -105, -105, -105, -74, -105, -77,
189
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
190
- -105, -105, -105, -91, -92, -105, -105, -105, -98, -99,
191
- -100, -101, -102, -103, -104, -39, -27, -105, -105, -105,
192
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
193
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
194
- -105, -105, -105, -62, -65, -66, -67, -105, -69, -105,
195
- -72, -97, -73, -75, -105, -79, -80, -81, -82, -83,
196
- -105, -85, -86, -87, -88, -89, -90, -93, -94, -95,
197
- -68, -71, -96, -78, -84 ]
198
-
199
- racc_goto_table = [
200
- 97, 79, 58, 170, 3, 1, 7, 11, 29, 2,
201
- 8, 9, 48, 49, 182, 53, 107, 57, 65, 78,
202
- 188, 85, 94, nil, nil, 135, nil, nil, nil, nil,
203
- nil, nil, nil, nil, nil, nil, 136, nil, nil, nil,
204
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
205
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
206
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
207
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
208
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
209
- nil, 163, 164, nil, nil, 167, 168, 169, nil, 172,
210
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 165,
211
- 166, 184, 185, 186, 187, nil, 189, nil, nil, nil,
212
- nil, 190, nil, 191, 192, nil, nil, nil, 193, nil,
213
- nil, nil, nil, nil, 194, nil, 192, nil, nil, nil,
214
- nil, nil, 192 ]
215
-
216
- racc_goto_check = [
217
- 17, 15, 16, 19, 3, 1, 3, 4, 4, 2,
218
- 5, 6, 7, 8, 19, 9, 18, 10, 11, 12,
219
- 19, 13, 14, nil, nil, 16, nil, nil, nil, nil,
220
- nil, nil, nil, nil, nil, nil, 15, nil, nil, nil,
221
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
222
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
223
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
224
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
225
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
226
- nil, 17, 17, nil, nil, 17, 17, 17, nil, 17,
227
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 18,
228
- 18, 17, 17, 17, 17, nil, 17, nil, nil, nil,
229
- nil, 17, nil, 17, 17, nil, nil, nil, 17, nil,
230
- nil, nil, nil, nil, 17, nil, 17, nil, nil, nil,
231
- nil, nil, 17 ]
232
-
233
- racc_goto_pointer = [
234
- nil, 5, 9, 4, -1, 6, 6, -19, -19, -18,
235
- -17, -18, -24, -24, -24, -42, -32, -46, -30, -141 ]
236
-
237
- racc_goto_default = [
238
- nil, nil, nil, nil, nil, nil, nil, 12, nil, nil,
239
- nil, nil, nil, nil, nil, nil, nil, 171, nil, nil ]
240
-
241
- racc_reduce_table = [
242
- 0, 0, :racc_error,
243
- 2, 97, :_reduce_none,
244
- 1, 97, :_reduce_none,
245
- 1, 97, :_reduce_none,
246
- 0, 101, :_reduce_4,
247
- 4, 98, :_reduce_5,
248
- 0, 102, :_reduce_6,
249
- 4, 99, :_reduce_none,
250
- 3, 100, :_reduce_none,
251
- 1, 100, :_reduce_none,
252
- 3, 103, :_reduce_10,
253
- 3, 103, :_reduce_11,
254
- 3, 103, :_reduce_none,
255
- 3, 103, :_reduce_13,
256
- 3, 103, :_reduce_14,
257
- 3, 103, :_reduce_15,
258
- 3, 103, :_reduce_16,
259
- 1, 103, :_reduce_17,
260
- 3, 103, :_reduce_18,
261
- 3, 103, :_reduce_19,
262
- 3, 103, :_reduce_20,
263
- 3, 103, :_reduce_21,
264
- 3, 103, :_reduce_none,
265
- 1, 103, :_reduce_23,
266
- 3, 103, :_reduce_24,
267
- 3, 103, :_reduce_25,
268
- 3, 103, :_reduce_26,
269
- 2, 108, :_reduce_none,
270
- 1, 108, :_reduce_28,
271
- 1, 111, :_reduce_none,
272
- 1, 111, :_reduce_none,
273
- 1, 111, :_reduce_none,
274
- 1, 111, :_reduce_none,
275
- 1, 104, :_reduce_none,
276
- 1, 104, :_reduce_none,
277
- 1, 104, :_reduce_none,
278
- 1, 105, :_reduce_none,
279
- 1, 105, :_reduce_none,
280
- 1, 105, :_reduce_none,
281
- 2, 106, :_reduce_none,
282
- 1, 106, :_reduce_40,
283
- 1, 112, :_reduce_none,
284
- 1, 112, :_reduce_none,
285
- 1, 112, :_reduce_none,
286
- 1, 112, :_reduce_none,
287
- 1, 112, :_reduce_none,
288
- 1, 107, :_reduce_none,
289
- 1, 107, :_reduce_none,
290
- 1, 107, :_reduce_none,
291
- 1, 107, :_reduce_none,
292
- 1, 107, :_reduce_none,
293
- 1, 107, :_reduce_none,
294
- 1, 109, :_reduce_none,
295
- 1, 109, :_reduce_none,
296
- 1, 109, :_reduce_none,
297
- 1, 109, :_reduce_none,
298
- 1, 109, :_reduce_none,
299
- 1, 109, :_reduce_none,
300
- 1, 109, :_reduce_none,
301
- 1, 109, :_reduce_none,
302
- 1, 110, :_reduce_none,
303
- 1, 110, :_reduce_none,
304
- 3, 110, :_reduce_none,
305
- 3, 110, :_reduce_none,
306
- 1, 110, :_reduce_none,
307
- 3, 110, :_reduce_none,
308
- 3, 110, :_reduce_none,
309
- 3, 110, :_reduce_none,
310
- 4, 110, :_reduce_none,
311
- 3, 110, :_reduce_none,
312
- 1, 110, :_reduce_none,
313
- 4, 110, :_reduce_none,
314
- 3, 110, :_reduce_none,
315
- 3, 110, :_reduce_none,
316
- 1, 110, :_reduce_none,
317
- 3, 110, :_reduce_none,
318
- 1, 110, :_reduce_none,
319
- 1, 110, :_reduce_none,
320
- 4, 110, :_reduce_none,
321
- 3, 110, :_reduce_none,
322
- 3, 110, :_reduce_none,
323
- 3, 110, :_reduce_none,
324
- 3, 110, :_reduce_none,
325
- 3, 110, :_reduce_none,
326
- 4, 110, :_reduce_none,
327
- 3, 110, :_reduce_none,
328
- 3, 110, :_reduce_none,
329
- 3, 110, :_reduce_none,
330
- 3, 110, :_reduce_none,
331
- 3, 110, :_reduce_none,
332
- 3, 110, :_reduce_none,
333
- 1, 110, :_reduce_none,
334
- 1, 110, :_reduce_none,
335
- 3, 110, :_reduce_none,
336
- 3, 110, :_reduce_none,
337
- 3, 110, :_reduce_none,
338
- 2, 115, :_reduce_none,
339
- 1, 115, :_reduce_none,
340
- 1, 113, :_reduce_none,
341
- 1, 114, :_reduce_none,
342
- 1, 114, :_reduce_none,
343
- 1, 114, :_reduce_none,
344
- 1, 114, :_reduce_none,
345
- 1, 114, :_reduce_none,
346
- 1, 114, :_reduce_none ]
347
-
348
- racc_reduce_n = 105
349
-
350
- racc_shift_n = 195
351
-
352
- racc_token_table = {
353
- false => 0,
354
- :error => 1,
355
- "![[" => 2,
356
- "[[" => 3,
357
- "]]" => 4,
358
- ":" => 5,
359
- "=" => 6,
360
- "/" => 7,
361
- :A1_NOTATION => 8,
362
- :END_MODIFIERS => 9,
363
- :EQ => 10,
364
- :HEX_COLOR => 11,
365
- :NUMBER => 12,
366
- :MODIFIER_ID => 13,
367
- :MODIFIER_SEPARATOR => 14,
368
- :START_CELL_MODIFIERS => 15,
369
- :START_ROW_MODIFIERS => 16,
370
- :STRING => 17,
371
- :URL => 18,
372
- "halign" => 19,
373
- "valign" => 20,
374
- "border" => 21,
375
- "bordercolor" => 22,
376
- "borderstyle" => 23,
377
- "color" => 24,
378
- "expand" => 25,
379
- "font" => 26,
380
- "fontcolor" => 27,
381
- "fontfamily" => 28,
382
- "fontsize" => 29,
383
- "format" => 30,
384
- "freeze" => 31,
385
- "note" => 32,
386
- "numberformat" => 33,
387
- "validate" => 34,
388
- "bold" => 35,
389
- "italic" => 36,
390
- "strikethrough" => 37,
391
- "underline" => 38,
392
- "left" => 39,
393
- "center" => 40,
394
- "right" => 41,
395
- "top" => 42,
396
- "bottom" => 43,
397
- "all" => 44,
398
- "dashed" => 45,
399
- "dotted" => 46,
400
- "double" => 47,
401
- "solid" => 48,
402
- "solid_medium" => 49,
403
- "solid_thick" => 50,
404
- "currency" => 51,
405
- "date" => 52,
406
- "date_time" => 53,
407
- "number" => 54,
408
- "percent" => 55,
409
- "text" => 56,
410
- "time" => 57,
411
- "scientific" => 58,
412
- "blank" => 59,
413
- "boolean" => 60,
414
- "custom_formula" => 61,
415
- "date_after" => 62,
416
- "date_before" => 63,
417
- "date_between" => 64,
418
- "date_eq" => 65,
419
- "date_is_valid" => 66,
420
- "date_not_between" => 67,
421
- "date_not_eq" => 68,
422
- "date_on_or_after" => 69,
423
- "date_on_or_before" => 70,
424
- "not_blank" => 71,
425
- "number_between" => 72,
426
- "number_eq" => 73,
427
- "number_greater" => 74,
428
- "number_greater_than_eq" => 75,
429
- "number_less" => 76,
430
- "number_less_than_eq" => 77,
431
- "number_not_between" => 78,
432
- "number_not_eq" => 79,
433
- "one_of_list" => 80,
434
- "one_of_range" => 81,
435
- "text_contains" => 82,
436
- "text_ends_with" => 83,
437
- "text_eq" => 84,
438
- "text_is_email" => 85,
439
- "text_is_url" => 86,
440
- "text_not_contains" => 87,
441
- "text_not_eq" => 88,
442
- "text_starts_with" => 89,
443
- "past_year" => 90,
444
- "past_month" => 91,
445
- "past_week" => 92,
446
- "yesterday" => 93,
447
- "today" => 94,
448
- "tomorrow" => 95 }
449
-
450
- racc_nt_base = 96
451
-
452
- racc_use_result_var = true
453
-
454
- Racc_arg = [
455
- racc_action_table,
456
- racc_action_check,
457
- racc_action_default,
458
- racc_action_pointer,
459
- racc_goto_table,
460
- racc_goto_check,
461
- racc_goto_default,
462
- racc_goto_pointer,
463
- racc_nt_base,
464
- racc_reduce_table,
465
- racc_token_table,
466
- racc_shift_n,
467
- racc_reduce_n,
468
- racc_use_result_var ]
469
-
470
- Racc_token_to_s_table = [
471
- "$end",
472
- "error",
473
- "\"![[\"",
474
- "\"[[\"",
475
- "\"]]\"",
476
- "\":\"",
477
- "\"=\"",
478
- "\"/\"",
479
- "A1_NOTATION",
480
- "END_MODIFIERS",
481
- "EQ",
482
- "HEX_COLOR",
483
- "NUMBER",
484
- "MODIFIER_ID",
485
- "MODIFIER_SEPARATOR",
486
- "START_CELL_MODIFIERS",
487
- "START_ROW_MODIFIERS",
488
- "STRING",
489
- "URL",
490
- "\"halign\"",
491
- "\"valign\"",
492
- "\"border\"",
493
- "\"bordercolor\"",
494
- "\"borderstyle\"",
495
- "\"color\"",
496
- "\"expand\"",
497
- "\"font\"",
498
- "\"fontcolor\"",
499
- "\"fontfamily\"",
500
- "\"fontsize\"",
501
- "\"format\"",
502
- "\"freeze\"",
503
- "\"note\"",
504
- "\"numberformat\"",
505
- "\"validate\"",
506
- "\"bold\"",
507
- "\"italic\"",
508
- "\"strikethrough\"",
509
- "\"underline\"",
510
- "\"left\"",
511
- "\"center\"",
512
- "\"right\"",
513
- "\"top\"",
514
- "\"bottom\"",
515
- "\"all\"",
516
- "\"dashed\"",
517
- "\"dotted\"",
518
- "\"double\"",
519
- "\"solid\"",
520
- "\"solid_medium\"",
521
- "\"solid_thick\"",
522
- "\"currency\"",
523
- "\"date\"",
524
- "\"date_time\"",
525
- "\"number\"",
526
- "\"percent\"",
527
- "\"text\"",
528
- "\"time\"",
529
- "\"scientific\"",
530
- "\"blank\"",
531
- "\"boolean\"",
532
- "\"custom_formula\"",
533
- "\"date_after\"",
534
- "\"date_before\"",
535
- "\"date_between\"",
536
- "\"date_eq\"",
537
- "\"date_is_valid\"",
538
- "\"date_not_between\"",
539
- "\"date_not_eq\"",
540
- "\"date_on_or_after\"",
541
- "\"date_on_or_before\"",
542
- "\"not_blank\"",
543
- "\"number_between\"",
544
- "\"number_eq\"",
545
- "\"number_greater\"",
546
- "\"number_greater_than_eq\"",
547
- "\"number_less\"",
548
- "\"number_less_than_eq\"",
549
- "\"number_not_between\"",
550
- "\"number_not_eq\"",
551
- "\"one_of_list\"",
552
- "\"one_of_range\"",
553
- "\"text_contains\"",
554
- "\"text_ends_with\"",
555
- "\"text_eq\"",
556
- "\"text_is_email\"",
557
- "\"text_is_url\"",
558
- "\"text_not_contains\"",
559
- "\"text_not_eq\"",
560
- "\"text_starts_with\"",
561
- "\"past_year\"",
562
- "\"past_month\"",
563
- "\"past_week\"",
564
- "\"yesterday\"",
565
- "\"today\"",
566
- "\"tomorrow\"",
567
- "$start",
568
- "modifiers_definition",
569
- "row_modifiers",
570
- "cell_modifiers",
571
- "modifiers",
572
- "@1",
573
- "@2",
574
- "modifier",
575
- "halign_option",
576
- "valign_option",
577
- "border_options",
578
- "borderstyle_option",
579
- "format_options",
580
- "numberformat_option",
581
- "condition",
582
- "format_option",
583
- "border_option",
584
- "condition_value",
585
- "relative_date",
586
- "condition_values" ]
587
-
588
- Racc_debug_parser = false
589
-
590
- ##### State transition tables end #####
591
-
592
- # reduce 0 omitted
593
-
594
- # reduce 1 omitted
595
-
596
- # reduce 2 omitted
597
-
598
- # reduce 3 omitted
599
-
600
- module_eval(<<'.,.,', 'modifier.y', 26)
601
- def _reduce_4(val, _values, result)
602
- parsing_row!
603
- result
604
- end
605
- .,.,
606
-
607
- module_eval(<<'.,.,', 'modifier.y', 28)
608
- def _reduce_5(val, _values, result)
609
- finished_row!
610
- result
611
- end
612
- .,.,
613
-
614
- module_eval(<<'.,.,', 'modifier.y', 30)
615
- def _reduce_6(val, _values, result)
616
- parsing_cell!
617
- result
618
- end
619
- .,.,
620
-
621
- # reduce 7 omitted
622
-
623
- # reduce 8 omitted
624
-
625
- # reduce 9 omitted
626
-
627
- module_eval(<<'.,.,', 'modifier.y', 36)
628
- def _reduce_10(val, _values, result)
629
- s!(:halign, val[2])
630
- result
631
- end
632
- .,.,
633
-
634
- module_eval(<<'.,.,', 'modifier.y', 37)
635
- def _reduce_11(val, _values, result)
636
- s!(:valign, val[2])
637
- result
638
- end
639
- .,.,
640
-
641
- # reduce 12 omitted
642
-
643
- module_eval(<<'.,.,', 'modifier.y', 39)
644
- def _reduce_13(val, _values, result)
645
- s!(:bordercolor, val[2])
646
- result
647
- end
648
- .,.,
649
-
650
- module_eval(<<'.,.,', 'modifier.y', 40)
651
- def _reduce_14(val, _values, result)
652
- s!(:borderstyle, val[2])
653
- result
654
- end
655
- .,.,
656
-
657
- module_eval(<<'.,.,', 'modifier.y', 41)
658
- def _reduce_15(val, _values, result)
659
- s!(:color, val[2])
660
- result
661
- end
662
- .,.,
663
-
664
- module_eval(<<'.,.,', 'modifier.y', 42)
665
- def _reduce_16(val, _values, result)
666
- s!(:expand, Expand.new(val[2].to_i))
667
- result
668
- end
669
- .,.,
670
-
671
- module_eval(<<'.,.,', 'modifier.y', 43)
672
- def _reduce_17(val, _values, result)
673
- s!(:expand, Expand.new)
674
- result
675
- end
676
- .,.,
677
-
678
- module_eval(<<'.,.,', 'modifier.y', 44)
679
- def _reduce_18(val, _values, result)
680
- s!(:fontfamily, val[2])
681
- result
682
- end
683
- .,.,
684
-
685
- module_eval(<<'.,.,', 'modifier.y', 45)
686
- def _reduce_19(val, _values, result)
687
- s!(:fontcolor, val[2])
688
- result
689
- end
690
- .,.,
691
-
692
- module_eval(<<'.,.,', 'modifier.y', 46)
693
- def _reduce_20(val, _values, result)
694
- s!(:fontfamily, val[2])
695
- result
696
- end
697
- .,.,
698
-
699
- module_eval(<<'.,.,', 'modifier.y', 47)
700
- def _reduce_21(val, _values, result)
701
- s!(:fontsize, val[2].to_f)
702
- result
703
- end
704
- .,.,
705
-
706
- # reduce 22 omitted
707
-
708
- module_eval(<<'.,.,', 'modifier.y', 49)
709
- def _reduce_23(val, _values, result)
710
- freeze!
711
- result
712
- end
713
- .,.,
714
-
715
- module_eval(<<'.,.,', 'modifier.y', 50)
716
- def _reduce_24(val, _values, result)
717
- s!(:note, val[2])
718
- result
719
- end
720
- .,.,
721
-
722
- module_eval(<<'.,.,', 'modifier.y', 51)
723
- def _reduce_25(val, _values, result)
724
- s!(:numberformat, val[2])
725
- result
726
- end
727
- .,.,
728
-
729
- module_eval(<<'.,.,', 'modifier.y', 52)
730
- def _reduce_26(val, _values, result)
731
- s!(:validation, val[2])
732
- result
733
- end
734
- .,.,
735
-
736
- # reduce 27 omitted
737
-
738
- module_eval(<<'.,.,', 'modifier.y', 54)
739
- def _reduce_28(val, _values, result)
740
- s!(:format, val[0])
741
- result
742
- end
743
- .,.,
744
-
745
- # reduce 29 omitted
746
-
747
- # reduce 30 omitted
748
-
749
- # reduce 31 omitted
750
-
751
- # reduce 32 omitted
752
-
753
- # reduce 33 omitted
754
-
755
- # reduce 34 omitted
756
-
757
- # reduce 35 omitted
758
-
759
- # reduce 36 omitted
760
-
761
- # reduce 37 omitted
762
-
763
- # reduce 38 omitted
764
-
765
- # reduce 39 omitted
766
-
767
- module_eval(<<'.,.,', 'modifier.y', 60)
768
- def _reduce_40(val, _values, result)
769
- s!(:border, val[0])
770
- result
771
- end
772
- .,.,
773
-
774
- # reduce 41 omitted
775
-
776
- # reduce 42 omitted
777
-
778
- # reduce 43 omitted
779
-
780
- # reduce 44 omitted
781
-
782
- # reduce 45 omitted
783
-
784
- # reduce 46 omitted
785
-
786
- # reduce 47 omitted
787
-
788
- # reduce 48 omitted
789
-
790
- # reduce 49 omitted
791
-
792
- # reduce 50 omitted
793
-
794
- # reduce 51 omitted
795
-
796
- # reduce 52 omitted
797
-
798
- # reduce 53 omitted
799
-
800
- # reduce 54 omitted
801
-
802
- # reduce 55 omitted
803
-
804
- # reduce 56 omitted
805
-
806
- # reduce 57 omitted
807
-
808
- # reduce 58 omitted
809
-
810
- # reduce 59 omitted
811
-
812
- # reduce 60 omitted
813
-
814
- # reduce 61 omitted
815
-
816
- # reduce 62 omitted
817
-
818
- # reduce 63 omitted
819
-
820
- # reduce 64 omitted
821
-
822
- # reduce 65 omitted
823
-
824
- # reduce 66 omitted
825
-
826
- # reduce 67 omitted
827
-
828
- # reduce 68 omitted
829
-
830
- # reduce 69 omitted
831
-
832
- # reduce 70 omitted
833
-
834
- # reduce 71 omitted
835
-
836
- # reduce 72 omitted
837
-
838
- # reduce 73 omitted
839
-
840
- # reduce 74 omitted
841
-
842
- # reduce 75 omitted
843
-
844
- # reduce 76 omitted
845
-
846
- # reduce 77 omitted
847
-
848
- # reduce 78 omitted
849
-
850
- # reduce 79 omitted
851
-
852
- # reduce 80 omitted
853
-
854
- # reduce 81 omitted
855
-
856
- # reduce 82 omitted
857
-
858
- # reduce 83 omitted
859
-
860
- # reduce 84 omitted
861
-
862
- # reduce 85 omitted
863
-
864
- # reduce 86 omitted
865
-
866
- # reduce 87 omitted
867
-
868
- # reduce 88 omitted
869
-
870
- # reduce 89 omitted
871
-
872
- # reduce 90 omitted
873
-
874
- # reduce 91 omitted
875
-
876
- # reduce 92 omitted
877
-
878
- # reduce 93 omitted
879
-
880
- # reduce 94 omitted
881
-
882
- # reduce 95 omitted
883
-
884
- # reduce 96 omitted
885
-
886
- # reduce 97 omitted
887
-
888
- # reduce 98 omitted
889
-
890
- # reduce 99 omitted
891
-
892
- # reduce 100 omitted
893
-
894
- # reduce 101 omitted
895
-
896
- # reduce 102 omitted
897
-
898
- # reduce 103 omitted
899
-
900
- # reduce 104 omitted
901
-
902
- def _reduce_none(val, _values, result)
903
- val[0]
904
- end
905
-
906
- end # class ModifierParser
907
- end # module CSVPlusPlus