RSyntaxTree is a graphical syntax tree generator written in the Ruby programming language inspired by phpSyntaxTree.
Working web interface of is available at https://yohasebe.com/rsyntaxtree.
# gem install rsyntaxtree
For the web interface, see Usage section of https://yohasebe.com/rsyntaxtree.
For the command-line interface, type $rsyntaxtree -h
after installation. Here's what you get:
RSyntaxTree, (linguistic) syntax tree generator written in Ruby.
Usage:
rsyntaxtree [options] "[VP [VP [V set] [NP bracket notation]] [ADV here]]"
where [options] are:
-o, --outdir=<s> Output directory (default: ./)
-f, --format=<s> Output format: png, pdf, or svg (default: png)
-l, --leafstyle=<s> visual style of tree leaves: auto, triangle, bar, or nothing (default: auto)
-n, --fontstyle=<s> Font style: sans, serif, cjk (default: sans)
-t, --font=<s> Path to a ttf font used to generate tree (optional)
-s, --fontsize=<i> Size: 8-26 (default: 16)
-c, --color=<s> Color text and bars: on or off (default: on)
-y, --symmetrize=<s> Generate symmetrical, balanced tree: on or off (default: on)
-a, --autosub=<s> Put subscript numbers to nodes: on or off (default: off)
-m, --margin=<i> Margin: 0-120 (default: 0)
-v, --vheight=<f> Connector Height: 0.5-2.0 (default: 1.0)
-e, --version Print version and exit
-h, --help Show this message
Every branch or leaf of a tree must belong to a node. To create a node, place a label right next to the opening bracket. Arbitrary number of branches can follow with a preceding space.
There are several modes in which the connectors between terminal nodes and their leaves are drawn differently (auto, triangle, bar, and nothing). In auto mode, a triangle is used if the leaf contains one or more spaces inside (i.e. if it’s a phrase), but if it contains no spaces (i.e. if it is just a word), a straight bar will be drawn instead (unless the leaf contains a "^" symbol at the end which makes it a single-word phrase).
You can put a subscript to any node by putting the _ character between the main label and the subscript. For example, NP_TOP will be rendered as NPTOP. Or you can select the “Auto subscript” option so that nodes of the same label will be automatically numbered. (e.g. NP1, NP2)
See https://yohasebe.com/rsyntaxtree for more detailed info about the syntax.
Bracket notation (auto-subscript-on):
[S [NP RSyntaxTree^][VP [V generates][NP [Adj multilingual] [NP syntax trees]]]]
Resulting PNG
For the latest updates and downloads please visit http://github.com/yohasebe/rsyntaxtree
Yoichiro Hasebe yohasebe@gmail.com
RSyntaxTree is distributed under the MIT License.