more work on the c parser