parsing for all except subshells works, but still having problems with precedence.