Syntax Trees

The syntax trees used in the parsing stage in Feersum are based on the idea of Red / Green trees. Low level green nodes contain no position information. Higher level red nodes add ofsets and parent pointers to provide the full concrete syntax tree. We then provide a third layer built on top of this red tree in the Feersum.Syntax.Tree module. Each node in this tree provides a typed, lazy, and fault-tolerant view over the underlying tree.

For move information about the underlying syntax trees, as well as a discussion about the implementation in Firethorn, the library that Feersum uses, check out this blog post.