I\'m building a parsing tree which works quite simply: there\'s a base class for Node and the derived classes for different types of nodes. Children nodes are stored in a li