This is a good idea. The tree constructed by a parser is relatively likely to want similar lifetimes for most of the nodes.
If the nodes are mutable you can link them together as you go, meaning some amount of overhead in the structure for links that aren't in use, but no garbage left behind.
Storing pointers as distance from the start of a contiguous arena means a structure you can mmap later without relocating.
If the nodes are mutable you can link them together as you go, meaning some amount of overhead in the structure for links that aren't in use, but no garbage left behind.
Storing pointers as distance from the start of a contiguous arena means a structure you can mmap later without relocating.
All good stuff.