packcr 0.0.3 → 0.0.6

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/exe/packcr +3 -0
  3. data/lib/packcr/broadcast.rb +17 -0
  4. data/lib/packcr/cli.rb +25 -0
  5. data/lib/packcr/code_block.rb +2 -3
  6. data/lib/packcr/context.rb +58 -872
  7. data/lib/packcr/generator.rb +13 -10
  8. data/lib/packcr/node/action_node.rb +20 -5
  9. data/lib/packcr/node/alternate_node.rb +27 -14
  10. data/lib/packcr/node/capture_node.rb +22 -8
  11. data/lib/packcr/node/charclass_node.rb +41 -13
  12. data/lib/packcr/node/eof_node.rb +23 -0
  13. data/lib/packcr/node/error_node.rb +29 -11
  14. data/lib/packcr/node/expand_node.rb +14 -4
  15. data/lib/packcr/node/predicate_node.rb +19 -23
  16. data/lib/packcr/node/quantity_node.rb +28 -18
  17. data/lib/packcr/node/reference_node.rb +43 -5
  18. data/lib/packcr/node/root_node.rb +60 -0
  19. data/lib/packcr/node/rule_node.rb +38 -3
  20. data/lib/packcr/node/sequence_node.rb +51 -31
  21. data/lib/packcr/node/string_node.rb +16 -12
  22. data/lib/packcr/node.rb +48 -0
  23. data/lib/packcr/parser.rb +4570 -0
  24. data/lib/packcr/stream.rb +9 -13
  25. data/lib/packcr/templates/context/header.c.erb +29 -0
  26. data/lib/packcr/templates/context/source.c.erb +1292 -0
  27. data/lib/packcr/templates/context/source.rb.erb +406 -0
  28. data/lib/packcr/templates/node/action.c.erb +16 -0
  29. data/lib/packcr/templates/node/action.rb.erb +21 -0
  30. data/lib/packcr/templates/node/alternate.c.erb +34 -0
  31. data/lib/packcr/templates/node/alternate.rb.erb +40 -0
  32. data/lib/packcr/templates/node/capture.c.erb +17 -0
  33. data/lib/packcr/templates/node/capture.rb.erb +14 -0
  34. data/lib/packcr/templates/node/charclass.c.erb +47 -0
  35. data/lib/packcr/templates/node/charclass.rb.erb +49 -0
  36. data/lib/packcr/templates/node/charclass_any.c.erb +5 -0
  37. data/lib/packcr/templates/node/charclass_any.rb.erb +7 -0
  38. data/lib/packcr/templates/node/charclass_fail.c.erb +1 -0
  39. data/lib/packcr/templates/node/charclass_fail.rb.erb +1 -0
  40. data/lib/packcr/templates/node/charclass_one.c.erb +19 -0
  41. data/lib/packcr/templates/node/charclass_one.rb.erb +23 -0
  42. data/lib/packcr/templates/node/charclass_utf8.c.erb +49 -0
  43. data/lib/packcr/templates/node/charclass_utf8.rb.erb +50 -0
  44. data/lib/packcr/templates/node/charclass_utf8_reverse.rb.erb +51 -0
  45. data/lib/packcr/templates/node/eof.c.erb +1 -0
  46. data/lib/packcr/templates/node/eof.rb.erb +3 -0
  47. data/lib/packcr/templates/node/error.c.erb +28 -0
  48. data/lib/packcr/templates/node/error.rb.erb +34 -0
  49. data/lib/packcr/templates/node/expand.c.erb +16 -0
  50. data/lib/packcr/templates/node/expand.rb.erb +16 -0
  51. data/lib/packcr/templates/node/predicate.c.erb +30 -0
  52. data/lib/packcr/templates/node/predicate.rb.erb +28 -0
  53. data/lib/packcr/templates/node/predicate_neg.c.erb +23 -0
  54. data/lib/packcr/templates/node/predicate_neg.rb.erb +22 -0
  55. data/lib/packcr/templates/node/quantify_many.c.erb +45 -0
  56. data/lib/packcr/templates/node/quantify_many.rb.erb +47 -0
  57. data/lib/packcr/templates/node/quantify_one.c.erb +21 -0
  58. data/lib/packcr/templates/node/quantify_one.rb.erb +23 -0
  59. data/lib/packcr/templates/node/reference.c.erb +5 -0
  60. data/lib/packcr/templates/node/reference.rb.erb +9 -0
  61. data/lib/packcr/templates/node/reference_reverse.rb.erb +9 -0
  62. data/lib/packcr/templates/node/rule.c.erb +19 -0
  63. data/lib/packcr/templates/node/rule.rb.erb +23 -0
  64. data/lib/packcr/templates/node/sequence.c.erb +12 -0
  65. data/lib/packcr/templates/node/sequence.rb.erb +12 -0
  66. data/lib/packcr/templates/node/string_many.c.erb +11 -0
  67. data/lib/packcr/templates/node/string_many.rb.erb +10 -0
  68. data/lib/packcr/templates/node/string_one.c.erb +8 -0
  69. data/lib/packcr/templates/node/string_one.rb.erb +10 -0
  70. data/lib/packcr/tokenizer.rb +2948 -0
  71. data/lib/packcr/util.rb +3 -8
  72. data/lib/packcr/version.rb +1 -1
  73. data/lib/packcr.rb +1 -2
  74. metadata +88 -8
  75. data/lib/packcr/buffer.rb +0 -47
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48df167d5a1567dceacdde19e105ae43446f619dbd61b3610d043c3875d3727c
4
- data.tar.gz: de98946caeeb194826a5b21fe23fd45efc32f709c860f328ea5cc71ba0f90212
3
+ metadata.gz: 53243fb5032a86ddf13dcd3c4b99075d4e8ebfae75a0f239ec4e4564ee56c8dc
4
+ data.tar.gz: 17c31d7663eb1207a3426add4c226dde9bdbf4540a11b4570c4b26f5ddb5f0be
5
5
  SHA512:
6
- metadata.gz: 9db204f104ff634364366c08bfd9d0ea8dab08c5ffe030d7155dcd12e682d48b63b1fda52c7782c955209852c9e8507fe05c93c8ef9bb13519fc6644ff67f65e
7
- data.tar.gz: 1272fb8890ba23a76c5457488e6e674c54bbb1d280646f285c5b08910dbd40bb0a734e394d6c11a542befef0e0671ee06ba4916c5855a2bc54a1d5e59d22fbdb
6
+ metadata.gz: 5fd7efc77c5b5e49c540652d0072aa3b749b8d99c39bad10984ad02f12c4f0fef3df2783ff11a012f4eac5cf62e0d8c3640b381909ee9c08e00dc990e67a3acb
7
+ data.tar.gz: cb94b6e3bc70fbad68a50471321f66d76425d6729775a1d542f44e45900fef286a592947fbabcf398cca67c142be58cc64b89a7249eba5baa5775ae19f7af4f3
data/exe/packcr ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require "packcr/cli"
3
+ Packcr::Cli.run(ARGV)
@@ -0,0 +1,17 @@
1
+ class Packcr
2
+ class BroadCast
3
+ def initialize(*arrays)
4
+ @arrays = arrays
5
+ end
6
+
7
+ def <<(obj)
8
+ @arrays.each do |array|
9
+ array << obj
10
+ end
11
+ end
12
+
13
+ def to_ary
14
+ @arrays
15
+ end
16
+ end
17
+ end
data/lib/packcr/cli.rb ADDED
@@ -0,0 +1,25 @@
1
+ require "packcr"
2
+ require "optparse"
3
+
4
+ class Packcr::Cli
5
+ class << self
6
+ def run(argv)
7
+ new.run(argv)
8
+ end
9
+ end
10
+
11
+ def run(argv)
12
+ lang = nil
13
+ debug = false
14
+ ascii = false
15
+ opt = OptionParser.new
16
+ opt.on("-l", "--lang=VAL") {|v| lang = v.to_sym }
17
+ opt.on("-d", "--debug") {|v| debug = true }
18
+ opt.on("-a", "--ascii") {|v| ascii = true }
19
+
20
+ opt.parse!(argv)
21
+ argv.each do |ifile|
22
+ Packcr.new(ifile, lang: lang, debug: debug, ascii: ascii).run
23
+ end
24
+ end
25
+ end
@@ -1,11 +1,10 @@
1
1
 
2
2
  class Packcr
3
3
  class CodeBlock
4
- attr_reader :text, :len, :line
4
+ attr_reader :text, :line
5
5
 
6
- def initialize(text = nil, len = 0, line = nil, col = nil)
6
+ def initialize(text = nil, line = nil, col = nil)
7
7
  @text = text
8
- @len = len
9
8
  @line = line
10
9
  @col = col
11
10
  end