parse expression into ast