Added an exception check in get_infix().
Changed the expression list to not use pointers. Internal tree handling is now done with a shared pointer.