Order of operations

I wanted to see if I could do something interesting using linked lists, so
I tried to write some JavaScript to do order of operations.
Here’s the link to the project: https://codepen.io/jbazant100/pen/pvzMGeY

It uses shrinking doubly-linked lists (where several nodes are replaced by one node repeatedly to do calculations)
and I used a tree structure and a recursive function call to deal with parenthesis. (I guess that I could have done the entire thing using a tree structure instead).