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.
- checksums.yaml +4 -4
- data/.rubocop.yml +77 -0
- data/.solargraph.yml +22 -0
- data/.tags +238 -10
- data/Gemfile +10 -5
- data/README.md +3 -2
- data/Rakefile +5 -2
- data/bin/rsyntaxtree +42 -50
- data/docs/Gemfile +3 -1
- data/docs/_layouts/default.html +1 -1
- data/docs/assets/svg/001.svg +39 -0
- data/docs/assets/svg/002.svg +65 -0
- data/docs/assets/svg/003.svg +54 -0
- data/docs/assets/svg/004.svg +68 -0
- data/docs/assets/svg/005.svg +41 -0
- data/docs/assets/svg/006.svg +47 -0
- data/docs/assets/svg/007.svg +55 -0
- data/docs/assets/svg/008.svg +63 -0
- data/docs/assets/svg/009.svg +61 -0
- data/docs/assets/svg/010.svg +85 -0
- data/docs/assets/svg/011.svg +49 -0
- data/docs/assets/svg/012.svg +55 -0
- data/docs/assets/svg/013.svg +203 -0
- data/docs/assets/svg/014.svg +188 -0
- data/docs/assets/svg/015.svg +60 -0
- data/docs/assets/svg/016.svg +801 -0
- data/docs/assets/svg/017.svg +77 -0
- data/docs/assets/svg/018.svg +66 -0
- data/docs/assets/svg/019.svg +256 -0
- data/docs/assets/svg/020.svg +99 -0
- data/lib/rsyntaxtree/base_graph.rb +260 -264
- data/lib/rsyntaxtree/element.rb +167 -179
- data/lib/rsyntaxtree/elementlist.rb +105 -124
- data/lib/rsyntaxtree/markup_parser.rb +82 -93
- data/lib/rsyntaxtree/string_parser.rb +221 -237
- data/lib/rsyntaxtree/svg_graph.rb +158 -197
- data/lib/rsyntaxtree/utils.rb +59 -63
- data/lib/rsyntaxtree/version.rb +3 -2
- data/lib/rsyntaxtree.rb +173 -177
- data/rsyntaxtree.gemspec +12 -10
- data/test/example_verify_test.rb +96 -0
- data/test/markup_parser_test.rb +3 -2
- 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>
|