math expression parser