expression parser

closes #9