This commit is contained in:
Yusuke Tanaka 2020-09-21 00:53:14 +09:00
parent fb1b0a4bff
commit 203358a0d5
No known key found for this signature in database
GPG key ID: 409D7EEE1E7A716A

View file

@ -72,7 +72,7 @@ Points of note:
* Trivia and non-trivia tokens are not distinguished on the type level. * Trivia and non-trivia tokens are not distinguished on the type level.
* Each token carries its full text. * Each token carries its full text.
* The original text can be recovered by concatenating the texts of all tokens in order. * The original text can be recovered by concatenating the texts of all tokens in order.
* Accessing a child of particular type (for example, parameter list of a function) generally involves linerary traversing the children, looking for a specific `kind`. * Accessing a child of particular type (for example, parameter list of a function) generally involves linear traversing the children, looking for a specific `kind`.
* Modifying the tree is roughly `O(depth)`. * Modifying the tree is roughly `O(depth)`.
We don't make special efforts to guarantee that the depth is not linear, but, in practice, syntax trees are branchy and shallow. We don't make special efforts to guarantee that the depth is not linear, but, in practice, syntax trees are branchy and shallow.
* If mandatory (grammar wise) node is missing from the input, it's just missing from the tree. * If mandatory (grammar wise) node is missing from the input, it's just missing from the tree.