rsyntaxtree 1.2.9 → 1.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/Dockerfile +2 -0
  4. data/README.md +3 -1
  5. data/bin/rsyntaxtree +2 -1
  6. data/docs/_examples/048.md +71 -0
  7. data/docs/_examples/049.md +49 -0
  8. data/docs/_examples/050.md +96 -0
  9. data/docs/_examples/051.md +95 -0
  10. data/docs/_examples/052.md +58 -0
  11. data/docs/assets/img/000.png +0 -0
  12. data/docs/assets/img/001.png +0 -0
  13. data/docs/assets/img/002.png +0 -0
  14. data/docs/assets/img/003.png +0 -0
  15. data/docs/assets/img/004.png +0 -0
  16. data/docs/assets/img/005.png +0 -0
  17. data/docs/assets/img/006.png +0 -0
  18. data/docs/assets/img/007.png +0 -0
  19. data/docs/assets/img/008.png +0 -0
  20. data/docs/assets/img/009.png +0 -0
  21. data/docs/assets/img/010.png +0 -0
  22. data/docs/assets/img/011.png +0 -0
  23. data/docs/assets/img/012.png +0 -0
  24. data/docs/assets/img/013.png +0 -0
  25. data/docs/assets/img/014.png +0 -0
  26. data/docs/assets/img/015.png +0 -0
  27. data/docs/assets/img/016.png +0 -0
  28. data/docs/assets/img/017.png +0 -0
  29. data/docs/assets/img/018.png +0 -0
  30. data/docs/assets/img/019.png +0 -0
  31. data/docs/assets/img/020.png +0 -0
  32. data/docs/assets/img/021.png +0 -0
  33. data/docs/assets/img/022.png +0 -0
  34. data/docs/assets/img/023.png +0 -0
  35. data/docs/assets/img/024.png +0 -0
  36. data/docs/assets/img/025.png +0 -0
  37. data/docs/assets/img/026.png +0 -0
  38. data/docs/assets/img/027.png +0 -0
  39. data/docs/assets/img/028.png +0 -0
  40. data/docs/assets/img/029.png +0 -0
  41. data/docs/assets/img/030.png +0 -0
  42. data/docs/assets/img/031.png +0 -0
  43. data/docs/assets/img/032.png +0 -0
  44. data/docs/assets/img/033.png +0 -0
  45. data/docs/assets/img/034.png +0 -0
  46. data/docs/assets/img/035.png +0 -0
  47. data/docs/assets/img/036.png +0 -0
  48. data/docs/assets/img/037.png +0 -0
  49. data/docs/assets/img/038.png +0 -0
  50. data/docs/assets/img/039.png +0 -0
  51. data/docs/assets/img/040.png +0 -0
  52. data/docs/assets/img/041.png +0 -0
  53. data/docs/assets/img/042.png +0 -0
  54. data/docs/assets/img/043.png +0 -0
  55. data/docs/assets/img/044.png +0 -0
  56. data/docs/assets/img/045.png +0 -0
  57. data/docs/assets/img/046.png +0 -0
  58. data/docs/assets/img/048.png +0 -0
  59. data/docs/assets/img/049.png +0 -0
  60. data/docs/assets/img/050.png +0 -0
  61. data/docs/assets/img/051.png +0 -0
  62. data/docs/assets/img/052.png +0 -0
  63. data/docs/assets/svg/000.svg +1 -1
  64. data/docs/assets/svg/001.svg +0 -0
  65. data/docs/assets/svg/002.svg +0 -0
  66. data/docs/assets/svg/003.svg +0 -0
  67. data/docs/assets/svg/004.svg +0 -0
  68. data/docs/assets/svg/005.svg +17 -17
  69. data/docs/assets/svg/006.svg +0 -0
  70. data/docs/assets/svg/007.svg +0 -0
  71. data/docs/assets/svg/008.svg +0 -0
  72. data/docs/assets/svg/009.svg +0 -0
  73. data/docs/assets/svg/010.svg +0 -0
  74. data/docs/assets/svg/011.svg +0 -0
  75. data/docs/assets/svg/012.svg +0 -0
  76. data/docs/assets/svg/013.svg +88 -88
  77. data/docs/assets/svg/014.svg +16 -16
  78. data/docs/assets/svg/015.svg +0 -0
  79. data/docs/assets/svg/016.svg +126 -126
  80. data/docs/assets/svg/017.svg +0 -0
  81. data/docs/assets/svg/018.svg +0 -0
  82. data/docs/assets/svg/019.svg +0 -0
  83. data/docs/assets/svg/020.svg +0 -0
  84. data/docs/assets/svg/021.svg +0 -0
  85. data/docs/assets/svg/022.svg +7 -7
  86. data/docs/assets/svg/023.svg +8 -8
  87. data/docs/assets/svg/024.svg +0 -0
  88. data/docs/assets/svg/025.svg +0 -0
  89. data/docs/assets/svg/026.svg +15 -15
  90. data/docs/assets/svg/027.svg +46 -46
  91. data/docs/assets/svg/028.svg +0 -0
  92. data/docs/assets/svg/029.svg +0 -0
  93. data/docs/assets/svg/030.svg +0 -0
  94. data/docs/assets/svg/031.svg +0 -0
  95. data/docs/assets/svg/032.svg +0 -0
  96. data/docs/assets/svg/033.svg +2 -2
  97. data/docs/assets/svg/034.svg +0 -0
  98. data/docs/assets/svg/035.svg +0 -0
  99. data/docs/assets/svg/036.svg +0 -0
  100. data/docs/assets/svg/037.svg +3 -3
  101. data/docs/assets/svg/038.svg +0 -0
  102. data/docs/assets/svg/039.svg +0 -0
  103. data/docs/assets/svg/040.svg +63 -63
  104. data/docs/assets/svg/041.svg +0 -0
  105. data/docs/assets/svg/042.svg +0 -0
  106. data/docs/assets/svg/043.svg +39 -39
  107. data/docs/assets/svg/044.svg +0 -0
  108. data/docs/assets/svg/045.svg +0 -0
  109. data/docs/assets/svg/046.svg +0 -0
  110. data/docs/assets/svg/048.svg +134 -0
  111. data/docs/assets/svg/049.svg +97 -0
  112. data/docs/assets/svg/050.svg +193 -0
  113. data/docs/assets/svg/051.svg +179 -0
  114. data/docs/assets/svg/052.svg +96 -0
  115. data/lib/rsyntaxtree/svg_graph.rb +2 -2
  116. data/lib/rsyntaxtree/version.rb +1 -1
  117. data/lib/rsyntaxtree.rb +2 -0
  118. data/rsyntaxtree.gemspec +3 -2
  119. data/test/example_verify_test.rb +5 -5
  120. metadata +34 -20
  121. data/.rubocop.yml +0 -77
  122. data/.solargraph.yml +0 -22
  123. data/.tags +0 -1822
@@ -0,0 +1,179 @@
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="3856.6" height="1149.75" viewBox="-16.8, 0, 3873.4, 1161.0" version="1.1" xmlns="http://www.w3.org/2000/svg">
4
+ <defs>
5
+ <marker id="arrow" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
6
+ <path d="M 0 0 L 10 5 L 0 10" fill="#CC79A7"/>
7
+ </marker>
8
+ <marker id="arrowBackward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
9
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="#CC79A7"/>
10
+ </marker>
11
+ <marker id="arrowForward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
12
+ <path d="M 10 0 L 0 5 L 10 10 z" fill="#CC79A7"/>
13
+ </marker>
14
+ <marker id="arrowBothways" markerUnits="userSpaceOnUse" viewBox="0 0 30 10" refX="15" refY="5" markerWidth="50.400000000000006" markerHeight="16.8" orient="auto">
15
+ <path d="M 0 5 L 10 0 L 10 5 L 20 5 L 20 0 L 30 5 L 20 10 L 20 5 L 10 5 L 10 10 z" fill="#CC79A7"/>
16
+ </marker>
17
+ <pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
18
+ <line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
19
+ </pattern>
20
+ <pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
21
+ <line x1="0" y="0" x2="0" y2="10" stroke="#0072B2" stroke-width="4"></line>
22
+ </pattern>
23
+ <pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
24
+ <line x1="0" y="0" x2="0" y2="10" stroke="#009E73" stroke-width="4"></line>
25
+ </pattern>
26
+ </defs>
27
+ <rect x="-16.8" y="0" width="3873.4" height="1161.0" stroke="none" fill="white" />"
28
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='1834.3499999999995' y='67.5'><tspan x='1834.3499999999995' y='67.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">conjunctive<tspan style='fill:none;'>■</tspan>adjuncts</tspan>
29
+ </text>
30
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='1864.3499999999995' y='216.0'><tspan x='1864.3499999999995' y='216.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">enhancement<tspan style='fill:none;'>■</tspan>(2)</tspan>
31
+ </text>
32
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='411.54999999999995' y='364.5'><tspan x='411.54999999999995' y='364.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">manner</tspan>
33
+ </text>
34
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='138.89999999999986' y='513.0'><tspan x='138.89999999999986' y='513.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">comparison</tspan>
35
+ </text>
36
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='25.299999999999955' y='661.5'><tspan x='25.299999999999955' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">positive</tspan>
37
+ </text>
38
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='16.799999999999955' y='810.0'><tspan x='22.299999999999955' y='810.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">likewise</tspan>
39
+ <tspan x='16.799999999999955' y='855.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">similarly</tspan>
40
+ </text>
41
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='308.0' y='661.5'><tspan x='308.0' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">negative</tspan>
42
+ </text>
43
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='220.0' y='810.0'><tspan x='220.0' y='810.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">in<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>different<tspan style='fill:none;'>■</tspan>way</tspan>
44
+ </text>
45
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='666.2' y='513.0'><tspan x='666.2' y='513.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">means</tspan>
46
+ </text>
47
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='593.2' y='661.5'><tspan x='683.7' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">thus</tspan>
48
+ <tspan x='656.7' y='706.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">thereby</tspan>
49
+ <tspan x='593.2' y='751.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">by<tspan style='fill:none;'>■</tspan>such<tspan style='fill:none;'>■</tspan>means</tspan>
50
+ </text>
51
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='1481.5' y='364.5'><tspan x='1481.5' y='364.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">causal-conditional</tspan>
52
+ </text>
53
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='973.9000000000001' y='513.0'><tspan x='973.9000000000001' y='513.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">general</tspan>
54
+ </text>
55
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='906.4000000000001' y='661.5'><tspan x='1015.4000000000001' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">so</tspan>
56
+ <tspan x='996.9000000000001' y='706.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">then</tspan>
57
+ <tspan x='960.4000000000001' y='751.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">therefore</tspan>
58
+ <tspan x='929.4000000000001' y='796.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">consequently</tspan>
59
+ <tspan x='986.9000000000001' y='841.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">hense</tspan>
60
+ <tspan x='906.4000000000001' y='886.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">because<tspan style='fill:none;'>■</tspan>of<tspan style='fill:none;'>■</tspan>that</tspan>
61
+ <tspan x='1008.9000000000001' y='931.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">for</tspan>
62
+ </text>
63
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='2153.1' y='513.0'><tspan x='2153.1' y='513.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">specific</tspan>
64
+ </text>
65
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='1303.6' y='661.5'><tspan x='1303.6' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">result</tspan>
66
+ </text>
67
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='1223.6' y='810.0'><tspan x='1223.6' y='810.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">in<tspan style='fill:none;'>■</tspan>consequence</tspan>
68
+ <tspan x='1259.6' y='855.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">as<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>result</tspan>
69
+ </text>
70
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='1636.8' y='661.5'><tspan x='1636.8' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">reason</tspan>
71
+ </text>
72
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='1537.8' y='810.0'><tspan x='1537.8' y='810.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">on<tspan style='fill:none;'>■</tspan>account<tspan style='fill:none;'>■</tspan>of<tspan style='fill:none;'>■</tspan>this</tspan>
73
+ <tspan x='1565.3' y='855.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">for<tspan style='fill:none;'>■</tspan>that<tspan style='fill:none;'>■</tspan>reason</tspan>
74
+ </text>
75
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='1987.0' y='661.5'><tspan x='1987.0' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">purpose</tspan>
76
+ </text>
77
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='1906.0' y='810.0'><tspan x='1915.5' y='810.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">for<tspan style='fill:none;'>■</tspan>that<tspan style='fill:none;'>■</tspan>purpose</tspan>
78
+ <tspan x='1906.0' y='855.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">with<tspan style='fill:none;'>■</tspan>this<tspan style='fill:none;'>■</tspan>in<tspan style='fill:none;'>■</tspan>view</tspan>
79
+ </text>
80
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='2366.7' y='661.5'><tspan x='2366.7' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">conditional:</tspan>
81
+ <tspan x='2398.2' y='706.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">positive</tspan>
82
+ </text>
83
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='2259.2' y='855.0'><tspan x='2423.2' y='855.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">then</tspan>
84
+ <tspan x='2360.7' y='900.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">in<tspan style='fill:none;'>■</tspan>that<tspan style='fill:none;'>■</tspan>case</tspan>
85
+ <tspan x='2350.7' y='945.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">in<tspan style='fill:none;'>■</tspan>that<tspan style='fill:none;'>■</tspan>event</tspan>
86
+ <tspan x='2259.2' y='990.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">under<tspan style='fill:none;'>■</tspan>the<tspan style='fill:none;'>■</tspan>circumstances</tspan>
87
+ </text>
88
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='2723.3999999999996' y='661.5'><tspan x='2723.3999999999996' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">conditional:</tspan>
89
+ <tspan x='2749.3999999999996' y='706.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">negative</tspan>
90
+ </text>
91
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='2739.3999999999996' y='855.0'><tspan x='2739.3999999999996' y='855.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">otherwise</tspan>
92
+ <tspan x='2768.8999999999996' y='900.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">if<tspan style='fill:none;'>■</tspan>not</tspan>
93
+ </text>
94
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='2993.1' y='661.5'><tspan x='2993.1' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">concessive</tspan>
95
+ </text>
96
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='2972.6' y='810.0'><tspan x='3051.1' y='810.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">yet</tspan>
97
+ <tspan x='3046.6' y='855.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">still</tspan>
98
+ <tspan x='3021.1' y='900.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">though</tspan>
99
+ <tspan x='2982.6' y='945.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">despite<tspan style='fill:none;'>■</tspan>this</tspan>
100
+ <tspan x='3007.1' y='990.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">however</tspan>
101
+ <tspan x='3011.6' y='1035.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">even<tspan style='fill:none;'>■</tspan>so</tspan>
102
+ <tspan x='2972.6' y='1080.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">all<tspan style='fill:none;'>■</tspan>the<tspan style='fill:none;'>■</tspan>same</tspan>
103
+ <tspan x='2978.1' y='1125.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">nevertheless</tspan>
104
+ </text>
105
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='3473.1499999999996' y='364.5'><tspan x='3473.1499999999996' y='364.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">matter</tspan>
106
+ </text>
107
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='3302.7999999999993' y='513.0'><tspan x='3302.7999999999993' y='513.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">positive</tspan>
108
+ </text>
109
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='3242.7999999999993' y='661.5'><tspan x='3327.7999999999993' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">here</tspan>
110
+ <tspan x='3322.2999999999993' y='706.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">there</tspan>
111
+ <tspan x='3282.7999999999993' y='751.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">as<tspan style='fill:none;'>■</tspan>to<tspan style='fill:none;'>■</tspan>that</tspan>
112
+ <tspan x='3242.7999999999993' y='796.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">in<tspan style='fill:none;'>■</tspan>that<tspan style='fill:none;'>■</tspan>respect</tspan>
113
+ </text>
114
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='3620.9999999999995' y='513.0'><tspan x='3620.9999999999995' y='513.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">negative</tspan>
115
+ </text>
116
+ <text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='3548.9999999999995' y='661.5'><tspan x='3548.9999999999995' y='661.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">in<tspan style='fill:none;'>■</tspan>other<tspan style='fill:none;'>■</tspan>respects</tspan>
117
+ <tspan x='3608.4999999999995' y='706.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">elsewhere</tspan>
118
+ </text>
119
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
120
+ points='1998.3499999999997 159.75 1998.3499999999997 127.6875 1998.3499999999997 127.6875 1998.3499999999997 95.625' />
121
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
122
+ points='472.54999999999995 308.25 472.54999999999995 276.1875 1998.3499999999997 276.1875 1998.3499999999997 244.125' />
123
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
124
+ points='1621.0 308.25 1621.0 276.1875 1998.3499999999997 276.1875 1998.3499999999997 244.125' />
125
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
126
+ points='3524.1499999999996 308.25 3524.1499999999996 276.1875 1998.3499999999997 276.1875 1998.3499999999997 244.125' />
127
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
128
+ points='228.89999999999986 456.75 228.89999999999986 424.6875 472.54999999999995 424.6875 472.54999999999995 392.625' />
129
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
130
+ points='716.2 456.75 716.2 424.6875 472.54999999999995 424.6875 472.54999999999995 392.625' />
131
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
132
+ points='84.79999999999995 605.25 84.79999999999995 573.1875 228.89999999999986 573.1875 228.89999999999986 541.125' />
133
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
134
+ points='373.0 605.25 373.0 573.1875 228.89999999999986 573.1875 228.89999999999986 541.125' />
135
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
136
+ points='84.79999999999995 753.75 84.79999999999995 721.6875 84.79999999999995 721.6875 84.79999999999995 689.625' />
137
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
138
+ points='373.0 753.75 373.0 721.6875 373.0 721.6875 373.0 689.625' />
139
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
140
+ points='716.2 605.25 716.2 573.1875 716.2 573.1875 716.2 541.125' />
141
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
142
+ points='1031.4 456.75 1031.4 424.6875 1621.0 424.6875 1621.0 392.625' />
143
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
144
+ points='2210.6 456.75 2210.6 424.6875 1621.0 424.6875 1621.0 392.625' />
145
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
146
+ points='1031.4 605.25 1031.4 573.1875 1031.4 573.1875 1031.4 541.125' />
147
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
148
+ points='1347.1 605.25 1347.1 573.1875 2210.6 573.1875 2210.6 541.125' />
149
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
150
+ points='1688.3 605.25 1688.3 573.1875 2210.6 573.1875 2210.6 541.125' />
151
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
152
+ points='2049.0 605.25 2049.0 573.1875 2210.6 573.1875 2210.6 541.125' />
153
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
154
+ points='2457.7 605.25 2457.7 573.1875 2210.6 573.1875 2210.6 541.125' />
155
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
156
+ points='2814.3999999999996 605.25 2814.3999999999996 573.1875 2210.6 573.1875 2210.6 541.125' />
157
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
158
+ points='3074.1 605.25 3074.1 573.1875 2210.6 573.1875 2210.6 541.125' />
159
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
160
+ points='1347.1 753.75 1347.1 721.6875 1347.1 721.6875 1347.1 689.625' />
161
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
162
+ points='1688.3 753.75 1688.3 721.6875 1688.3 721.6875 1688.3 689.625' />
163
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
164
+ points='2049.0 753.75 2049.0 721.6875 2049.0 721.6875 2049.0 689.625' />
165
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
166
+ points='2457.7 798.75 2457.7 766.6875 2457.7 766.6875 2457.7 734.625' />
167
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
168
+ points='2814.3999999999996 798.75 2814.3999999999996 766.6875 2814.3999999999996 766.6875 2814.3999999999996 734.625' />
169
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
170
+ points='3074.1 753.75 3074.1 721.6875 3074.1 721.6875 3074.1 689.625' />
171
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
172
+ points='3362.2999999999993 456.75 3362.2999999999993 424.6875 3524.1499999999996 424.6875 3524.1499999999996 392.625' />
173
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
174
+ points='3685.9999999999995 456.75 3685.9999999999995 424.6875 3524.1499999999996 424.6875 3524.1499999999996 392.625' />
175
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
176
+ points='3362.2999999999993 605.25 3362.2999999999993 573.1875 3362.2999999999993 573.1875 3362.2999999999993 541.125' />
177
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
178
+ points='3685.9999999999995 605.25 3685.9999999999995 573.1875 3685.9999999999995 573.1875 3685.9999999999995 541.125' />
179
+ </svg>
@@ -0,0 +1,96 @@
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="4251.800000000001" height="875.25" viewBox="-16.8, 0, 4268.600000000001, 886.5" version="1.1" xmlns="http://www.w3.org/2000/svg">
4
+ <defs>
5
+ <marker id="arrow" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
6
+ <path d="M 0 0 L 10 5 L 0 10" fill="black"/>
7
+ </marker>
8
+ <marker id="arrowBackward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
9
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="black"/>
10
+ </marker>
11
+ <marker id="arrowForward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
12
+ <path d="M 10 0 L 0 5 L 10 10 z" fill="black"/>
13
+ </marker>
14
+ <marker id="arrowBothways" markerUnits="userSpaceOnUse" viewBox="0 0 30 10" refX="15" refY="5" markerWidth="50.400000000000006" markerHeight="16.8" orient="auto">
15
+ <path d="M 0 5 L 10 0 L 10 5 L 20 5 L 20 0 L 30 5 L 20 10 L 20 5 L 10 5 L 10 10 z" fill="black"/>
16
+ </marker>
17
+ <pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
18
+ <line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
19
+ </pattern>
20
+ <pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
21
+ <line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
22
+ </pattern>
23
+ <pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
24
+ <line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
25
+ </pattern>
26
+ </defs>
27
+ <rect x="-16.8" y="0" width="4268.600000000001" height="886.5" stroke="none" fill="white" />"
28
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='1639.6999999999998' y='67.5'><tspan x='1639.6999999999998' y='67.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Major<tspan style='fill:none;'>■</tspan>clause<tspan style='fill:none;'>■</tspan>construction</tspan>
29
+ </text>
30
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='16.799999999999955' y='283.5'><tspan x='16.799999999999955' y='283.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Declarative<tspan style='fill:none;'>■</tspan>clause<tspan style='fill:none;'>■</tspan>cxn</tspan>
31
+ <tspan x='88.79999999999995' y='373.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">He<tspan style='fill:none;'>■</tspan>was<tspan style='fill:none;'>■</tspan>tired.</tspan>
32
+ <tspan x='46.299999999999955' y='418.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">He<tspan style='fill:none;'>■</tspan>made<tspan style='fill:none;'>■</tspan>mistakes.</tspan>
33
+ </text>
34
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='884.6500000000001' y='283.5'><tspan x='884.6500000000001' y='283.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Interrogative<tspan style='fill:none;'>■</tspan>cxn</tspan>
35
+ </text>
36
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='584.5' y='499.5'><tspan x='584.5' y='499.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Yes/No</tspan>
37
+ </text>
38
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='447.0' y='715.5'><tspan x='498.5' y='715.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">interrogative<tspan style='fill:none;'>■</tspan>cxn</tspan>
39
+ <tspan x='521.0' y='805.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Was<tspan style='fill:none;'>■</tspan>he<tspan style='fill:none;'>■</tspan>tired?</tspan>
40
+ <tspan x='447.0' y='850.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Did<tspan style='fill:none;'>■</tspan>he<tspan style='fill:none;'>■</tspan>make<tspan style='fill:none;'>■</tspan>mistakes?</tspan>
41
+ </text>
42
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='1238.3000000000002' y='499.5'><tspan x='1238.3000000000002' y='499.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">WH-interrogative<tspan style='fill:none;'>■</tspan>cxn</tspan>
43
+ </text>
44
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='891.2000000000003' y='715.5'><tspan x='891.2000000000003' y='715.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">WH-subject<tspan style='fill:none;'>■</tspan>interrogative<tspan style='fill:none;'>■</tspan>cxn</tspan>
45
+ <tspan x='997.7000000000003' y='805.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Who<tspan style='fill:none;'>■</tspan>was<tspan style='fill:none;'>■</tspan>tired?</tspan>
46
+ </text>
47
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='1428.4' y='715.5'><tspan x='1428.4' y='715.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">WH-nonsubject<tspan style='fill:none;'>■</tspan>interrogative<tspan style='fill:none;'>■</tspan>cxn</tspan>
48
+ <tspan x='1576.9' y='805.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">What<tspan style='fill:none;'>■</tspan>was<tspan style='fill:none;'>■</tspan>he?</tspan>
49
+ <tspan x='1532.4' y='850.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">What<tspan style='fill:none;'>■</tspan>did<tspan style='fill:none;'>■</tspan>he<tspan style='fill:none;'>■</tspan>make?</tspan>
50
+ </text>
51
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='2025.6000000000004' y='283.5'><tspan x='2062.6000000000004' y='283.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">WH-exclamative<tspan style='fill:none;'>■</tspan>cxn</tspan>
52
+ <tspan x='2075.1000000000004' y='373.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">How<tspan style='fill:none;'>■</tspan>tired<tspan style='fill:none;'>■</tspan>he<tspan style='fill:none;'>■</tspan>was!</tspan>
53
+ <tspan x='2025.6000000000004' y='418.5' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">What<tspan style='fill:none;'>■</tspan>mistakes<tspan style='fill:none;'>■</tspan>he<tspan style='fill:none;'>■</tspan>made!</tspan>
54
+ </text>
55
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='2495.8' y='283.5'><tspan x='2495.8' y='283.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Imperative<tspan style='fill:none;'>■</tspan>cxn</tspan>
56
+ </text>
57
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='3340.1000000000004' y='283.5'><tspan x='3340.1000000000004' y='283.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Relative<tspan style='fill:none;'>■</tspan>clause<tspan style='fill:none;'>■</tspan>cxn</tspan>
58
+ </text>
59
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='2807.0' y='499.5'><tspan x='2875.5' y='499.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">WH-subject<tspan style='fill:none;'>■</tspan>relative<tspan style='fill:none;'>■</tspan>clause<tspan style='fill:none;'>■</tspan>cxn</tspan>
60
+ <tspan x='2807.0' y='589.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">The<tspan style='fill:none;'>■</tspan>emails,<tspan style='fill:none;'>■</tspan>which<tspan style='fill:none;'>■</tspan>arrived<tspan style='fill:none;'>■</tspan>overnight<tspan style='fill:none;'>■</tspan>...</tspan>
61
+ </text>
62
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; storoke-width: 0; font-size: 32px;' x='3513.2000000000007' y='499.5'><tspan x='3584.7000000000007' y='499.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">WH-nonsubject<tspan style='fill:none;'>■</tspan>relative<tspan style='fill:none;'>■</tspan>clause<tspan style='fill:none;'>■</tspan>cxn</tspan>
63
+ <tspan x='3513.2000000000007' y='589.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">A<tspan style='fill:none;'>■</tspan>pilot<tspan style='fill:none;'>■</tspan>shouldn't<tspan style='fill:none;'>■</tspan>be<tspan style='fill:none;'>■</tspan>tired,<tspan style='fill:none;'>■</tspan>which<tspan style='fill:none;'>■</tspan>Ben<tspan style='fill:none;'>■</tspan>was.</tspan>
64
+ <tspan x='3615.2000000000007' y='634.5' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">The<tspan style='fill:none;'>■</tspan>mistalkes<tspan style='fill:none;'>■</tspan>that<tspan style='fill:none;'>■</tspan>he<tspan style='fill:none;'>■</tspan>made<tspan style='fill:none;'>■</tspan>...</tspan>
65
+ </text>
66
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
67
+ points='198.29999999999995 227.25 198.29999999999995 161.4375 1847.2 161.4375 1847.2 95.625' />
68
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
69
+ points='1022.6500000000001 227.25 1022.6500000000001 161.4375 1847.2 161.4375 1847.2 95.625' />
70
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
71
+ points='2227.1000000000004 227.25 2227.1000000000004 161.4375 1847.2 161.4375 1847.2 95.625' />
72
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
73
+ points='2617.8 227.25 2617.8 161.4375 1847.2 161.4375 1847.2 95.625' />
74
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
75
+ points='3496.1000000000004 227.25 3496.1000000000004 161.4375 1847.2 161.4375 1847.2 95.625' />
76
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
77
+ points='635.5 443.25 635.5 377.4375 1022.6500000000001 377.4375 1022.6500000000001 311.625' />
78
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
79
+ points='1409.8000000000002 443.25 1409.8000000000002 377.4375 1022.6500000000001 377.4375 1022.6500000000001 311.625' />
80
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
81
+ points='635.5 659.25 635.5 593.4375 635.5 593.4375 635.5 527.625' />
82
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
83
+ points='1126.2000000000003 659.25 1126.2000000000003 593.4375 1409.8000000000002 593.4375 1409.8000000000002 527.625' />
84
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
85
+ points='1693.4 659.25 1693.4 593.4375 1409.8000000000002 593.4375 1409.8000000000002 527.625' />
86
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
87
+ points='3126.5 443.25 3126.5 377.4375 3496.1000000000004 377.4375 3496.1000000000004 311.625' />
88
+ <polyline style='stroke:black; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
89
+ points='3865.7000000000007 443.25 3865.7000000000007 377.4375 3496.1000000000004 377.4375 3496.1000000000004 311.625' />
90
+ <line style="stroke:black; fill:none; stroke-linecap:round; stroke-width:2; " x1="16.799999999999955" y1="317.25" x2="379.79999999999995" y2="317.25"></line>
91
+ <line style="stroke:black; fill:none; stroke-linecap:round; stroke-width:2; " x1="447.0" y1="749.25" x2="824.0" y2="749.25"></line>
92
+ <line style="stroke:black; fill:none; stroke-linecap:round; stroke-width:2; " x1="891.2000000000003" y1="749.25" x2="1361.2000000000003" y2="749.25"></line>
93
+ <line style="stroke:black; fill:none; stroke-linecap:round; stroke-width:2; " x1="1428.4" y1="749.25" x2="1958.4" y2="749.25"></line>
94
+ <line style="stroke:black; fill:none; stroke-linecap:round; stroke-width:2; " x1="2025.6000000000004" y1="317.25" x2="2428.6000000000004" y2="317.25"></line>
95
+ <line style="stroke:black; fill:none; stroke-linecap:round; stroke-width:2; " x1="2807.0" y1="533.25" x2="3446.0" y2="533.25"></line>
96
+ <line style="stroke:black; fill:none; stroke-linecap:round; stroke-width:2; " x1="3513.2000000000007" y1="533.25" x2="4218.200000000001" y2="533.25"></line></svg>
@@ -279,12 +279,12 @@ module RSyntaxTree
279
279
  end
280
280
 
281
281
  if e[:decoration].include?(:box)
282
- enc = "<rect style='fill: none; stroke: #{col}; stroke-linejoin:round; stroke-width:#{stroke_width};'
282
+ enc = "<rect style='stroke: #{col}; stroke-linejoin:round; stroke-width:#{stroke_width};'
283
283
  x='#{enc_x}' y='#{enc_y}'
284
284
  width='#{enc_width}' height='#{enc_height}'
285
285
  fill='#{fill}' />\n"
286
286
  elsif e[:decoration].include?(:circle)
287
- enc = "<rect style='fill: none; stroke: #{col}; stroke-width:#{stroke_width};'
287
+ enc = "<rect style='stroke: #{col}; stroke-width:#{stroke_width};'
288
288
  x='#{enc_x}' y='#{enc_y}' rx='#{enc_height / 2}' ry='#{enc_height / 2}'
289
289
  width='#{enc_width}' height='#{enc_height}'
290
290
  fill='#{fill}' />\n"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RSyntaxTree
4
- VERSION = "1.2.9"
4
+ VERSION = "1.2.12"
5
5
  end
data/lib/rsyntaxtree.rb CHANGED
@@ -66,6 +66,8 @@ module RSyntaxTree
66
66
  .gsub('-CABRACKET-', '>')
67
67
  .gsub('¥¥', '\¥')
68
68
  .gsub(/(?<!\\)¥/, "\\")
69
+ .gsub(/\\\[/, "[")
70
+ .gsub(/\\\]/, "]")
69
71
  new_params[key] = data
70
72
 
71
73
  when :symmetrize, :transparent, :polyline, :hide_default_connectors
data/rsyntaxtree.gemspec CHANGED
@@ -17,10 +17,11 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ["lib"]
18
18
 
19
19
  # specify any dependencies here; for example:
20
- s.add_runtime_dependency "optimist", "~> 3.0", ">= 3.0.1"
20
+ s.add_runtime_dependency "optimist", ">= 3.0.1"
21
21
  s.add_runtime_dependency "parslet"
22
- s.add_runtime_dependency "rmagick", "~> 4.2", ">= 4.2.3"
22
+ s.add_runtime_dependency "rmagick", ">= 4.3"
23
23
  s.add_runtime_dependency "rsvg2"
24
24
 
25
+ s.add_development_dependency "nokogiri"
25
26
  s.add_development_dependency "yaml"
26
27
  end
@@ -3,6 +3,8 @@
3
3
  require "minitest/autorun"
4
4
  require "minitest/pride"
5
5
  require "yaml"
6
+ require "nokogiri"
7
+
6
8
  require_relative '../lib/rsyntaxtree'
7
9
  require_relative '../lib/rsyntaxtree/utils'
8
10
 
@@ -65,13 +67,11 @@ class ExampleParserTest < Minitest::Test
65
67
  # To test SVG, run the code below
66
68
  #################################
67
69
  svg = rsg.draw_svg
68
- opts[:svg] = svg
69
- svg_path = File.join(svg_dir, "#{name}.svg")
70
- svg_code = File.read(svg_path)
71
- puts "Creating example SVG test case: #{name}"
70
+
71
+ document = Nokogiri::XML(svg)
72
72
 
73
73
  define_method "test_#{name}" do
74
- assert_equal svg_code, opts[:svg]
74
+ assert_equal document.errors.empty?, true
75
75
  end
76
76
  end
77
77
  end
metadata CHANGED
@@ -1,22 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsyntaxtree
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.9
4
+ version: 1.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoichiro Hasebe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-08 00:00:00.000000000 Z
11
+ date: 2024-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: optimist
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.0'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
19
  version: 3.0.1
@@ -24,9 +21,6 @@ dependencies:
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.0'
30
24
  - - ">="
31
25
  - !ruby/object:Gem::Version
32
26
  version: 3.0.1
@@ -48,22 +42,16 @@ dependencies:
48
42
  name: rmagick
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '4.2'
54
45
  - - ">="
55
46
  - !ruby/object:Gem::Version
56
- version: 4.2.3
47
+ version: '4.3'
57
48
  type: :runtime
58
49
  prerelease: false
59
50
  version_requirements: !ruby/object:Gem::Requirement
60
51
  requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '4.2'
64
52
  - - ">="
65
53
  - !ruby/object:Gem::Version
66
- version: 4.2.3
54
+ version: '4.3'
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: rsvg2
69
57
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +66,20 @@ dependencies:
78
66
  - - ">="
79
67
  - !ruby/object:Gem::Version
80
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: nokogiri
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
81
83
  - !ruby/object:Gem::Dependency
82
84
  name: yaml
83
85
  requirement: !ruby/object:Gem::Requirement
@@ -101,9 +103,6 @@ extensions: []
101
103
  extra_rdoc_files: []
102
104
  files:
103
105
  - ".gitignore"
104
- - ".rubocop.yml"
105
- - ".solargraph.yml"
106
- - ".tags"
107
106
  - Dockerfile
108
107
  - Gemfile
109
108
  - README.md
@@ -162,6 +161,11 @@ files:
162
161
  - docs/_examples/045.md
163
162
  - docs/_examples/046.md
164
163
  - docs/_examples/047.md
164
+ - docs/_examples/048.md
165
+ - docs/_examples/049.md
166
+ - docs/_examples/050.md
167
+ - docs/_examples/051.md
168
+ - docs/_examples/052.md
165
169
  - docs/_includes/box_and_circle_table.html
166
170
  - docs/_includes/escape_char_table.html
167
171
  - docs/_includes/social_media_links.html
@@ -215,6 +219,11 @@ files:
215
219
  - docs/assets/img/045.png
216
220
  - docs/assets/img/046.png
217
221
  - docs/assets/img/047.png
222
+ - docs/assets/img/048.png
223
+ - docs/assets/img/049.png
224
+ - docs/assets/img/050.png
225
+ - docs/assets/img/051.png
226
+ - docs/assets/img/052.png
218
227
  - docs/assets/img/elements/arrow_both.png
219
228
  - docs/assets/img/elements/arrow_both_bold.png
220
229
  - docs/assets/img/elements/arrow_left.png
@@ -285,6 +294,11 @@ files:
285
294
  - docs/assets/svg/045.svg
286
295
  - docs/assets/svg/046.svg
287
296
  - docs/assets/svg/047.svg
297
+ - docs/assets/svg/048.svg
298
+ - docs/assets/svg/049.svg
299
+ - docs/assets/svg/050.svg
300
+ - docs/assets/svg/051.svg
301
+ - docs/assets/svg/052.svg
288
302
  - docs/documentation.md
289
303
  - docs/documentation_ja.md
290
304
  - docs/examples.html
@@ -341,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
341
355
  - !ruby/object:Gem::Version
342
356
  version: '0'
343
357
  requirements: []
344
- rubygems_version: 3.4.2
358
+ rubygems_version: 3.4.12
345
359
  signing_key:
346
360
  specification_version: 4
347
361
  summary: RSyntaxTree is a graphical syntax tree generator written in Ruby
data/.rubocop.yml DELETED
@@ -1,77 +0,0 @@
1
- AllCops:
2
- NewCops: disable
3
- SuggestExtensions: false
4
- TargetRubyVersion: 2.6
5
-
6
- Documentation:
7
- Enabled: false
8
-
9
- Naming/VariableNumber:
10
- Enabled: false
11
-
12
- Naming/AccessorMethodName:
13
- Enabled: false
14
-
15
- Naming/MethodParameterName:
16
- Enabled: false
17
-
18
- Naming/FileName:
19
- Enabled: false
20
-
21
- Style/SymbolArray:
22
- Enabled: false
23
-
24
- Style/BlockDelimiters:
25
- Enabled: false
26
-
27
- Style/GlobalVars:
28
- Enabled: false
29
-
30
- Style/PerlBackrefs:
31
- Enabled: false
32
-
33
- Style/Semicolon:
34
- Enabled: false
35
-
36
- Style/OptionalBooleanParameter:
37
- Enabled: false
38
-
39
- Style/StringLiterals:
40
- Enabled: false
41
-
42
- Style/StringConcatenation:
43
- Enabled: false
44
-
45
- Style/StringLiteralsInInterpolation:
46
- Enabled: true
47
- EnforcedStyle: double_quotes
48
-
49
- Layout/LineLength:
50
- Max: 400
51
-
52
- Metrics/BlockNesting:
53
- Max: 5
54
-
55
- Metrics/MethodLength:
56
- Max: 400
57
-
58
- Metrics/BlockLength:
59
- Max: 200
60
-
61
- Metrics/AbcSize:
62
- Max: 400
63
-
64
- Metrics/PerceivedComplexity:
65
- Max: 100
66
-
67
- Metrics/ClassLength:
68
- Max: 800
69
-
70
- Metrics/CyclomaticComplexity:
71
- Max: 100
72
-
73
- Metrics/ParameterLists:
74
- Enabled: false
75
-
76
- Metrics/ModuleLength:
77
- Max: 200