C expression parser