rsyntaxtree 1.0.6 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.tags +434 -46
  3. data/README.md +61 -28
  4. data/bin/rsyntaxtree +0 -1
  5. data/docs/.gitignore +5 -0
  6. data/docs/404.html +25 -0
  7. data/docs/Gemfile +31 -0
  8. data/docs/_config.yml +77 -0
  9. data/docs/_examples/001.md +22 -0
  10. data/docs/_examples/002.md +31 -0
  11. data/docs/_examples/003.md +25 -0
  12. data/docs/_examples/004.md +25 -0
  13. data/docs/_examples/005.md +22 -0
  14. data/docs/_examples/006.md +25 -0
  15. data/docs/_examples/007.md +26 -0
  16. data/docs/_examples/008.md +28 -0
  17. data/docs/_examples/009.md +24 -0
  18. data/docs/_examples/010.md +48 -0
  19. data/docs/_examples/011.md +37 -0
  20. data/docs/_examples/012.md +40 -0
  21. data/docs/_examples/013.md +62 -0
  22. data/docs/_examples/014.md +47 -0
  23. data/docs/_examples/015.md +30 -0
  24. data/docs/_examples/016.md +82 -0
  25. data/docs/_examples/017.md +22 -0
  26. data/docs/_examples/018.md +28 -0
  27. data/docs/_examples/019.md +59 -0
  28. data/docs/_examples/020.md +39 -0
  29. data/docs/_includes/box_and_circle_table.html +54 -0
  30. data/docs/_includes/escape_char_table.html +28 -0
  31. data/docs/_includes/social_media_links.html +13 -0
  32. data/docs/_layouts/default.html +43 -0
  33. data/docs/assets/css/style.scss +25 -0
  34. data/docs/assets/img/001.png +0 -0
  35. data/docs/assets/img/002.png +0 -0
  36. data/docs/assets/img/003.png +0 -0
  37. data/docs/assets/img/004.png +0 -0
  38. data/docs/assets/img/005.png +0 -0
  39. data/docs/assets/img/006.png +0 -0
  40. data/docs/assets/img/007.png +0 -0
  41. data/docs/assets/img/008.png +0 -0
  42. data/docs/assets/img/009.png +0 -0
  43. data/docs/assets/img/010.png +0 -0
  44. data/docs/assets/img/011.png +0 -0
  45. data/docs/assets/img/012.png +0 -0
  46. data/docs/assets/img/013.png +0 -0
  47. data/docs/assets/img/014.png +0 -0
  48. data/docs/assets/img/015.png +0 -0
  49. data/docs/assets/img/016.png +0 -0
  50. data/docs/assets/img/017.png +0 -0
  51. data/docs/assets/img/018.png +0 -0
  52. data/docs/assets/img/019.png +0 -0
  53. data/docs/assets/img/020.png +0 -0
  54. data/{img → docs/assets/img}/elements/circle.png +0 -0
  55. data/{img → docs/assets/img}/elements/circle_abc.png +0 -0
  56. data/{img → docs/assets/img}/elements/circle_bold.png +0 -0
  57. data/{img → docs/assets/img}/elements/circle_hatched.png +0 -0
  58. data/{img → docs/assets/img}/elements/circle_one.png +0 -0
  59. data/{img → docs/assets/img}/elements/connector.png +0 -0
  60. data/{img → docs/assets/img}/elements/connector_bold.png +0 -0
  61. data/{img → docs/assets/img}/elements/square.png +0 -0
  62. data/{img → docs/assets/img}/elements/square_abc.png +0 -0
  63. data/{img → docs/assets/img}/elements/square_bold.png +0 -0
  64. data/{img → docs/assets/img}/elements/square_hatched.png +0 -0
  65. data/{img → docs/assets/img}/elements/square_one.png +0 -0
  66. data/docs/assets/img/favicon/apple-touch-icon.png +0 -0
  67. data/docs/assets/img/favicon/favicon-16x16.png +0 -0
  68. data/docs/assets/img/favicon/favicon-32x32.png +0 -0
  69. data/docs/assets/img/favicon/favicon.ico +0 -0
  70. data/docs/documentation.md +153 -0
  71. data/docs/documentation_ja.md +166 -0
  72. data/docs/examples.html +68 -0
  73. data/docs/index.html +2 -0
  74. data/img/rsyntaxtree-web-screenshot.png +0 -0
  75. data/lib/rsyntaxtree/base_graph.rb +2 -0
  76. data/lib/rsyntaxtree/markup_parser.rb +1 -1
  77. data/lib/rsyntaxtree/version.rb +1 -1
  78. data/lib/rsyntaxtree.rb +2 -0
  79. data/rsyntaxtree.gemspec +1 -1
  80. metadata +73 -15
data/README.md CHANGED
@@ -1,15 +1,67 @@
1
- # 🌲 RSyntaxTree
1
+ <img src='https://github.com/yohasebe/rsyntaxtree/blob/master/img/rsyntaxtree.png?raw=true' style='width: 256px;' />
2
2
 
3
- **RSyntaxTree** is a graphical syntax tree generator written in the Ruby programming language inspired by [phpSyntaxTree](http://ironcreek.net/phpsyntaxtree/).
3
+ **RSyntaxTree** is a graphical syntax tree generator written in the Ruby programming language.
4
+
5
+ ---
6
+
7
+ ### Documentation
8
+
9
+ Documentation is currently available in the following languages:
10
+
11
+ - [English](https://yohasebe.github.io/rsyntaxtree/documentation)
12
+ - [日本語](https://yohasebe.github.io/rsyntaxtree/documentation_ja)
13
+
14
+ ---
4
15
 
5
16
  ### Web Interface
6
17
 
18
+ <img src='https://github.com/yohasebe/rsyntaxtree/blob/master/img/rsyntaxtree-web-screenshot.png?raw=true' width='700px'/>
19
+
7
20
  See updates and a working web interface available at <https://yohasebe.com/rsyntaxtree>.
8
21
 
22
+ You can run RSyntaxTree's web interface on your local machine using Docker Desktop. See [RSyntaxTree Web UI](https://github.com/yohasebe/rsyntaxtree_web)
23
+
24
+ ---
25
+
26
+ ### Examples
27
+
28
+ See [RSyntaxTree Example Gallery](https://yohasebe.github.io/rsyntaxtree/examples) page for syntax tree samples for
29
+
30
+ - Generative Grammar
31
+ - Combinatory Categorial Grammar (Experimental)
32
+ - Head-Driven Phrase Structure Grammar (Experimental)
33
+ - Cognitive Grammar (Experimental)
34
+
35
+
36
+ **Input text**
37
+
38
+ ```text
39
+ [S
40
+ [NP |R|<>SyntaxTree]
41
+ [VP
42
+ [V generates]
43
+ [NP
44
+ [Adj #\+multilingual\
45
+ \+beautiful]
46
+ [NP syntax\
47
+ trees]
48
+ ]
49
+ ]
50
+ ]
51
+ ```
52
+
53
+ **Output (PNG or SVG)**
54
+
55
+ <img src='https://github.com/yohasebe/rsyntaxtree/blob/master/img/sample.png?raw=true' width='600' />
56
+
57
+ ---
58
+
9
59
  ### Installation
10
60
 
11
61
  `# gem install rsyntaxtree`
12
62
 
63
+ ---
64
+
13
65
  ### Usage
14
66
 
15
67
  For the web interface, see Usage section of <https://yohasebe.com/rsyntaxtree>.
@@ -17,7 +69,7 @@ For the web interface, see Usage section of <https://yohasebe.com/rsyntaxtree>.
17
69
  For the command-line interface, type `$rsyntaxtree -h` after installation. Here's what you get:
18
70
 
19
71
  ```text
20
- SyntaxTree, (linguistic) syntax tree generator written in Ruby.
72
+ RSyntaxTree, (linguistic) syntax tree generator written in Ruby.
21
73
 
22
74
  Usage:
23
75
  rsyntaxtree [options] "[VP [VP [V set] [NP bracket notation]] [ADV here]]"
@@ -38,41 +90,22 @@ where [options] are:
38
90
  -h, --help Show this message```
39
91
  ```
40
92
 
41
- See [the documentation](https://yohasebe.com/rsyntaxtree/#documentation) for more detailed info about the syntax.
42
-
43
- ### Example
93
+ See the [documentation](https://yohasebe.github.io/rsyntaxtree/documentation) for more detailed info about the syntax.
44
94
 
45
- **Input text**
46
-
47
- ```text
48
- [S
49
- [NP |R|<>SyntaxTree]
50
- [VP
51
- [V generates]
52
- [NP
53
- [Adj #\+multilingual\
54
- \+beautiful]
55
- [NP syntax\
56
- trees]
57
- ]
58
- ]
59
- ]
60
- ```
61
-
62
- **Output (PNG or SVG)**
63
-
64
- <img src='https://github.com/yohasebe/rsyntaxtree/blob/master/img/sample.png?raw=true' width='600' />
65
-
66
- See [RSyntaxTree Examples](https://yohasebe.notion.site/yohasebe/RSyntaxTree-Examples-006baf3ac6e84e7193b538a5bf02ad07) for more examples
95
+ ---
67
96
 
68
97
  ### Development
69
98
 
70
99
  For the latest updates and downloads please visit <http://github.com/yohasebe/rsyntaxtree>
71
100
 
101
+ ---
102
+
72
103
  ### Author
73
104
 
74
105
  Yoichiro Hasebe <yohasebe@gmail.com>
75
106
 
107
+ ---
108
+
76
109
  ### License
77
110
 
78
111
  RSyntaxTree is distributed under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
data/bin/rsyntaxtree CHANGED
@@ -79,7 +79,6 @@ begin
79
79
  rsg.draw_tree.write(filepath)
80
80
  when "png"
81
81
  outfile = File.new(filepath, "wb")
82
- # outfile.write rsg.draw_png
83
82
  outfile.write rsg.draw_tree
84
83
  outfile.close
85
84
  when "svg"
data/docs/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ _site
2
+ .sass-cache
3
+ .jekyll-cache
4
+ .jekyll-metadata
5
+ vendor
data/docs/404.html ADDED
@@ -0,0 +1,25 @@
1
+ ---
2
+ permalink: /404.html
3
+ layout: default
4
+ ---
5
+
6
+ <style type="text/css" media="screen">
7
+ .container {
8
+ margin: 10px auto;
9
+ max-width: 600px;
10
+ text-align: center;
11
+ }
12
+ h1 {
13
+ margin: 30px 0;
14
+ font-size: 4em;
15
+ line-height: 1;
16
+ letter-spacing: -1px;
17
+ }
18
+ </style>
19
+
20
+ <div class="container">
21
+ <h1>404</h1>
22
+
23
+ <p><strong>Page not found :(</strong></p>
24
+ <p>The requested page could not be found.</p>
25
+ </div>
data/docs/Gemfile ADDED
@@ -0,0 +1,31 @@
1
+ source "https://rubygems.org"
2
+ # Hello! This is where you manage which Jekyll version is used to run.
3
+ # When you want to use a different version, change it below, save the
4
+ # file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
5
+ #
6
+ # bundle exec jekyll serve
7
+ #
8
+ # This will help ensure the proper Jekyll version is running.
9
+ # Happy Jekylling!
10
+ # gem "jekyll", "~> 4.2.1"
11
+ # This is the default theme for new Jekyll sites. You may change this to anything you like.
12
+ gem "minima", "~> 2.5"
13
+ # If you want to use GitHub Pages, remove the "gem "jekyll"" above and
14
+ # uncomment the line below. To upgrade, run `bundle update github-pages`.
15
+ gem "github-pages", group: :jekyll_plugins
16
+
17
+ # If you have any plugins, put them here!
18
+ group :jekyll_plugins do
19
+ gem "jekyll-feed", "~> 0.12"
20
+ end
21
+
22
+ # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
23
+ # and associated library.
24
+ platforms :mingw, :x64_mingw, :mswin, :jruby do
25
+ gem "tzinfo", "~> 1.2"
26
+ gem "tzinfo-data"
27
+ end
28
+
29
+ # Performance-booster for watching directories on Windows
30
+ gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
31
+ gem "webrick"
data/docs/_config.yml ADDED
@@ -0,0 +1,77 @@
1
+ # Welcome to Jekyll!
2
+ #
3
+ # This config file is meant for settings that affect your whole blog, values
4
+ # which you are expected to set up once and rarely edit after that. If you find
5
+ # yourself editing this file very often, consider using Jekyll's data files
6
+ # feature for the data you need to update frequently.
7
+ #
8
+ # For technical reasons, this file is *NOT* reloaded automatically when you use
9
+ # 'bundle exec jekyll serve'. If you change this file, please restart the server process.
10
+ #
11
+ # If you need help with YAML syntax, here are some quick references for you:
12
+ # https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
13
+ # https://learnxinyminutes.com/docs/yaml/
14
+ #
15
+ # Site settings
16
+ # These are used to personalize your new site. If you look in the HTML files,
17
+ # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
18
+ # You can create any custom variable you would like, and they will be accessible
19
+ # in the templates via {{ site.myvariable }}.
20
+
21
+ title: RSyntaxTree
22
+ email: yohasebe@gmail.com
23
+ description: Syntax tree generator made with Ruby
24
+ baseurl: "/rsyntaxtree/"
25
+ domain: "yohasebe.github.io"
26
+ url: "https://yohasebe.github.io"
27
+ twitter_username: yohasebe
28
+ github_username: yohasebe
29
+
30
+ # Build settings
31
+ remote_theme: pages-themes/cayman@v0.2.0
32
+ plugins:
33
+ - jekyll-remote-theme # add this line to the plugins list if you already have one:
34
+
35
+
36
+ markdown: kramdown
37
+
38
+ # Exclude from processing.
39
+ # The following items will not be processed, by default.
40
+ # Any item listed under the `exclude:` key here will be automatically added to
41
+ # the internal "default list".
42
+ #
43
+ # Excluded items can be processed by explicitly listing the directories or
44
+ # their entries' file path in the `include:` list.
45
+ #
46
+ exclude:
47
+ - Gemfile
48
+ - Gemfile.lock
49
+ # - .sass-cache/
50
+ # - .jekyll-cache/
51
+ # - gemfiles/
52
+
53
+ github:
54
+ - repository_url: https://github.com/yohasebe/rsyntaxtree
55
+
56
+ collections:
57
+ - examples
58
+
59
+ social-media:
60
+ email:
61
+ id: 'yohasebe@gmail.com'
62
+ href: 'mailto:'
63
+ title: 'Email'
64
+ fa-icon: 'fa-envelope'
65
+ category: 'fa'
66
+ twitter:
67
+ id: 'yohasebe'
68
+ href: 'https://www.twitter.com/'
69
+ title: 'Twitter'
70
+ fa-icon: 'fa-twitter'
71
+ category: 'fab'
72
+ github:
73
+ id: 'yohasebe'
74
+ href: 'https://github.com/'
75
+ title: 'GitHub'
76
+ fa-icon: 'fa-github'
77
+ category: 'fab'
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: "001"
3
+ colorization: "on"
4
+ category: "General"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "auto"
8
+ font: "Noto Serif"
9
+ reference:
10
+ ---
11
+ ```
12
+ [A
13
+ [B
14
+ [D]
15
+ [E]
16
+ ]
17
+ [C
18
+ [F]
19
+ [G]
20
+ ]
21
+ ]
22
+ ```
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: "002"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "auto"
8
+ font: "Noto Serif"
9
+ reference: "Chomsky 1995: 50"
10
+ ---
11
+ ```
12
+ [CP
13
+ [John]
14
+ [TP
15
+ [T
16
+ [V
17
+ [cause]
18
+ [V fall]
19
+ ]
20
+ [T]
21
+ ]
22
+ [VP
23
+ [V *t*_c_]
24
+ [CP
25
+ [books]
26
+ [*t*_f_]
27
+ ]
28
+ ]
29
+ ]
30
+ ]
31
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: "003"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "auto"
8
+ font: "Noto Serif"
9
+ reference: "Chomsky 1995: 62"
10
+ ---
11
+ ```
12
+ [VP
13
+ [John]
14
+ [V'
15
+ [V *e*]
16
+ [VP
17
+ [NP a book]
18
+ [V'
19
+ [V gave]
20
+ [to\-Bill]
21
+ ]
22
+ ]
23
+ ]
24
+ ]
25
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: "004"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "auto"
8
+ font: "Noto Serif"
9
+ reference: "Chomsky 1995: 180"
10
+ ---
11
+ ```
12
+ [VP_1_
13
+ [NP_1_ John]
14
+ [V'_1_
15
+ [V_1_ *e*]
16
+ [VP_2_
17
+ [NP_2_ the book]
18
+ [V'_2_
19
+ [V_2_ put]
20
+ [ZP on the shelf]
21
+ ]
22
+ ]
23
+ ]
24
+ ]
25
+ ```
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: "005"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "none"
8
+ font: "Noto Serif"
9
+ reference: "Chomsky 1995: 355"
10
+ ---
11
+ ```
12
+ [X__max__
13
+ [\[Y\−X\]]
14
+ [YP
15
+ [Spec_1_]
16
+ [Y'
17
+ [*t*]
18
+ [ZP]
19
+ ]
20
+ ]
21
+ ]
22
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: "006"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "none"
8
+ font: "Noto Serif"
9
+ reference: "Chomsky 1995: 369"
10
+ ---
11
+ ```
12
+ [𝑣P
13
+ [Spec_2_]
14
+ [𝑣'
15
+ [Subj]
16
+ [𝑣'
17
+ [Vb]
18
+ [VP
19
+ [*t*_v_]
20
+ [Obj]
21
+ ]
22
+ ]
23
+ ]
24
+ ]
25
+ ```
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: "007"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "bar"
8
+ font: "Noto Serif"
9
+ reference:
10
+ ---
11
+ ```
12
+ [XP
13
+ [W Specifier\
14
+ 指定部]
15
+ [X'
16
+ [X'
17
+ [X Head\
18
+ 主要部]
19
+ [Y Complement\
20
+ 補部]
21
+ ]
22
+ [Z Modifier\
23
+ 付加部]
24
+ ]
25
+ ]
26
+ ```
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: "008"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "auto"
8
+ font: "Noto Serif"
9
+ reference:
10
+ ---
11
+ ```
12
+ [𝑣P
13
+ [NP 太郎が]
14
+ [𝑣'
15
+ [VP
16
+ [𝑣P
17
+ [NP ^泥棒に]
18
+ [𝑣'
19
+ [VP ^財布を盗む]
20
+ [𝑣]
21
+ ]
22
+ ]
23
+ [V られ]
24
+ ]
25
+ [𝑣]
26
+ ]
27
+ ]
28
+ ```
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: "009"
3
+ colorization: "off"
4
+ category: "Generative Grammar"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "auto"
8
+ font: "Noto Serif"
9
+ reference:
10
+ ---
11
+ ```
12
+ [S__*__
13
+ [NP α_1_]
14
+ [INFL (AGR)]
15
+ [VP
16
+ [V]
17
+ [NP α_2_]
18
+ [PP
19
+ [P]
20
+ [NP α_3_]
21
+ ]
22
+ ]
23
+ ]
24
+ ```
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: "010"
3
+ category: "Generative Grammar"
4
+ polyline: "off"
5
+ colorization: "on"
6
+ symmetrization: "off"
7
+ connector: "none"
8
+ font: "Noto Serif"
9
+ reference: "Radford 2004"
10
+ ---
11
+ ```
12
+ [CP
13
+ [C
14
+ ø]
15
+ [TP
16
+ [PRN
17
+ **They**+>2
18
+ ]
19
+ [T'
20
+ [T
21
+ Will
22
+ ]
23
+ [vP
24
+ [PRN
25
+ ~**they**~+2
26
+ ]
27
+ [v'
28
+ [v
29
+ ø<>\+<>*get*+>1
30
+ ]
31
+ [VP
32
+ [DP
33
+ the<>teacher]
34
+ [V'
35
+ [V
36
+ ~*get*~+1
37
+ ]
38
+ [QP
39
+ a<>present
40
+ ]
41
+ ]
42
+ ]
43
+ ]
44
+ ]
45
+ ]
46
+ ]
47
+ ]
48
+ ```
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: "011"
3
+ colorization: "off"
4
+ category: "Combinatory Categorial Grammar (Experimental)"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "none"
8
+ font: "Noto Serif"
9
+ reference:
10
+ ---
11
+ ```
12
+ [S\
13
+ \<
14
+ [NP\
15
+ \>
16
+ [NP/N\
17
+ ---\
18
+ *the*
19
+ ]
20
+ [N\
21
+ ---\
22
+ *dog*
23
+ ]
24
+ ]
25
+ [S\\NP\
26
+ \>
27
+ [(S\\NP)\\NP\
28
+ ---\
29
+ *bit*
30
+ ]
31
+ [NP\
32
+ ---\
33
+ *John*
34
+ ]
35
+ ]
36
+ ]
37
+ ```
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: "012"
3
+ colorization: "off"
4
+ category: "Combinatory Categorial Grammar (Experimental)"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "none"
8
+ font: "Noto Serif"
9
+ reference:
10
+ ---
11
+ ```
12
+ [S\
13
+ \>
14
+ [S/NP\
15
+ B_\>_
16
+ [S/(S\\NP)\
17
+ T_\>_
18
+ [NP\
19
+ \>
20
+ [NP/N\
21
+ ---\
22
+ *the*
23
+ ]
24
+ [N\
25
+ ---\
26
+ *dog*
27
+ ]
28
+ ]
29
+ ]
30
+ [(S\\NP)/NP\
31
+ ---\
32
+ *bit*
33
+ ]
34
+ ]
35
+ [NP\
36
+ ---\
37
+ *John*
38
+ ]
39
+ ]
40
+ ```
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: "013"
3
+ colorization: "off"
4
+ category: "Head-Driven Phrase Structure Grammar (Experimental)"
5
+ polyline: "off"
6
+ symmetrization: "off"
7
+ connector: "bar"
8
+ font: "Noto Serif"
9
+ reference:
10
+ ---
11
+ ```
12
+ [#HEAD<>___|1|___\
13
+ ---\
14
+ SPR<>〈<>〉\
15
+ COMPS<>〈<>〉
16
+ [#HEAD<>___|2|___\
17
+ ---\
18
+ *noun*\
19
+ ---\
20
+ SPR<>〈<>〉\
21
+ COMPS〈<>〉
22
+ Kim
23
+ ]
24
+ [#HEAD<>___|1|___\
25
+ ---\
26
+ SPR<>〈<>___|2|___<>〉\
27
+ COMPS<>〈<>〉
28
+ [#HEAD<>___|1|___\
29
+ ---\
30
+ *verb*\
31
+ ---\
32
+ SPR<>〈<>___|2|___<>NP〉\
33
+ COMPS<>〈<>___|3|___<>PP\[*on*\]〉
34
+ relies
35
+ ]
36
+ [#<6>___|3|___\
37
+ ---\
38
+ HEAD<>|___4___|\
39
+ ---\
40
+ SPR<>〈<>〉\
41
+ COMPS<>〈<>〉
42
+ [#HEAD<>|___4___|\
43
+ ---\
44
+ *prep*\
45
+ FORM<>*on*\
46
+ ---\
47
+ SPR<>〈<>〉\
48
+ COMPS<>〈<>|___5___|<>〉
49
+ on
50
+ ]
51
+ [#HEAD<>|___5___|\
52
+ ---\
53
+ *noun*\
54
+ ---\
55
+ SPR<>〈<>〉\
56
+ COMPS<>〈<>〉
57
+ Sandy
58
+ ]
59
+ ]
60
+ ]
61
+ ]
62
+ ```