rsyntaxtree 1.0.8 → 1.1.1

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +77 -0
  3. data/.solargraph.yml +22 -0
  4. data/.tags +238 -10
  5. data/Gemfile +10 -5
  6. data/README.md +3 -2
  7. data/Rakefile +5 -2
  8. data/bin/rsyntaxtree +42 -50
  9. data/docs/Gemfile +3 -1
  10. data/docs/_layouts/default.html +1 -1
  11. data/docs/assets/svg/001.svg +39 -0
  12. data/docs/assets/svg/002.svg +65 -0
  13. data/docs/assets/svg/003.svg +54 -0
  14. data/docs/assets/svg/004.svg +68 -0
  15. data/docs/assets/svg/005.svg +41 -0
  16. data/docs/assets/svg/006.svg +47 -0
  17. data/docs/assets/svg/007.svg +55 -0
  18. data/docs/assets/svg/008.svg +63 -0
  19. data/docs/assets/svg/009.svg +61 -0
  20. data/docs/assets/svg/010.svg +85 -0
  21. data/docs/assets/svg/011.svg +49 -0
  22. data/docs/assets/svg/012.svg +55 -0
  23. data/docs/assets/svg/013.svg +203 -0
  24. data/docs/assets/svg/014.svg +188 -0
  25. data/docs/assets/svg/015.svg +60 -0
  26. data/docs/assets/svg/016.svg +801 -0
  27. data/docs/assets/svg/017.svg +77 -0
  28. data/docs/assets/svg/018.svg +66 -0
  29. data/docs/assets/svg/019.svg +256 -0
  30. data/docs/assets/svg/020.svg +99 -0
  31. data/lib/rsyntaxtree/base_graph.rb +260 -264
  32. data/lib/rsyntaxtree/element.rb +167 -179
  33. data/lib/rsyntaxtree/elementlist.rb +105 -124
  34. data/lib/rsyntaxtree/markup_parser.rb +82 -93
  35. data/lib/rsyntaxtree/string_parser.rb +221 -237
  36. data/lib/rsyntaxtree/svg_graph.rb +158 -197
  37. data/lib/rsyntaxtree/utils.rb +59 -63
  38. data/lib/rsyntaxtree/version.rb +3 -2
  39. data/lib/rsyntaxtree.rb +173 -177
  40. data/rsyntaxtree.gemspec +12 -10
  41. data/test/example_verify_test.rb +96 -0
  42. data/test/markup_parser_test.rb +3 -2
  43. metadata +54 -17
@@ -0,0 +1,99 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="1840.0" height="1232.9" viewBox="-20, -20, 1860.0, 1252.9" version="1.1" xmlns="http://www.w3.org/2000/svg">
4
+ <defs>
5
+ <marker id="arrow" markerUnits="strokeWidth" markerWidth="11.200000000000001" markerHeight="11.200000000000001" viewBox="0 0 11.200000000000001 11.200000000000001" refX="5.6000000000000005" refY="0">
6
+ <polyline fill="none" stroke="purple" stroke-width="1" points="0,11.200000000000001,5.6000000000000005,0,11.200000000000001,11.200000000000001" />
7
+ </marker>
8
+ <pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
9
+ <line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
10
+ </pattern>
11
+ <pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
12
+ <line x1="0" y="0" x2="0" y2="10" stroke="blue" stroke-width="4"></line>
13
+ </pattern>
14
+ <pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
15
+ <line x1="0" y="0" x2="0" y2="10" stroke="green" stroke-width="4"></line>
16
+ </pattern>
17
+ </defs>
18
+ <rect x="-20" y="-20" width="1860.0" height="1252.9" stroke="none" fill="white" />"
19
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='293.6875' y='118.5'><tspan x='293.6875' y='118.5' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">The<tspan style='fill:none;'>■</tspan>umpires<tspan style='fill:none;'>■</tspan>talked<tspan style='fill:none;'>■</tspan>to<tspan style='fill:none;'>■</tspan>the<tspan style='fill:none;'>■</tspan>players</tspan>
20
+ </text>
21
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='102.75' y='387.1'><tspan x='102.75' y='387.1' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">the<tspan style='fill:none;'>■</tspan>umpires</tspan>
22
+ </text>
23
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='28.0' y='655.7'><tspan x='28.0' y='655.7' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">the</tspan>
24
+ </text>
25
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='61.5' y='924.3000000000001'><tspan x='61.5' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif"><tspan style='fill:none;'>■</tspan></tspan>
26
+ </text>
27
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='48.0' y='1192.9'><tspan x='48.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">ði</tspan>
28
+ </text>
29
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='358.0' y='655.7'><tspan x='358.0' y='655.7' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">umpires</tspan>
30
+ </text>
31
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='251.5' y='924.3000000000001'><tspan x='251.5' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">umpire</tspan>
32
+ </text>
33
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='230.0' y='1192.9'><tspan x='230.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">ʌ́mpaɪər</tspan>
34
+ </text>
35
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='577.0' y='924.3000000000001'><tspan x='577.0' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">s</tspan>
36
+ </text>
37
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='580.0' y='1192.9'><tspan x='580.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">z</tspan>
38
+ </text>
39
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='981.625' y='387.1'><tspan x='981.625' y='387.1' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">talked<tspan style='fill:none;'>■</tspan>to<tspan style='fill:none;'>■</tspan>the<tspan style='fill:none;'>■</tspan>players</tspan>
40
+ </text>
41
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='786.0' y='655.7'><tspan x='786.0' y='655.7' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">talked</tspan>
42
+ </text>
43
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='722.0' y='924.3000000000001'><tspan x='722.0' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">talk</tspan>
44
+ </text>
45
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='722.5' y='1192.9'><tspan x='722.5' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">tɔːk</tspan>
46
+ </text>
47
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='936.0' y='924.3000000000001'><tspan x='936.0' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">ed</tspan>
48
+ </text>
49
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='961.0' y='1192.9'><tspan x='961.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">t</tspan>
50
+ </text>
51
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='1118.0' y='655.7'><tspan x='1118.0' y='655.7' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">to</tspan>
52
+ </text>
53
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='1134.0' y='924.3000000000001'><tspan x='1134.0' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif"><tspan style='fill:none;'>■</tspan></tspan>
54
+ </text>
55
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='1124.0' y='1192.9'><tspan x='1124.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">tə</tspan>
56
+ </text>
57
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='1285.0' y='655.7'><tspan x='1285.0' y='655.7' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">the</tspan>
58
+ </text>
59
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='1318.5' y='924.3000000000001'><tspan x='1318.5' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif"><tspan style='fill:none;'>■</tspan></tspan>
60
+ </text>
61
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='1301.0' y='1192.9'><tspan x='1301.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">ðə</tspan>
62
+ </text>
63
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='1577.25' y='655.7'><tspan x='1577.25' y='655.7' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">players</tspan>
64
+ </text>
65
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='1487.0' y='924.3000000000001'><tspan x='1487.0' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">player</tspan>
66
+ </text>
67
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='1495.0' y='1192.9'><tspan x='1495.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">pléɪər</tspan>
68
+ </text>
69
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='1767.0' y='924.3000000000001'><tspan x='1767.0' y='924.3000000000001' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">s</tspan>
70
+ </text>
71
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='1770.0' y='1192.9'><tspan x='1770.0' y='1192.9' style="" text-decoration="" font-family="'WenQuanYi Zen Hei', 'Noto Sans', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">z</tspan>
72
+ </text>
73
+ <line style='stroke:black; stroke-width:2;' x1='271.75' y1='288.35' x2='773.1875' y2='167.875' />
74
+ <line style='stroke:black; stroke-width:2;' x1='1274.625' y1='288.35' x2='773.1875' y2='167.875' />
75
+ <line style='stroke:black; stroke-width:2;' x1='73.0' y1='556.95' x2='271.75' y2='436.475' />
76
+ <line style='stroke:black; stroke-width:2;' x1='470.5' y1='556.95' x2='271.75' y2='436.475' />
77
+ <line style='stroke:black; stroke-width:2;' x1='73.0' y1='825.5500000000001' x2='73.0' y2='705.075' />
78
+ <line style='stroke:black; stroke-width:2;' x1='73.0' y1='1094.15' x2='73.0' y2='973.6750000000001' />
79
+ <line style='stroke:black; stroke-width:2;' x1='347.5' y1='825.5500000000001' x2='470.5' y2='705.075' />
80
+ <line style='stroke:black; stroke-width:2;' x1='593.5' y1='825.5500000000001' x2='470.5' y2='705.075' />
81
+ <line style='stroke:black; stroke-width:2;' x1='347.5' y1='1094.15' x2='347.5' y2='973.6750000000001' />
82
+ <line style='stroke:black; stroke-width:2;' x1='593.5' y1='1094.15' x2='593.5' y2='973.6750000000001' />
83
+ <line style='stroke:black; stroke-width:2;' x1='872.0' y1='556.95' x2='1274.625' y2='436.475' />
84
+ <line style='stroke:black; stroke-width:2;' x1='1145.5' y1='556.95' x2='1274.625' y2='436.475' />
85
+ <line style='stroke:black; stroke-width:2;' x1='1330.0' y1='556.95' x2='1274.625' y2='436.475' />
86
+ <line style='stroke:black; stroke-width:2;' x1='1677.25' y1='556.95' x2='1274.625' y2='436.475' />
87
+ <line style='stroke:black; stroke-width:2;' x1='773.0' y1='825.5500000000001' x2='872.0' y2='705.075' />
88
+ <line style='stroke:black; stroke-width:2;' x1='971.0' y1='825.5500000000001' x2='872.0' y2='705.075' />
89
+ <line style='stroke:black; stroke-width:2;' x1='773.0' y1='1094.15' x2='773.0' y2='973.6750000000001' />
90
+ <line style='stroke:black; stroke-width:2;' x1='971.0' y1='1094.15' x2='971.0' y2='973.6750000000001' />
91
+ <line style='stroke:black; stroke-width:2;' x1='1145.5' y1='825.5500000000001' x2='1145.5' y2='705.075' />
92
+ <line style='stroke:black; stroke-width:2;' x1='1145.5' y1='1094.15' x2='1145.5' y2='973.6750000000001' />
93
+ <line style='stroke:black; stroke-width:2;' x1='1330.0' y1='825.5500000000001' x2='1330.0' y2='705.075' />
94
+ <line style='stroke:black; stroke-width:2;' x1='1330.0' y1='1094.15' x2='1330.0' y2='973.6750000000001' />
95
+ <line style='stroke:black; stroke-width:2;' x1='1571.0' y1='825.5500000000001' x2='1677.25' y2='705.075' />
96
+ <line style='stroke:black; stroke-width:2;' x1='1783.5' y1='825.5500000000001' x2='1677.25' y2='705.075' />
97
+ <line style='stroke:black; stroke-width:2;' x1='1571.0' y1='1094.15' x2='1571.0' y2='973.6750000000001' />
98
+ <line style='stroke:black; stroke-width:2;' x1='1783.5' y1='1094.15' x2='1783.5' y2='973.6750000000001' />
99
+ </svg>